O microcódigo i386 foi desmontado e creouse unha CPU z386 de código aberto.

Uns entusiastas extraeron e desmontaron con éxito o microcódigo dun procesador Intel 80386, que se consideraba unha "caixa negra" debido á falta de documentación. Recreouse unha imaxe binaria do microcódigo mediante IA a partir de fotografías de alta resolución do chip, e a lóxica descifrábase mediante o cableado no chip. A estrutura das microoperacións, os campos, a orde de execución e os marcadores de fin de instrución determináronse gradualmente. Os resultados do proxecto publícanse en GitHub como dominio público.

O microcódigo i386 foi desmontado e creouse unha CPU z386 de código aberto.

Descubriuse que na CPU 80386, cada instrución se executa integramente mediante microcódigo, mentres que no 8086 e nos procesadores modernos, algunhas instrucións se procesan directamente. Ademais, a diferenza dos procesadores 8086, o microcódigo do 80386 non implementa algoritmos directamente, senón que configura principalmente aceleradores de hardware (multiplicador, divisor, desprazador rápido, PTU (Unidade de proba de protección)).

O estudo tamén descubriu un posible problema de seguridade no manexo do mapa de bits de permisos de E/S: ao acceder a portos de 4 bytes, só se comprobaban os bits de permiso para os primeiros 3 bytes e non se comprobaba o acceso ao cuarto byte, o que teoricamente permitía o acceso a rexistros de hardware que non deberían ser accesibles.

Baseándose no microcódigo publicado, desenvolveuse unha CPU z386 de código aberto, implementada en SystemVerilog e executada nunha FPGA. En lugar de implementar cada instrución como unha RTL (Register-Transfer Layer) separada, o z386 implementa estruturas de hardware controladas polo microcódigo orixinal. O rendemento da implementación resultante coincide co dun PC 386 rápido (~70 MHz). O z386 executou correctamente DOS 6/7, DOS/4GW, DOS/32A e xogos como Doom e Cannon Fodder.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster