Entuzijasti su uspješno ekstraktirali i disasemblirali mikrokod Intel 80386 procesora, koji se zbog nedostatka dokumentacije smatrao "crnom kutijom". Binarna slika mikrokoda ponovno je stvorena uz pomoć AI iz fotografija kristala visoke rezolucije, a logika rada razrađena je putem praćenja veza na kristalu. Postupno su određene struktura mikrokomandi (μ-ops), polja, redoslijed izvođenja i oznake kraja instrukcija. Rezultati projekta objavljeni su na GitHubu kao javno dobro.

Otkriveno je da u CPU 80386 svaka instrukcija u potpunosti izvršava putem mikrokoda, dok se u 8086 i modernim procesorima dio instrukcija obrađuje izravno. Osim toga, za razliku od procesora 8086, u 80386 mikrokod ne implementira algoritme izravno, već uglavnom konfigurira hardverske akceleratore (množač, dijelnik, brzi pomak, PTU (Protection Test Unit)).
Tijekom istraživanja također je otkriven mogući problem s sigurnošću pri obradi bitmapped prava pristupa ulazno/izlaznim (IO permission bitmap): pri 4-bajtnoj obradi portova provjeravani su bitovi prava pristupa samo za prva 3 bajta, dok se pristup 4. bajtu nije provjeravao, što teoretski dopušta pristup hardverskim registrima kojima bi pristup trebao biti zabranjen.
Na temelju objavljenog mikrokoda razvijen je otvoreni CPU z386, implementiran na jeziku SystemVerilog i koji radi koristeći FPGA. Umjesto implementacije svake instrukcije u obliku posebnog RTL (Register-transfer level), u z386 su implementirane hardverske strukture kojima upravlja originalni mikrokod. Performanse pripremljene implementacije odgovaraju brzom 386 PC-u (~70MHz). Pod upravljanjem z386 uspješno su pokrenuti DOS 6/7, DOS/4GW, DOS/32A i igre poput Doom i Cannon Fodder.
Izvor: opennet.ru
