Recursos para el desarrollo de placa base compatible con IBM PC / Intel 80486

Estoy tratando de encontrar algunos recursos sobre el diseño de placas base, pero no parece haber mucho por ahí. También estoy buscando información sobre la interfaz con un Intel 80486. Entiendo principalmente la hoja de datos del Intel 80486, y ya estoy familiarizado con x86 asm y la arquitectura x86, pero no hay mucho por ahí (que podría find) en términos de una descripción general de inicialización/ejecución de alto nivel. Tampoco estoy seguro de si un BIOS completo es un requisito, o si podría hacer trampa para usar uno (es decir, reemplazarlo con un microcontrolador AVR o similar).

Mi objetivo final es construir algo que funcione con DSL . Lo que busco no es una placa extensible completa con ranuras PCI/ISA y soporte USB, sino una placa básica completa que ejecutará el sistema operativo. Estaría buscando los requisitos mínimos absolutos: CPU, RAM, GPU básica, controlador IDE, interfaz PS/2.

Soy consciente de que este es un proyecto enormemente ambicioso y probablemente me llevará varios años, pero es algo en lo que tengo mucho interés.

¿Algún buen recurso para este nivel de cosas? ¡Seguramente los chicos que diseñan placas base modernas deben aprenderlo de alguna parte !

Actualización:
no estoy tratando de parecer conflictivo aquí, pero solo quiero tomarme un segundo para adelantarme a los detractores. Entiendo completamente lo complejo y loco que es este proyecto. Entiendo que no puedo simplemente hacer una placa de prueba con estas cosas: se necesita mucho tiempo y dinero para hacerlo, y mucho menos hacerlo bien. Sé que hay una multitud de problemas que hacen que este tipo de circuitos sea difícil de manejar: alta frecuencia, alta corriente, bajos requisitos de ruido, requisitos de tolerancia estrictos, alta densidad de pines/trazas, falta de hojas de datos, requisitos de propiedad, etc. Todavía estoy lo suficientemente dedicado/loco como para intentarlo. No te pido que me expliques cómo hacerlo, solo te pido algunos enlaces a sitios web o libros que traten sobre este tipo de cosas. Estaría muy agradecido por cualquier información útil que pueda obtener.

Es posible que desee leer este hilo primero...
@stevenvh Ya leí ese hilo, y está bastante claro que el tipo que lo preguntó era muy ingenuo y nunca iba a avanzar. Yo, por otro lado, soy muy consciente de que es una tarea monstruosamente difícil, pero me gustaría dedicarle horas y trabajo para intentarlo. Solo necesito un lugar para comenzar, de ahí esta pregunta.
¿A qué rendimiento apuntas? ¿Pentium multi-GHz o ARM de 400 MHz, por ejemplo? El sistema operativo no significa nada.
@FedericoRusso Como dije en la pregunta, estoy considerando usar un viejo Intel 80486. El reloj de la CPU es de 16-100 MHz, el FSB es de 16-50 MHz, por lo que cualquier cosa en ese rango estaría bien. Estoy tratando de mantenerlo lo más "simple" posible.
@stevenvh: ese otro tipo quería construir una placa base moderna . Este tipo quiere hacer algo con un 486 . Un 486 es mucho más accesible. Se remontan a los días en que las placas base eran en gran parte DIP. Si mantiene el reloj bajo (¿20 Mhz?), esto debería ser definitivamente posible, aunque todo un desafío.
Gracias por el apoyo, Falso. Y coincidentemente, el último voto a favor de esta pregunta llevó mi puntuación a 386.
@Falso: no quería sugerir que es un proyecto imposible, no me malinterpreten. Solo que no es simple. La velocidad es crucial. Poly dice en una respuesta a Federico que apunta a 16-100 MHz, FSB 16-50 MHz, y eso definitivamente debería ser factible (especialmente el límite inferior :-)). PCI a 100 MHz ya requiere cierto cuidado.
@stevenvh Probablemente comenzaría a 16MHz y aumentaría el reloj más tarde, cuando tenga un modelo "funcional" .
Suena sensato. :-) ¡Éxito!
¿Por qué un 486? ¿Por qué no una CPU ARM como un Freescale i.mx de gama baja? Todavía están disponibles en QFP, e imagino que la documentación es mucho mejor. Sin mencionar el hecho de que algunos diseños de trabajo están disponibles en la red (al menos esquemas, probablemente también diseños). Estos pueden ejecutar Linux muy bien, por ejemplo.
@Thorn Conozco bastante bien la arquitectura x86 y sería genial intentar adaptar el proyecto para ejecutar Windows 95 en una fecha posterior. Sin embargo, reconozco la calidad muy superior de la documentación y la disponibilidad de los procesadores ARM más modernos, por lo que actualmente estoy investigando ambos enfoques.

Respuestas (1)

Básicamente tienes dos opciones aquí:

  • Una CPU basada en 486 de generación actual
    • Al revés:
      • Es probable que todo se integre en la CPU principal: sin puente sur, controladores IO, etc.
      • en realidad, puede comprar los circuitos integrados listos para usar.
    • Abajo:
      • Los dispositivos pueden ser BGA
      • pocos autobuses expuestos
      • puede querer funcionar a unos pocos cientos de Mhz.
    • Por "Producido actualmente", me refiero a algo como un AMD Geode , o un dispositivo similar de VIA, etc... Hay un mercado bastante grande para CPU x86 pequeñas, de baja potencia y baja velocidad en aplicaciones integradas.
  • Una CPU 386/486 antigua o de diseño antiguo
    • Al revés:
      • Probablemente más educativo
    • Desventajas:
      • Requiere MUCHOS dispositivos (por ejemplo, Southbridge, un UART, etc.), todos los cuales son circuitos integrados adicionales.
      • Nota: los dispositivos externos variarán según el 386/486 que elija. Los primeros tenían pocos periféricos integrados. Más tarde, muchos de los periféricos se integraron en la propia CPU.

Hay algunos dispositivos de punto medio, como el 386EX , que es un 386 diseñado para aplicaciones integradas. Es lo suficientemente antiguo como para estar disponible en TQFP-144 (lanzado en 1994), pero incluye la mayoría de los periféricos necesarios en el chip.
Ficha de datos


Algunos recursos, fuera de mi cabeza:

Núcleo de arranque:

Una alternativa de BIOS FOSS.

Hilo de foro interesante sobre la construcción de una computadora compatible con IBM XT.


Otras cosas:

Página de inicio de Dieter
¡ Un loco que construye una CPU de transistores discreta !
También tiene un montón de otros proyectos de CPU caseros.


Realmente, si yo fuera tú, iría con un dispositivo ARM. Puede obtener grandes CPU ARM que tienen MMU y funcionarán bien con Linux.

Alternativamente, un 8088 o un 8086 pueden ser significativamente más accesibles. Hay mucha información sobre personas que fabrican computadoras caseras 8088 por ahí.

Ja. ¡Tengo 6666 repeticiones! ¡Creo que eso hace que esta sea la publicación más malvada de todas!
Digikey enumera un par de 486DX4 de 100 MHz en el paquete SQFP.
@stevenvh - ¿No es broma? Eh. Debe ser para aplicaciones integradas.
"será casi seguro que será BGA". Dixit Falso...
@stevenvh - Dije casi .
¡Solo quería tranquilizar a Poly! :-)
@stevenvh: además, distinguía más entre las CPU de diseño antiguo [34] 86 y las CPU sucesoras modernas [34] 86, como AMD geode u otros dispositivos que contienen un núcleo [34] 86 y la mayoría de los periféricos en un solo paquete.
Y, bueno, investigué un poco más, y mi punto parece en gran medida inválido. ¡Bah!
Información muy interesante y útil aquí. Primero consideré los microprocesadores 808x, pero decidí que eran demasiado lentos y no eran compatibles con lo que necesitaba; realmente no se puede ejecutar un sistema operativo Linux estándar en nada menos que un 80386. La sugerencia de usar un procesador ARM es interesante. Realmente me gustaría quedarme con x86, ya que es una arquitectura que conozco, pero puedo imaginar que hay mucha más información sobre los procesadores ARM. Tendré que investigar y tomar una decisión sobre cuál debo usar.