Mitä ovat FPGA: t?

Field Programmable Gate Arrays kuulostavat monimutkaisilta, mutta ne avaavat täysin uuden maailman kehittäjille.

Jos olet koskaan perehtynyt retropelien emulointiin, olet ehkä törmännyt puolijohdetyyppiin, jota kutsutaan Field-Programmable Gate Arrayksi (FPGA). Nämä ovat erityisiä integroituja piirejä, jotka voivat konfiguroida itsensä uudelleen valmistuksen jälkeen konfiguroitavien logiikkalohkojen (CLB) ansiosta. Toisin sanoen voit periaatteessa ohjelmoida piirisarjan uudelleen toimimaan minkä tahansa muun tyyppisenä digitaalisena piirinä, jolla on useita sovelluksia tekoälyssä, piirisarjan suunnittelussa ja muilla aloilla.

FPGA: lla on monia käyttötapauksia, ja laitteet, kuten Analogue Pocket, käyttävät niitä tukemaan erilaisia ​​kämmenlaitteita. Microsoft kuitenkin käyttää myös FPGA: ta Bingin tehostamiseen, koska sen avulla yritys voi nopeasti ohjelmoida ne uudelleen tukemaan uusia algoritmeja niitä kehitettäessä.

FPGA vs. perinteiset prosessorit: Mitä eroa on?

Toisin kuin tavallinen piirisarja -

Snapdragon 8 Gen 2esimerkiksi — FPGA: ta ei ole suunniteltu uudelleenohjelmoitavaksi kentällä. Se on System on Chip (SoC), joka koostuu useista osista, mukaan lukien GPU, NPU ja CPU. Kun se on lähetetty, kuluttajat ja yritykset saavat sen.

FPGA: t on kuitenkin tarkoitettu muokattaviksi, jotta käyttäjä voi vaihtaa sirun osia aiheuttamatta lisäkustannuksia tai riskejä. Nopeasti kehittyvillä aloilla, kuten itseohjautuvissa autoissa, uusia säännöksiä ja standardeja voidaan ottaa käyttöön milloin tahansa laitteen mille tahansa osalle. FPGA: n käyttö voi mahdollistaa OTA-päivityksen, joka ohjelmoi sirun uudelleen tukemaan uusia standardeja.

Yksi suuri ero FPGA: iden ja perinteisten prosessorien välillä on, että ne on suunniteltu käsittelemään tietoja rinnakkain kompromissilla paljon pienemmällä kellotaajuudella. Esimerkiksi FPGA, jossa on 10 liukuhihnaa tietojenkäsittelyä varten, voi suorittaa kertolaskuoperaatioita kahdelle luvulle jokaiselle liukuhihnalle kertomalla 20 numeroa jaksoa kohden. Perinteinen CPU voi kertoa kaksi numeroa jaksoa, ydintä kohti ja peräkkäisessä järjestyksessä.

Miten FPGA: t toimivat emuloinnissa?

FPGA: ita käytetään usein laitteistoemulointiin, ja mielenkiintoinen osa piirisarjan suunnitteluprosessia on FPGA: iden käyttö SoC: n eri osien emulointiin testauksessa. Piirisarjasuunnittelijat voivat käyttää useita FPGA: ita sovelluskohtaisen integroidun piirin (ASIC) prototyyppiin. Hardware Description Language (HDL) -kieltä käytetään laitteistosuunnittelun luomiseen, ja tämä kieli kertoo FPGA: lle, kuinka se järjestää itsensä. Analogue Pocketin tapauksessa nämä mallit jaetaan "ytimien" muodossa, jotka on tyypillisesti kirjoitettu Verilogissa, ja käyttäjät voivat ladata ytimen valmistellakseen kämmenlaitteen tiettyjä konsoleita varten.

