Field Programmable Gate Arrays se slišijo zapleteno, vendar razvijalcem odpirajo povsem nov svet.
Če ste kdaj brali o emulaciji retro iger, ste morda naleteli na tip polprevodnika, imenovan Field-Programmable Gate Array (FPGA). To so posebna integrirana vezja, ki se lahko po izdelavi sama rekonfigurirajo zahvaljujoč nastavljivim logičnim blokom (CLB). Z drugimi besedami, nabor čipov lahko v bistvu reprogramirate tako, da deluje kot katera koli druga vrsta digitalnega vezja, ki ima več aplikacij v AI, oblikovanju nabora čipov in na drugih področjih.
FPGA imajo veliko primerov uporabe in naprave, kot je Analogue Pocket, jih uporabljajo za podporo različnim ročnim napravam. Vendar Microsoft uporablja tudi FPGA za napajanje Binga, saj podjetju omogoča, da jih hitro reprogramira za podporo novim algoritmom, ko so razviti.
FPGA proti tradicionalnim procesorjem: Kakšna je razlika?
V nasprotju s standardnim naborom čipov — the Snapdragon 8 Gen 2, na primer — FPGA ni zasnovan za ponovno programiranje na terenu. To je sistem na čipu (SoC), sestavljen iz več delov, vključno z GPE, NPE in CPE. Ko bo poslano, bodo to prejeli potrošniki in podjetja.
FPGA pa naj bi bile voljne, tako da lahko uporabnik spremeni dele čipa brez dodatnih stroškov ali tveganj. V hitro razvijajočih se panogah, kot so samovozeči avtomobili, je mogoče kadar koli uvesti nove predpise in standarde za kateri koli vidik naprave. Uporaba FPGA lahko omogoči posodobitev OTA za reprogramiranje čipa za podporo novim standardom.
Ena velika razlika med FPGA in tradicionalnimi procesorji je, da so zasnovani za vzporedno obdelavo podatkov z veliko nižjo taktno frekvenco. Na primer, FPGA z 10 cevovodi za obdelavo podatkov lahko izvede operacije množenja dveh številk za vsak cevovod, pri čemer pomnoži 20 števil na cikel. Tradicionalni CPE lahko pomnoži dve števili na cikel, na jedro in v zaporednem vrstnem redu.
Kako FPGA delujejo za emulacijo?
FPGA se pogosto uporabljajo za emulacijo strojne opreme in zanimiv del procesa oblikovanja nabora čipov je uporaba FPGA za posnemanje različnih delov SoC pri testiranju. Oblikovalci čipov lahko uporabijo več FPGA za prototip aplikacijsko specifičnega integriranega vezja (ASIC). Jezik za opis strojne opreme (HDL) se uporablja za ustvarjanje zasnove strojne opreme in ta jezik pove FPGA, kako naj se uredi. V primeru Analogue Pocket so te zasnove razdeljene v obliki "jeder", ki so običajno napisana v Verilogu, in uporabniki lahko prenesejo jedro za pripravo dlančnika za določene konzole.
Na primer, Analogue Pocket lahko bere igre Game Boy neposredno v svoji reži za kartuše in jih predvaja, kot da bi bila originalna konzola. Ne samo to, adapterji kartuš dodajajo dodatno podporo tudi za druge naprave, kot so Game Gear, Atari Lynx in druge. To je mogoče le zaradi reprogramabilne narave FPGA, ki uporablja emulacijo strojne opreme namesto emulacije programske opreme, da zagotovi, da se igre lahko igrajo. MiSTer (ki kot osnovo uporablja ploščo DE-10 Nano FPGA in zahteva dodatne module na vrhu) je podoben v tem, da ga je mogoče uporabiti za posnemanje konzol, kot so SNES, Sega Genesis in celo GameCube. Emulacija strojne opreme je na splošno natančnejša od emulacije programske opreme, obenem pa nudi prednosti zmogljivosti.
Medtem ko se strojna oprema stara in lahko sčasoma postane nezanesljiva, je mogoče FPGA preprosto reprogramirati, da posnemajo isto izkušnjo strojne opreme.
Seveda to ne pomeni, da so jedra popolna HDL interpretacija nabora čipov ena proti ena. Prihajajo precej blizu, vendar se v jedra sčasoma izvedejo popravki in izboljšave, da se odpravijo težave, ki se lahko odkrijejo pri običajni uporabi. Ta jedra so izdelana z obratnim inženiringom naborov čipov, ki so vključeni v te naprave, in zahtevajo preslikavo vsake komponente na matični plošči. V lastniških naborih čipov po meri postane še težje, saj morajo razvijalci pogosto videti "nezaprt" čip z mikroskopom, da vidimo, kaj se točno dogaja znotraj čipa, in to ponovimo.
Zato so FPGA pomembni tudi za ohranjanje strojne opreme. Medtem ko se strojna oprema stara in lahko sčasoma postane nezanesljiva, je mogoče FPGA preprosto reprogramirati, da posnemajo isto izkušnjo strojne opreme. Čip bo preuredil svojo lastno fizično logiko v sebi, da se bo ujemal s katerim koli jedrom, ki mu je dano. Ekosistem openFPGA je zasnovan tako, da pomaga pri ohranjanju te strojne opreme.
Poleg tega dobite dodatno prednost igranja teh iger na legitimen način, vendar na boljši splošni strojni opremi. Kupite lahko Analogue Pocket za 220 $ in igrate igre Game Boy tako kot v preteklosti, vendar z višjo kakovostjo izdelave, boljšim zaslonom in celo podporo za priklopno postajo.
Slabosti FPGA
Vendar pa obstaja nekaj pomanjkljivosti. Za začetek zavzamejo veliko več prostora kot tradicionalni procesorji, poleg tega pa so bistveno dražji za proizvodnjo. Naprave, kot sta Analogue Pocket in MiSTer FPGA, stanejo veliko denarja, pri čemer vam slednja povrne več kot 500 USD, če poleg tega izberete tudi nekaj dodatkov. Večina ljudi bi raje posnemala igre na svojih pametnih telefonih ali računalnikih in jim ni mar za slikovno popolno natančnost, ki jo zagotavlja emulacija na ravni strojne opreme.
Seveda so tudi FPGA nekoliko v povojih, povezanih s potrošniki, njihova priljubljenost pa se je povečala šele v zadnjih letih. V primerih profesionalne uporabe s strani znanstvenikov, arhitektov naborov čipov, umetne inteligence in podobnih so dejansko že dolgo prisotni, vendar šele v zadnjih letih so se pojavile potrošniške naprave, ki so primerne za uporabo na bolj priložnostne ali navdušence načine.
Za večino ljudi, ki se želijo vključiti v emulacijo, je udobje namenske naprave, ki zagotavlja a pristna izvirna izkušnja je vabljiva, vendar ni nekaj, kar vsi potrebujejo ali jim je mar. Osebno, če želim igrati igro, kot je Super Mario Bros, jo z veseljem igram na svojem telefonu na poti. Za to ne potrebujem posebne naprave, vendar razumem privlačnost, da jo imam.