Enthousiastelingen hebben de microcode van de i386 gedissecteerd en een open CPU z386 gemaakt.

Enthousiasten is gelukt om de microcode van de Intel 80386-processor succesvol te extraheren en te disassembleren, die door het ontbreken van documentatie als een 'zwarte doos' werd beschouwd. De binaire afbeelding van de microcode werd opnieuw samengesteld met behulp van AI op basis van foto's van de chip in hoge resolutie, en de logica werd geanalyseerd door het traceren van de verbindingen op de chip. Geleidelijk werden de structuur van de microopdrachten (μ-ops), velden, uitvoeringsvolgorde en instructie-einde markers vastgesteld. De bevindingen van het project gepubliceerd zijn op GitHub als openbaar domein geplaatst.


Het is vastgesteld dat in de CPU 80386 elke instructie volledig wordt uitgevoerd via microcode, terwijl in de 8086 en moderne processoren een deel van de instructies rechtstreeks wordt verwerkt. Bovendien implementeert de 80386 microcode, in tegenstelling tot de 8086-processoren, geen algoritmes rechtstreeks, maar configureert voornamelijk hardwareversnellers (vermenigvuldiger, deler, snelle verschuiving, PTU (Protection Test Unit)).

Tijdens het onderzoek werd ook een mogelijke beveiligingskwestie ontdekt bij de verwerking van de toegangsmasker naar invoer/uitvoer (IO permission bitmap): bij een 4-byte toegang tot poorten werd de toegang alleen gecontroleerd voor de eerste 3 bytes, terwijl de toegang tot de 4e byte niet werd gecontroleerd, wat theoretisch toegang tot hardwareregisters mogelijk maakte, waarvan de toegang verboden zou moeten zijn.

Op basis van de gepubliceerde microcode is ontworpen de open CPU z386, geïmplementeerd in SystemVerilog en werkend met behulp van FPGA. In plaats van elke instructie als afzonderlijke RTL (wikipedia.org) (register-transfer level) te implementeren, zijn er hardwarestructuren in de z386 geïmplementeerd die worden bestuurd door de originele microcode. De prestaties van de voorbereide implementatie komen overeen met die van een snelle 386 PC (~70MHz). Onder de z386 is het met succes gelukt om DOS 6/7, DOS/4GW, DOS/32A en spellen zoals Doom en Cannon Fodder te draaien.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster