Esta era una opción para el proyecto de mi escuela, pero no la elegí, sin embargo, alguien podría haberlo hecho.
El objetivo era desarrollar una placa base para Intel 80486DX4, utilizando componentes modernos y principios de diseño, y diseñarla como un procesador integrado. No se necesita soporte de Windows.
¿Hay recursos sobre esto?
Aquí está la propuesta original que preparé en caso de que se me asigne:
Esta placa está diseñada para ser una plataforma incrustada, sin legado. Además del procesador principal Intel 80486DX4, 32KB SRAM y 4GB de DRAM integrado con un FPGA como controlador DRAM y un controlador DMA, un MMU secundario implementado con otro FPGA que tiene 48 bits de dirección, también hay un microcontrolador ATSAM3X8E que funciona como sistema controlador, así como una interfaz combinada de USB, SPI, I2C y Ethernet, 256 MB de NOR Flash, un reloj en tiempo real DS3231 y un Parallax Propeller como GPU. Algunos FPGA adicionales se utilizan para proporcionar una interfaz SATA. El bus del sistema es un bus ISA modificado con direcciones de 32 bits y líneas de datos. No se utiliza la conmutación A20, este procesador se ejecuta exclusivamente en modo de 32 bits
Al iniciarse, los últimos 32 KB de NOR Flash se asignan a 0x8000 y los 32 KB de SRAM se asignan a 0x0. La CPU comienza a buscar instrucciones de 0xffff0 que está en el medio de NOR. Siempre se asume que la SRAM es buena y se utiliza como espacio de memoria virtual durante el procedimiento de arranque. La información de configuración del sistema se almacena en NOR Flash, por lo que no se proporciona respaldo de batería a la SRAM.
El código del cargador de arranque en NOR cambia el procesador al modo protegido, habilita el controlador DRAM y asigna la DRAM a 1GB, asigna el resto del NOR a 1MB y salta a él.
Este gestor de arranque de la segunda etapa copia el gestor de arranque de la tercera etapa en la DRAM y algunas instrucciones en la SRAM. Luego salta a la memoria SRAM remapping a la dirección 0, y salta al cargador de arranque de la tercera etapa ubicado en DRAM. El rango de direcciones de SRAM no se puede asignar ni mover.
El gestor de arranque de la tercera etapa inicializa el controlador SATA y comienza a consultar los dispositivos de arranque en este orden: disco duro SATA, tarjetas SD conectadas al bus SPI, dispositivos de almacenamiento masivo USB y arranque de red.