Los entusiastas desensamblaron el microcódigo i386 y crearon el CPU abierto z386

Entusiastas pudieron extraer y desensamblar con éxito el microcódigo del procesador Intel 80386, que debido a la falta de documentación se consideraba una «caja negra». La imagen binaria del microcódigo fue recreada con la ayuda de IA a partir de fotos de alta resolución del chip, y la lógica de funcionamiento se analizó mediante el rastreo de conexiones en el chip. Gradualmente se definieron la estructura de microinstrucciones (μ-ops), los campos, el orden de ejecución y los marcadores de fin de instrucciones. Los avances del proyecto se publicaron en GitHub como dominio público.


Se descubrió que en el CPU 80386 cada instrucción se ejecuta completamente a través del microcódigo, mientras que en los 8086 y procesadores modernos, parte de las instrucciones se procesan directamente. Además, a diferencia de los procesadores 8086, en el 80386 el microcódigo no implementa algoritmos directamente, sino que principalmente configura aceleradores de hardware (multiplicador, divisor, desplazamiento rápido, PTU (Unidad de Prueba de Protección)).

Durante la investigación también se encontró un posible problema de seguridad en el manejo del mapa de bits de permisos de acceso a entrada/salida (bitmap de permisos de IO): al acceder a puertos de 4 bytes, se verificaban los bits de permisos solo para los primeros 3 bytes, y no se verificaba el acceso al 4° byte, lo que teóricamente permitía el acceso a registros de hardware, cuyo acceso debía estar prohibido.

Sobre la base del microcódigo publicado se desarrolló CPU abierto z386, implementado en el lenguaje SystemVerilog y funcionando con FPGA. En lugar de implementar cada instrucción como un RTL (wikipedia.org) (nivel de transferencia de registro) en z386 se implementaron estructuras de hardware controladas por el microcódigo original. El rendimiento de la implementación realizada se corresponde con un rápido 386 PC (~70MHz). Con el z386 se logró ejecutar con éxito DOS 6/7, DOS/4GW, DOS/32A y juegos como Doom y Cannon Fodder.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster