Field Programmable Gate Arrays izklausās sarežģīti, taču tie izstrādātājiem paver pilnīgi jaunu pasauli.
Ja esat kādreiz lasījis par retro spēļu emulāciju, iespējams, esat saskāries ar pusvadītāju tipu, ko sauc par lauka programmējamo vārtu masīvu (FPGA). Tās ir īpašas integrētās shēmas, kuras pēc izgatavošanas var pārkonfigurēt, pateicoties konfigurējamiem loģikas blokiem (CLB). Citiem vārdiem sakot, jūs varat pārprogrammēt mikroshēmojumu, lai tas darbotos kā jebkura cita veida digitālā shēma, kurai ir vairākas lietojumprogrammas AI, mikroshēmojuma dizainā un citās jomās.
FPGA ir daudz lietošanas gadījumu, un tādas ierīces kā Analogue Pocket izmanto tos, lai atbalstītu dažādas rokas ierīces. Tomēr Microsoft arī izmanto FPGA, lai darbinātu Bing, jo tas ļauj uzņēmumam ātri pārprogrammēt tos, lai atbalstītu jaunus algoritmus, kad tie tiek izstrādāti.
FPGA pret tradicionālajiem CPU: kāda ir atšķirība?
Atšķirībā no standarta mikroshēmojuma - Snapdragon 8 Gen 2Piemēram, FPGA nav paredzēts pārprogrammēšanai laukā. Tā ir sistēma mikroshēmā (SoC), kas sastāv no vairākām daļām, tostarp GPU, NPU un CPU. Kad tas ir nosūtīts, to saņems patērētāji un uzņēmumi.
Tomēr FPGA ir paredzēts kaļamam, lai lietotājs varētu mainīt mikroshēmas daļas, neradot nekādas papildu izmaksas vai riskus. Strauji mainīgās nozarēs, piemēram, pašpiedziņas automobiļos, jaunus noteikumus un standartus var ieviest jebkurā laikā jebkuram ierīces aspektam. FPGA izmantošana var nodrošināt OTA atjauninājumu, lai pārprogrammētu mikroshēmu, lai atbalstītu jaunus standartus.
Viena liela atšķirība starp FPGA un tradicionālajiem centrālajiem procesoriem ir tā, ka tie ir paredzēti datu paralēlai apstrādei ar kompromisu ar daudz mazāku takts ātrumu. Piemēram, FPGA ar 10 konveijeriem datu apstrādei var izpildīt reizināšanas darbības ar diviem skaitļiem katram konveijeram, reizinot 20 skaitļus ciklā. Tradicionālais CPU var reizināt divus skaitļus ciklā, kodolā un secīgā secībā.
Kā FPGA darbojas emulācijai?
FPGA bieži izmanto aparatūras emulācijai, un interesanta mikroshēmojuma izstrādes procesa daļa ir FPGA izmantošana, lai testēšanā emulētu dažādas SoC daļas. Mikroshēmojumu izstrādātāji var izmantot vairākas FPGA, lai izveidotu lietojumprogrammai specifiskas integrālās shēmas (ASIC) prototipu. Aparatūras apraksta valoda (HDL) tiek izmantota, lai izveidotu aparatūras dizainu, un šī valoda norāda FPGA, kā sevi sakārtot. Analogās kabatas gadījumā šie dizaini tiek izplatīti "kodolu" veidā, kas parasti tiek rakstīti Verilog, un lietotāji var lejupielādēt kodolu, lai sagatavotu rokas ierīci noteiktām konsolēm.
Piemēram, Analogā kabata var lasīt Game Boy spēles tieši savā kasetnes slotā un spēlēt tās tā, it kā tā būtu oriģinālā konsole. Ne tikai tas, bet arī kasetņu adapteri pievieno papildu atbalstu arī citām ierīcēm, piemēram, Game Gear, Atari Lynx un citām ierīcēm. Tas ir iespējams tikai tāpēc, ka FPGA ir pārprogrammējams, kas izmanto aparatūras emulāciju, nevis programmatūras emulāciju, lai nodrošinātu spēļu spēlēšanu. MiSTer (kuram par pamatu tiek izmantota DE-10 Nano FPGA plate un tam ir nepieciešami papildu moduļi) ir līdzīgs, jo to var izmantot, lai atdarinātu tādas konsoles kā SNES, Sega Genesis un pat GameCube. Aparatūras emulācija parasti ir precīzāka nekā programmatūras emulācija, vienlaikus piedāvājot arī veiktspējas priekšrocības.
Lai gan aparatūra noveco un laika gaitā var kļūt neuzticama, FPGA var vienkārši pārprogrammēt, lai līdzinātu to pašu aparatūras pieredzi.
Protams, tas nenozīmē, ka serdeņi ir ideāla mikroshēmojuma HDL interpretācija viens pret vienu. Tie ir diezgan tuvu, taču laika gaitā kodoliem tiek veikti labojumi un uzlabojumi, lai novērstu problēmas, kas var tikt konstatētas parastā lietošanā. Šie kodoli ir izgatavoti, apgrieztā inženierijā šajās ierīcēs iekļautās mikroshēmojuma kopas, un tām ir nepieciešams kartēt katru mātesplates komponentu. Pielāgotajās patentētajās mikroshēmojumos tas kļūst vēl grūtāks, jo izstrādātājiem tas bieži ir jāredz "neaizverta" mikroshēma ar mikroskopu, lai redzētu, kas tieši notiek mikroshēmas iekšpusē, un to atkārtot.
Tāpēc FPGA ir svarīgas arī aparatūras saglabāšanai. Lai gan aparatūra noveco un laika gaitā var kļūt neuzticama, FPGA var vienkārši pārprogrammēt, lai līdzinātu to pašu aparatūras pieredzi. Mikroshēma pārkārtos savu fizisko loģiku sevī, lai tā atbilstu jebkuram tai piešķirtajam kodolam. OpenFPGA ekosistēma ir izstrādāta, lai palīdzētu saglabāt šo aparatūru.
Turklāt jūs iegūstat papildu priekšrocības, spēlējot šīs spēles likumīgā veidā, bet ar labāku vispārējo aparatūru. Varat paņemt analogo kabatu par USD 220 un spēlēt Game Boy spēles tāpat kā agrāk, taču ar augstāku uzbūves kvalitāti, labāku ekrānu un pat dokstacijas atbalstu.
FPGA trūkumi
Tomēr ir daži trūkumi. Sākumā tie aizņem daudz vairāk vietas nekā tradicionālie CPU, un to ražošana ir arī ievērojami dārgāka. Ierīces, piemēram, Analogue Pocket un MiSTer FPGA, maksā daudz naudas, ar pēdējo atmaksājot vairāk nekā 500 USD, ja izmantojat arī dažus papildinājumus. Lielākā daļa cilvēku vienkārši vēlētos līdzināties spēlēm savos viedtālruņos vai datoros un nerūpējas par perfektu pikseļu precizitāti, ko nodrošina aparatūras līmeņa emulācija.
Protams, arī FPGA ir nedaudz sākumposmā, kas saistīta ar patērētājiem, un to popularitāte ir pieaugusi tikai pēdējos gados. Zinātnieki, mikroshēmojuma arhitekti, mākslīgais intelekts un tamlīdzīgi tos jau tik ilgi izmanto profesionālai lietošanai, taču Tikai pēdējos gados patērētāju ierīces ir izplatījušās un ir piemērotas lietošanai ikdienas vai entuziastu vajadzībām.
Lielākajai daļai cilvēku, kas vēlas iesaistīties emulācijā, īpašas ierīces ērtības, kas garantē a patiesa sākotnējā pieredze ir vilinoša, taču tā nav kaut kas tāds, kas ikvienam ir vajadzīgs vai pat nerūp. Personīgi, ja es vēlos spēlēt tādu spēli kā Super Mario Bros, es labprāt to vienkārši spēlēju savā tālrunī, atrodoties ceļā. Man tam nav vajadzīga īpaša ierīce, taču es saprotu, ka tāda ir.