Entûsjasters hawwe mei súkses de mikrokoade fan in Intel 80386-prosessor ekstrahearre en ûntmantele, dy't beskôge waard as in "swarte doaze" fanwegen in gebrek oan dokumintaasje. In binêre ôfbylding fan 'e mikrokoade waard opnij makke mei help fan AI fan hege-resolúsje foto's fan 'e die, en de logika waard ûntsifere mei help fan on-die-bedrading. De mikro-ops-struktuer, fjilden, útfieringsfolchoarder en ein-fan-ynstruksje-markers waarden stadichoan bepaald. De befiningen fan it projekt binne publisearre op GitHub as iepenbier domein.

It waard ûntdutsen dat yn 'e 80386 CPU elke ynstruksje folslein fia mikrokoade útfierd wurdt, wylst yn 'e 8086 en moderne prosessors guon ynstruksjes direkt ferwurke wurde. Fierder, oars as yn 'e 8086-prosessors, ymplementearret de mikrokoade yn 'e 80386 gjin direkt algoritmen, mar konfigurearret it primêr hardwarefersnellers (multiplier, divider, fast shifter, PTU (Protection Test Unit)).
De stúdzje ûntbleat ek in potinsjeel feiligensprobleem yn 'e ôfhanneling fan' e IO-tastimmingsbitmap: by tagong ta 4-byte-poarten waarden allinich de tastimmingsbits foar de earste 3 bytes kontrolearre, en tagong ta de 4e byte waard net kontrolearre, wat teoretysk tagong ta hardwareregisters tastie dy't net tagonklik wêze moatte.
Op basis fan publisearre mikrokoade waard in iepen-boarne z386 CPU ûntwikkele, ymplementearre yn SystemVerilog en rinnende op in FPGA. Ynstee fan elke ynstruksje te ymplementearjen as in aparte RTL (Register-Transfer Layer), ymplementearret de z386 hardwarestrukturen dy't wurde kontroleare troch de orizjinele mikrokoade. De prestaasjes fan 'e resultearjende ymplemintaasje komme oerien mei dy fan in rappe 386 PC (~70 MHz). De z386 draaide mei súkses DOS 6/7, DOS/4GW, DOS/32A, en spultsjes lykas Doom en Cannon Fodder.
Boarne: opennet.ru
