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 veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster