Nadšenci disasembliovali mikrokód i386 a vytvorili otvorený CPU z386

Nadšenci dokázali úspešne extrahovať a disasembly mikrokód procesora Intel 80386, ktorý sa považoval za "čiernu skrinku" kvôli absencii dokumentácie. Binárny obraz mikrokódu bol obnovený s pomocou AI na základe fotografií krystalu vo vysokom rozlíšení, pričom logika práce bola analyzovaná sledovaním spojení na krystale. Postupne boli identifikované štruktúra mikrokamienok (μ-ops), polia, poradie vykonávania a markery konca inštrukcií. Výsledky projektu boli publikované sú na GitHub ako verejný majetok.


Zistilo sa, že v CPU 80386 sa každá inštrukcia vykonáva úplne cez mikrokód, pričom v 8086 a moderných procesoroch sa časť inštrukcií spracováva priamo. Okrem toho, na rozdiel od procesorov 8086, v 80386 mikrokód neimplementuje algoritmy priamo, ale hlavne nastavuje hardvérové urýchlovače (násobič, delenie, rýchly posun, PTU (Protection Test Unit)).

Počas výskumu bola tiež objavená možná bezpečnostná chyba pri spracovaní bitmapy prístupových práv k vstupu/výstupu (IO permission bitmap): pri 4-bytovom prístupe k portom sa kontrolovali bity prístupových práv len pre prvé 3 byty, zatiaľ čo prístup k 4. bytu sa nekontroloval, čo teoreticky umožnilo prístup k hardvérovým registračným miestam, ku ktorým by mal byť prístup zakázaný.

Na základe zverejneného mikrokódu bol vyvinutý otvorený CPU z386, realizovaný v jazyku SystemVerilog a fungujúci s využitím FPGA. Namiesto implementácie každej inštrukcie vo forme samostatného RTL (wikipedia.org) (Register-transfer level) sú v z386 implementované hardvérové štruktúry, ktoré sú riadené originálnym mikrokódom. Výkon pripraveného realizácie zodpovedá rýchlemu 386 PC (~70MHz). Pod riadením z386 sa úspešne spustil DOS 6/7, DOS/4GW, DOS/32A a hry ako Doom a Cannon Fodder.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster