Lauko programuojamų vartų masyvai skamba sudėtingai, tačiau kūrėjams jie atveria visiškai naują pasaulį.
Jei kada nors skaitėte retro žaidimų emuliaciją, galbūt susidūrėte su puslaidininkių tipu, vadinamu lauko programuojamų vartų matrica (FPGA). Tai yra specialūs integriniai grandynai, kuriuos pagaminus galima iš naujo sukonfigūruoti dėl konfigūruojamų loginių blokų (CLB). Kitaip tariant, iš esmės galite perprogramuoti mikroschemų rinkinį, kad jis veiktų kaip bet kurios kitos rūšies skaitmeninės grandinės, turinčios daugybę taikomųjų AI, mikroschemų rinkinio dizaino ir kitų sričių.
FPGA turi daug naudojimo atvejų, o įrenginiai, tokie kaip Analogue Pocket, naudoja juos įvairiems delniniams įrenginiams palaikyti. Tačiau „Microsoft“ taip pat naudoja FPGA, kad maitintų „Bing“, nes tai leidžia įmonei greitai perprogramuoti juos, kad būtų palaikomi nauji algoritmai, kai jie kuriami.
FPGA ir tradiciniai procesoriai: koks skirtumas?
Priešingai nei standartinis mikroschemų rinkinys - Snapdragon 8 Gen 2
Pavyzdžiui, FPGA nėra sukurtas perprogramuoti lauke. Tai „System on Chip“ (SoC), sudaryta iš kelių dalių, įskaitant GPU, NPU ir procesorių. Kai jis bus išsiųstas, tai gaus vartotojai ir įmonės.Tačiau FPGA turi būti lankstūs, kad vartotojas galėtų keisti lusto dalis nesukeldamas jokių papildomų išlaidų ar rizikos. Greitai besivystančiose pramonės šakose, pvz., savaeigiuose automobiliuose, bet kuriuo metu gali būti įvesti nauji reglamentai ir standartai bet kuriam įrenginio aspektui. FPGA naudojimas gali leisti OTA naujinimui perprogramuoti lustą, kad būtų palaikomi nauji standartai.
Vienas didelis skirtumas tarp FPGA ir tradicinių procesorių yra tas, kad jie yra skirti apdoroti duomenis lygiagrečiai, taikant daug mažesnį laikrodžio greitį. Pavyzdžiui, FPGA su 10 duomenų apdorojimo konvejerių gali atlikti daugybos operacijas dviem skaičiais kiekvienam konvejeriui, padauginus 20 skaičių per ciklą. Tradicinis procesorius gali padauginti du skaičius per ciklą, vienam branduoliui ir iš eilės.
Kaip FPGA veikia emuliuojant?
FPGA dažnai naudojami aparatūros emuliacijai, o įdomi mikroschemų rinkinio projektavimo proceso dalis yra FPGA naudojimas įvairioms SoC dalims emuliuoti testuojant. Lustų rinkinių dizaineriai gali naudoti kelis FPGA, kad sukurtų specialios programos integrinio grandyno (ASIC) prototipą. Aparatūros aprašo kalba (HDL) naudojama kuriant aparatūros dizainą, ir ši kalba nurodo FPGA, kaip susitvarkyti. Analoginės kišenės atveju šie dizainai yra platinami kaip „branduoliai“, paprastai parašyti „Verilog“, o vartotojai gali atsisiųsti branduolį, kad paruoštų delninį kompiuterį konkrečioms konsolėms.
Pavyzdžiui, „Analogue Pocket“ gali skaityti „Game Boy“ žaidimus tiesiai į savo kasetės lizdą ir žaisti juos taip, lyg tai būtų originali konsolė. Ne tik tai, bet ir kasečių adapteriai papildo ir kitus įrenginius, tokius kaip Game Gear, Atari Lynx ir kt. Tai įmanoma tik dėl perprogramuojamo FPGA pobūdžio, kuris naudoja aparatūros emuliaciją, o ne programinę įrangą, kad užtikrintų, jog žaidimus galima žaisti. „MiSTer“ (kuris kaip pagrindas naudoja DE-10 Nano FPGA plokštę ir ant jos reikia papildomų modulių) yra panašus tuo, kad gali būti naudojamas mėgdžioti konsoles, tokias kaip SNES, Sega Genesis ir net GameCube. Aparatinės įrangos emuliacija paprastai yra tikslesnė nei programinės įrangos emuliacija, taip pat suteikia našumo pranašumų.
Nors aparatinė įranga sensta ir laikui bėgant gali tapti nepatikima, FPGA galima tiesiog perprogramuoti, kad būtų imituojama ta pati aparatinės įrangos patirtis.
Žinoma, tai nereiškia, kad branduoliai yra tobulas vienas su vienu DTL aiškinimas mikroschemų rinkiniui. Jie yra gana artimi, tačiau laikui bėgant branduoliai yra pataisomi ir patobulinami, kad būtų išspręstos problemos, kurios gali būti nustatytos naudojant įprastą naudojimą. Šios šerdys yra pagamintos atvirkštinės inžinerijos būdu į šiuos įrenginius patenkančius mikroschemų rinkinius, todėl jiems reikia nustatyti kiekvieną pagrindinės plokštės komponentą. Pasirinktiniuose patentuotuose mikroschemų rinkiniuose tai darosi dar sudėtingiau, todėl kūrėjams dažnai reikia pamatyti „neuždengtas“ lustas su mikroskopu, kad pamatytumėte, kas tiksliai vyksta lusto viduje, ir atkartokite jį.
Štai kodėl FPGA taip pat yra svarbūs aparatinės įrangos išsaugojimui. Nors aparatinė įranga sensta ir laikui bėgant gali tapti nepatikima, FPGA galima tiesiog perprogramuoti, kad būtų imituojama ta pati aparatinės įrangos patirtis. Lustas pertvarkys savo fizinę logiką savo viduje, kad atitiktų bet kokį jam suteiktą branduolį. OpenFPGA ekosistema sukurta taip, kad padėtų išsaugoti tą aparatinę įrangą.
Be to, jūs gaunate papildomą naudą žaisdami tuos žaidimus teisėtai, bet naudodami geresnę bendrą aparatinę įrangą. Galite pasiimti analoginę kišenę už 220 USD ir žaisti „Game Boy“ žaidimus taip, kaip žaistumėte anksčiau, tačiau su aukštesne kūrimo kokybe, geresne ekranu ir net doko palaikymu.
FPGA trūkumai
Tačiau yra keletas trūkumų. Iš pradžių jie užima daug daugiau vietos nei tradiciniai procesoriai, be to, jų gamyba yra žymiai brangesnė. Tokie įrenginiai kaip „Analogue Pocket“ ir „MiSTer FPGA“ kainuoja daug pinigų, o pastarasis atsiperka daugiau nei 500 USD, jei taip pat pasirinksite keletą priedų. Daugelis žmonių norėtų tiesiog mėgdžioti žaidimus savo išmaniuosiuose telefonuose ar kompiuteriuose ir nesirūpina tobulu pikselių tikslumu, kurį suteikia aparatinės įrangos lygio emuliacija.
Žinoma, FPGA taip pat yra šiek tiek pradiniame etape, o pastaraisiais metais jų populiarumas tik išaugo. Tiesą sakant, mokslininkai, mikroschemų rinkinių architektai, dirbtinis intelektas ir panašiai juos jau seniai naudoja profesionaliai, tačiau Tik pastaraisiais metais vartotojų prietaisai išaugo ir yra tinkami naudoti kasdieniškesniais ar entuziastingais būdais.
Daugumai žmonių, norinčių įsitraukti į emuliaciją, patogus specialus įrenginys, kuris garantuoja a originali patirtis vilioja, bet tai nėra kažkas, ko reikia ar net ne visiems rūpi. Asmeniškai, jei noriu žaisti tokį žaidimą kaip „Super Mario Bros“, džiaugiuosi galėdamas žaisti jį savo telefone kelyje. Man nereikia tam skirto įrenginio, bet suprantu, koks patrauklus yra jį turėti.