Een groep hackers heeft de volledige microcode van de Intel i386 in kaart gebracht. Dat deden ze op basis van beelden van de die van de processor, op dezelfde manier als waarop de hackers eerder de microcode van de 8086 wisten te achterhalen.
Hacker Andrew Jenner beschrijft op zijn blog hoe hij samen met een andere groep programmeurs de microcode van de i386, die ooit de Intel 80386 heette, wist te achterhalen. De 80386 kwam in 1985 uit als de eerste 32bit-processor van Intel. Jenner heeft al die microcode in een GitHub-repo gezet. Jenner doet dit niet voor het eerst; in 2023 bracht hij ook al de microcode van de nog oudere 8086 in kaart.
De i386 had echter heel wat meer voeten in de aarde, schrijft Jenner. Zo is de rom 94.720 bits in tegenstelling tot de 10.752 bits van de 8086. Dat maakt het 'extreem vervelend' om de hele codearchitectuur in kaart te brengen.
Maar belangrijker is dat Jenner helemaal geen informatie over de chip had. Bij het samenstellen van de 8086-microcode kon hij uitgaan van een patent, maar dat was er niet voor de 80386. Hij en een paar vrienden kregen het toen voor elkaar om met 'verschillende delen beeldverwerking, neurale netwerken en mensgestuurde automatisering' een binary blob uit een afbeelding van de die van de 80386 te halen.
Het grootste deel van het werk zat in het uitzoeken hoe de accelerators werkten. In de 8086 werden veel rekencycli door algoritmes aangestuurd, maar de 80386 gebruikt veel meer transistors die Jenner in kaart moest brengen. "Het zoeken hoe de interfaces tussen de accelerators, zoals de hardware om te vermenigvuldigen en te delen en de barrel shifter, was veel werk", schrijft hij.
Op de GitHub-pagina van Jenner staat meer informatie over hoe de microcode is opgesteld, maar andere hackers hebben inmiddels ook eigen blogposts geschreven waarin ze uitleggen hoe bijvoorbeeld de geheugenpipeline in de processor werkt.
/i/2008183456.webp?f=imagenormal)