Teostatud mikrokoodi i386 dekompileerimine ja avatud CPU z386 loomine

Entusiastid suutsid edukalt tuua välja ja disassembeldada Intel 80386 protsessori mikrokoodi, mida dokumentatsiooni puudumise tõttu peeti "mustaks kastiks". Mikrokoodi binaarset pilti taastati AI abiga kõrge eraldusvõimega kristalli fotode põhjal ning tööloogikat analüüsiti kristalli ühenduste jälgimise kaudu. Aja jooksul määratleti mikrokäskude (μ-ops) struktuur, väljad, täitmise järjekord ja käskude lõppemise märgid. Projekti tulemused on avaldatud GitHubis avaliku domeenina.

Teostatud mikrokoodi i386 dekompileerimine ja avatud CPU z386 loomine

Selgus, et CPU 80386 puhul täidetakse iga käsku täielikult läbi mikrokoodi, samas kui 8086 ja kaasaegsetes protsessorites töödeldakse osa käskudest otse. Lisaks sellele, erinevalt 8086 protsessoritest, ei teosta 80386 mikrokood algoritme otse, vaid peamiselt konfigureerib riistvarakiirendajaid (korrutaja, jagaja, kiire nihke, PTU (Protection Test Unit)).

Uuringu käigus avastati ka võimalike turvaprobleemide võimalus, kui töötatakse sisenemise/käitumise bitikaardi (IO permission bitmap) üle: 4-baidi primitiivse õigusmääramise kontrollimisel kontrolliti õigusi vaid esimese kolme baidi jaoks, kuid neljanda baidi juurdepääs ei kontrollitud, mis teoreetiliselt võimaldas juurdepääsu riistvararegistreerimisele, mille juurde pääs oli keelatud.

Avaldatud mikrokoodi põhjal on välja töötatud avatud CPU z386, mis on rakendatud SystemVerilog keeles ja töötab FPGA abil. Erinevalt iga käsu rakendamisest eraldi RTL (Register-transfer level) vormis, on z386-s rakendatud riistvarastruktuure, mida juhib originaalne mikrokood. Valmistatud lahenduse jõudlus vastab kiire 386 PC (~70MHz) jõudlusele. Z386 all suudeti edukalt käivitada DOS 6/7, DOS/4GW, DOS/32A ning mänge nagu Doom ja Cannon Fodder.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster