Se completó la desensambladura del microcódigo i386 y se creó un CPU abierto z386

Los entusiastas lograron 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 fotografías del cristal en alta resolución, y la lógica de funcionamiento se desglosó a través del trazado de conexiones en el cristal. Gradualmente se determinaron la estructura de los microcomandos (μ-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 completó la desensambladura del microcódigo i386 y se creó un CPU abierto z386

Se descubrió que en la CPU 80386 cada instrucción se ejecuta completamente a través del microcódigo, mientras que en los 8086 y en los 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 descubrió un posible problema de seguridad al procesar el mapa de bits de permisos de entrada/salida (bitmap de permisos IO): al realizar una operación de 4 bytes en los puertos, se verificaban los bits de permisos solo para los primeros 3 bytes, y el acceso al cuarto byte no se verificaba, lo que teóricamente permitía el acceso a registros de hardware que deberían haber estado prohibidos.

Basado en el microcódigo publicado, se desarrolló la CPU abierta z386, implementada en el lenguaje SystemVerilog y que funciona utilizando FPGA. En lugar de implementar cada instrucción en forma de RTL (Nivel de Transferencia de Registro) separado, en el z386 se implementaron estructuras de hardware que son controladas por el microcódigo original. El rendimiento de la implementación preparada es comparable al de un 386 PC rápido (~70MHz). Con el z386 se logró ejecutar con éxito DOS 6/7, DOS/4GW, DOS/32A y juegos como Doom y Cannon Fodder.

Fuente: opennet.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