Esimerkiksi Analogue Pocket voi lukea Game Boy -pelejä suoraan kasettipaikassaan ja pelata niitä ikään kuin se olisi alkuperäinen konsoli. Ei vain sitä, vaan kasettisovittimet lisäävät lisätukea myös muille laitteille, kuten Game Gearille, Atari Lynxille ja muille. Tämä on mahdollista vain FPGA: n uudelleenohjelmoitavan luonteen vuoksi. Se käyttää laitteistoemulointia ohjelmistoemuloinnin sijaan varmistaakseen, että pelejä voidaan pelata. MiSTer (joka käyttää pohjana DE-10 Nano FPGA -korttia ja vaatii sen päälle lisämoduuleja) on samanlainen siinä mielessä, että sitä voidaan käyttää emuloimaan konsoleita, kuten SNES, Sega Genesis ja jopa Peli kuutio. Laitteistoemulointi on yleensä tarkempaa kuin ohjelmistoemulointi, mutta tarjoaa myös suorituskykyetuja.

Vaikka laitteisto vanhenee ja voi muuttua epäluotettavaksi ajan myötä, FPGA: t voidaan yksinkertaisesti ohjelmoida uudelleen jäljittelemään samaa laitteistokokemusta.

Tämä ei tietenkään tarkoita, että ytimet olisivat täydellinen yksi-yhteen HDL-tulkinta piirisarjasta. Ne ovat melko lähellä, mutta ytimiin tehdään korjauksia ja parannuksia ajan myötä normaalikäytössä mahdollisesti havaittavien ongelmien korjaamiseksi. Nämä ytimet valmistetaan käänteistekniikalla näihin laitteisiin menevät piirisarjat, ja ne edellyttävät emolevyn jokaisen komponentin kartoittamista. Mukautetuissa patentoiduissa piirisarjoissa se on vielä vaikeampaa, ja kehittäjien on usein nähtävä se "Korjaton" siru mikroskoopilla nähdäkseen, mitä sirun sisällä oikein tapahtuu, ja kopioida se.

Siksi FPGA: t ovat tärkeitä myös laitteiston säilyttämisen kannalta. Vaikka laitteisto vanhenee ja voi muuttua epäluotettavaksi ajan myötä, FPGA: t voidaan yksinkertaisesti ohjelmoida uudelleen jäljittelemään samaa laitteistokokemusta. Siru järjestää uudelleen oman fyysisen logiikkansa sisällään vastaamaan mitä tahansa sille annettua ydintä. OpenFPGA-ekosysteemi on suunniteltu auttamaan laitteiston säilyttämisessä.

Tämän lisäksi saat lisäedun pelaamalla näitä pelejä oikeutetulla tavalla, mutta paremmalla kokonaislaitteistolla. Voit hankkia analogisen taskun 220 dollarilla ja pelata Game Boy -pelejä aivan kuten ennenkin, mutta paremmalla rakennuslaadulla, paremmalla näytöllä ja jopa telakointituella.

FPGA: n haitat

DE-10 Nano MiSTer FPGA -koontiversiolle

Siinä on kuitenkin muutamia haittoja. Aluksi ne vievät paljon enemmän tilaa kuin perinteiset prosessorit, ja ne ovat myös huomattavasti kalliimpia valmistaa. Laitteet, kuten Analogue Pocket ja MiSTer FPGA, maksavat paljon rahaa, ja jälkimmäinen maksaa sinulle yli 500 dollaria, jos hankit myös muutaman lisäosan. Useimmat ihmiset haluavat vain emuloida pelejä älypuhelimillaan tai tietokoneillaan eivätkä välitä laitteistotason emuloinnin tarjoamasta pikselin täydellisestä tarkkuudesta.

Tietenkin FPGA: t ovat myös jonkin verran kuluttajiin liittyvissä lapsenkengissään, ja niiden suosio on vain lisääntynyt viime vuosina. Ne ovat itse asiassa olleet olemassa yhtä kauan ammattikäyttöön tutkijoiden, piirisarjaarkkitehtien, tekoälyn ja muiden vastaavien toimesta, mutta Vasta viime vuosina kuluttajalaitteet ovat yleistyneet ja ovat käyttökelpoisia rennommalla tai innostuneemmalla tavalla.

Useimmille ihmisille, jotka haluavat päästä emuloimaan, omistettu laite, joka takaa a alkuperäinen kokemus on houkutteleva, mutta se ei ole jotain, jota kaikki tarvitsevat tai edes välittävät. Henkilökohtaisesti, jos haluan pelata Super Mario Brosin kaltaista peliä, olen iloinen voidessani pelata sitä puhelimellani ollessani liikkeellä. En tarvitse siihen erillistä laitetta, mutta ymmärrän sellaisen houkuttelevuuden.