I386 mikrokood on lahti võetud ja loodud avatud lähtekoodiga z386 protsessor.

Entusiastid eraldasid ja demonteerisid edukalt Intel 80386 protsessori mikrokoodi, mida dokumentatsiooni puudumise tõttu peeti "mustaks kastiks". Mikrokoodi binaarkujutis loodi tehisintellekti abil uuesti kiibi kõrgresolutsiooniga fotode põhjal ja loogika dešifreeriti kiibile paigaldatud juhtmestiku abil. Mikrooperatsioonide struktuur, väljad, täitmisjärjekord ja käsu lõpu markerid määrati järk-järgult. Projekti tulemused on avaldatud GitHubis avaliku omandina.

I386 mikrokood on lahti võetud ja loodud avatud lähtekoodiga z386 protsessor.

Avastati, et 80386 protsessoris täidetakse iga käsk täielikult mikrokoodi abil, samas kui 8086 ja tänapäevastes protsessorites töödeldakse mõningaid käske otse. Lisaks, erinevalt 8086 protsessoritest, ei rakenda 80386 mikrokood otse algoritme, vaid konfigureerib peamiselt riistvaralisi kiirendeid (kordistaja, jagaja, kiirlüliti, PTU (kaitsetestiüksus)).

Uuring paljastas ka võimaliku turvaprobleemi IO-lubade bitkaardi käsitlemisel: 4-baidistele portidele juurdepääsu korral kontrolliti ainult esimese 3 baidi loabitte ja 4. baidile juurdepääsu ei kontrollitud, mis teoreetiliselt võimaldas juurdepääsu riistvararegistritele, millele ei tohiks ligipääs olla.

Avaldatud mikrokoodi põhjal töötati välja avatud lähtekoodiga z386 protsessor, mis rakendati SystemVerilogis ja töötas FPGA-l. Iga käsu rakendamise asemel eraldi RTL-ina (Register-Transfer Layer), rakendab z386 riistvarastruktuure, mida juhib algne mikrokood. Saadud rakenduse jõudlus vastab kiire 386 arvuti jõudlusele (~70 MHz). z386 käitas edukalt DOS 6/7, DOS/4GW, DOS/32A ja mänge nagu Doom ja Cannon Fodder.

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster