Des passionnés ont désassemblé le microcode i386 et créé un CPU z386 ouvert

Les passionnés ont pu extraire et désassembler avec succès le microcode du processeur Intel 80386, qui était considéré comme une « boîte noire » en raison de l'absence de documentation. L'image binaire du microcode a été recréée avec l'aide de l'IA à partir de photos haute résolution de la puce, et la logique de fonctionnement a été analysée grâce à la cartographie des connexions sur la puce. Au fur et à mesure, la structure des micro-instructions (μ-ops), les champs, l'ordre d'exécution et les marqueurs de fin d'instruction ont été identifiés. Les travaux du projet publiés sont disponibles sur GitHub en tant que domaine public.


Il a été constaté que dans le CPU 80386, chaque instruction est complètement exécutée via le microcode, tandis que dans les 8086 et les processeurs modernes, une partie des instructions est traitée directement. De plus, contrairement aux processeurs 8086, dans le 80386, le microcode ne réalise pas les algorithmes directement, mais configure principalement les accélerateurs matériels (multiplicateur, diviseur, décalage rapide, PTU (Protection Test Unit)).

Dans le cadre de l'étude, un éventuel problème de sécurité a également été découvert lors du traitement de la carte de bits de droits d'accès aux entrées/sorties (IO permission bitmap) : lors d'un accès de 4 octets aux ports, seuls les bits de droits d'accès des trois premiers octets étaient vérifiés, et l'accès au quatrième octet n'était pas contrôlé, ce qui permettait théoriquement d'accéder à des registres matériels qui auraient dû être interdits.

Sur la base du microcode publié un CPU ouvert z386 , a été développé en langage SystemVerilog et fonctionne avec des FPGA. Au lieu de réaliser chaque instruction sous la forme d'unRTL (wikipedia.org) (niveau de transfert d'enregistrements), z386 met en œuvre des structures matérielles contrôlées par le microcode original. La performance de cette réalisation correspond à celle d'un PC 386 rapide (~70MHz). Sous le contrôle de z386, il a été possible de lancer avec succès DOS 6/7, DOS/4GW, DOS/32A et des jeux tels que Doom et Cannon Fodder. 🥇Les passionnés ont désassemblé le microcode i386 et créé un CPU ouvert z386 | ProHoster

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster