Čo sú FPGA?

click fraud protection

Field Programmable Gate Arrays znie komplikovane, no vývojárom otvárajú úplne nový svet.

Ak ste niekedy čítali o emulácii retro hier, možno ste sa stretli s polovodičovým typom nazývaným Field-Programmable Gate Array (FPGA). Ide o špeciálne integrované obvody, ktoré sa po vyrobení dokážu samy prekonfigurovať vďaka konfigurovateľným logickým blokom (CLB). Inými slovami, čipovú súpravu môžete v podstate preprogramovať tak, aby fungovala ako akýkoľvek iný typ digitálneho obvodu, ktorý má viacero aplikácií v oblasti AI, návrhu čipovej sady a ďalších oblastiach.

FPGA majú veľa prípadov použitia a zariadenia ako Analogue Pocket ich využívajú na podporu rôznych vreckových zariadení. Microsoft však tiež používa FPGA na napájanie Bingu, pretože umožňuje spoločnosti rýchlo ich preprogramovať tak, aby podporovali nové algoritmy pri ich vývoji.

FPGA vs tradičné CPU: Aký je rozdiel?

Na rozdiel od štandardnej čipovej sady — Snapdragon 8 Gen 2, napríklad — FPGA nie je navrhnuté na preprogramovanie v teréne. Je to systém na čipe (SoC) zložený z viacerých častí vrátane GPU, NPU a CPU. Po odoslaní to dostanú spotrebitelia a podniky.

FPGA však majú byť tvárne, takže používateľ môže meniť časti čipu bez toho, aby to znamenalo dodatočné náklady alebo riziká. V rýchlo sa rozvíjajúcich odvetviach, ako sú autá s vlastným pohonom, môžu byť kedykoľvek zavedené nové predpisy a normy pre akýkoľvek aspekt zariadenia. Použitie FPGA môže umožniť aktualizáciu OTA na preprogramovanie čipu na podporu nových štandardov.

Jeden veľký rozdiel medzi FPGA a tradičnými CPU je v tom, že sú navrhnuté tak, aby spracovávali dáta paralelne s oveľa nižšou rýchlosťou hodín. Napríklad FPGA s 10 potrubiami na spracovanie údajov môže vykonávať operácie násobenia na dvoch číslach v každom potrubí, pričom sa vynásobí 20 čísel na cyklus. Tradičný CPU môže vynásobiť dve čísla za cyklus, na jadro a v sekvenčnom poradí.

Ako fungujú FPGA pri emulácii?

FPGA sa často používajú na emuláciu hardvéru a zaujímavou súčasťou procesu návrhu čipovej sady je použitie FPGA na emuláciu rôznych častí SoC pri testovaní. Návrhári čipsetov môžu použiť viacero FPGA na prototypovanie aplikačne špecifického integrovaného obvodu (ASIC). Hardvérový popisný jazyk (HDL) sa používa na vytvorenie hardvérového dizajnu a tento jazyk hovorí FPGA, ako sa má usporiadať. V prípade Analogue Pocket sú tieto návrhy distribuované vo forme „jadier“ zvyčajne napísaných vo Verilog a používatelia si môžu stiahnuť jadro na prípravu handheldu pre konkrétne konzoly.

Napríklad Analogue Pocket dokáže čítať hry Game Boy priamo v slote pre kazety a hrať ich, ako keby to bola pôvodná konzola. Nielen to, ale adaptéry kaziet pridávajú ďalšiu podporu aj pre iné zariadenia, ako napríklad Game Gear, Atari Lynx a ďalšie. To je možné len vďaka preprogramovateľnej povahe FPGA, ktorá využíva emuláciu hardvéru namiesto emulácie softvéru, aby sa zabezpečilo, že hry sa budú dať hrať. MiSTer (ktorý používa ako základ dosku DE-10 Nano FPGA a vyžaduje nad ňou ďalšie moduly) je podobný v tom, že ho možno použiť na emuláciu konzol ako SNES, Sega Genesis a dokonca aj GameCube. Emulácia hardvéru je vo všeobecnosti presnejšia ako emulácia softvéru a zároveň ponúka výhody výkonu.

Zatiaľ čo hardvér starne a časom sa môže stať nespoľahlivým, FPGA možno jednoducho preprogramovať tak, aby emulovali rovnaký hardvérový zážitok.

To samozrejme neznamená, že jadrá sú dokonalou HDL interpretáciou čipsetu jedna k jednej. Sú dosť blízko, ale jadrá sa v priebehu času opravujú a vylepšujú, aby sa vyriešili problémy, ktoré možno identifikovať pri bežnom používaní. Tieto jadrá sú vyrobené reverzným inžinierstvom čipových súprav, ktoré vstupujú do týchto zariadení, a vyžadujú zmapovanie každého komponentu na základnej doske. Vo vlastných proprietárnych čipsetoch je to ešte ťažšie, vývojári to často potrebujú vidieť "nezaviečkovaný" čip s mikroskopom, aby ste videli, čo sa presne deje vo vnútri čipu a replikovali to.

Preto sú FPGA dôležité aj pre zachovanie hardvéru. Zatiaľ čo hardvér starne a časom sa môže stať nespoľahlivým, FPGA možno jednoducho preprogramovať tak, aby emulovali rovnaký hardvérový zážitok. Čip v sebe preusporiada svoju vlastnú fyzickú logiku tak, aby zodpovedala akémukoľvek jadru, ktoré má. Ekosystém openFPGA je navrhnutý tak, aby pomáhal pri zachovaní tohto hardvéru.

Okrem toho získate ďalšiu výhodu hrania týchto hier legitímnym spôsobom, ale na celkovom lepšom hardvéri. Môžete si vyzdvihnúť Analogue Pocket za 220 dolárov a hrať hry Game Boy rovnako ako v minulosti, ale s vyššou kvalitou zostavenia, lepšou obrazovkou a dokonca podporou doku.

Nevýhody FPGA

DE-10 Nano pre zostavu MiSTer FPGA

Existuje však niekoľko nevýhod. Na začiatok zaberú oveľa viac miesta ako tradičné CPU a sú tiež podstatne drahšie na výrobu. Zariadenia ako Analogue Pocket a MiSTer FPGA stoja veľa peňazí, pričom za druhé dostanete viac ako 500 dolárov, ak si vyberiete aj niekoľko doplnkov. Väčšina ľudí by radšej emulovala hry na svojich smartfónoch alebo počítačoch a nestarala sa o dokonalú presnosť pixelov, ktorú poskytuje emulácia na úrovni hardvéru.

Samozrejme, FPGA sú tiež trochu v plienkach súvisiacich so spotrebiteľmi, pričom ich popularita stúpa až v posledných rokoch. V skutočnosti existujú tak dlho v prípadoch profesionálneho použitia vedcami, architektmi čipsetov, AI a podobne, ale len v posledných rokoch sa objavili spotrebiteľské zariadenia, ktoré sú životaschopné pre bežné alebo nadšené spôsoby.

Pre väčšinu ľudí, ktorí sa chcú dostať do emulácie, je pohodlie špecializovaného zariadenia, ktoré zaručuje a verný zážitok je lákavý, no nie je to niečo, čo by každý potreboval alebo sa o to zaujímal. Osobne, ak si chcem zahrať hru ako Super Mario Bros, rád si ju zahrám na svojom telefóne na cestách. Nepotrebujem na to špeciálne zariadenie, ale chápem príťažlivosť takéhoto zariadenia.