CPU para proyecto de escuela de computación retro

9

Soy un estudiante en una escuela de TI y estamos tratando de pensar en un proyecto que podríamos usar para mostrar a los estudiantes de primer año cómo funcionan las cosas detrás del escenario y finalmente pensamos en hacer una computadora retro.

He leído muchas cosas relacionadas con el procesador Z80, pero supongo que necesitamos algo más potente, todavía nos estamos preguntando acerca de la arquitectura, aunque ARM podría ser una buena opción considerando que encontraremos mucha documentación. , también hemos establecido algunas necesidades especiales:

  • Un bus de direcciones externo si necesitamos más RAM
  • > 50Mhz
  • 16 o 32 bits
  • No hay paquete BGA / QFN
  • No hay placa FPGA
  • Una interfaz serial (?)
  • Tampoco es demasiado caro, ya que tenemos un presupuesto limitado

El P8X32A-D40 parece una buena CPU, pero carece de la cantidad de RAM que necesitaríamos (32k), estaba pensando más en algo como > 1MB. Tal vez el eZ80 vale la pena considerar. Nos gustaría recibir respuestas de personas experimentadas como usted.

Gracias.

Editar: Aunque he aceptado una respuesta ya que satisface nuestras necesidades, la pregunta todavía está abierta a otras sugerencias, ya que tendremos que discutir las opciones con el equipo de estudiantes que deseen Participa en el proyecto.

    

2 respuestas

6

Aunque las versiones disponibles actualmente no tienen un verdadero bus de direcciones externo (está disponible), puede considerar el Microchip PIC32 . Su arquitectura se basa en MIPS , que data de 1988, y es uno de los dos conjuntos principales de instrucciones RISC (el otro es BRAZO). Así que en ese sentido puede considerarse retro. (Un poco de curiosidad: la Playstation de Sony utilizó un procesador MIPS).

Una de las características interesantes del PIC32 (e inusual para un microcontrolador de 32 bits) es que puede obtener varias variedades en un paquete DIP, sin embargo, la memoria máxima disponible será limitada en comparación con las versiones de montaje en superficie. Uno de los PIC con la memoria más grande en un paquete DIP de 28 pines es el PIC32MX250F128 con 128KB de memoria Flash (programa) y 32KB de RAM. Está disponible en Digi-Key en los EE. UU. y Farnell en el Reino Unido .

Aunque la RAM puede parecer limitada, tenga en cuenta que los PIC son arquitectura de Harvard , lo que significa que los espacios de direcciones de datos y programas son independientes y los programas se ejecutan fuera de flash, por lo que no necesita mucha memoria RAM. (Para los puristas, los PIC32 son en realidad arquitectura modificada de Harvard, porque es posible ejecutar programas sin RAM). La otra alternativa es La arquitectura de Von Neumann (utilizada, por ejemplo, en PC's), donde hay un espacio de direcciones para todo y los programas generalmente se quedan sin memoria RAM, una excepción es que normalmente necesitan tener al menos algo de Flash o ROM (llamado BIOS en una PC) en el espacio de dirección del procesador para ejecutar una rutina de arranque para cargar el sistema operativo desde un dispositivo de almacenamiento masivo o red en la RAM. El Z80 (y la mayoría de los microprocesadores de su tiempo) también usó una arquitectura de Von Neumann. Así que uno tenía que encajar tanto el programa como los datos en 64 KB. Algunos micros con una arquitectura de Von Neumann también asignaron sus periféricos al mismo espacio de direcciones de 64K; otros utilizaron direccionamiento de puerto separado.

Con respecto al bus externo, los PIC32 actuales (pero solo en paquetes de montaje en superficie, debido al número de pines) tienen un "puerto maestro paralelo" (PMP) de 8 o 16 bits de ancho que, junto con DMA, puede transferir datos de ida y vuelta automáticamente entre la RAM del PIC y la RAM externa o un periférico. Sin embargo, esto no le permite a uno acceder a la memoria externa directamente (en el espacio de direcciones del procesador) o ejecutar el código allí. La muy nueva PIC32MZ family , listada pero aún no está en stock en Digi-Key, tendrá un verdadero bus de direcciones externo, hasta 2MB de Flash, 1/2 MB de RAM, y ejecutar a 200 MHz.

El PIC32MX250F128 funciona a 50 MHz, hay otros que funcionan a 80 MHz. Tiene dos puertos serie UART; necesitará un convertidor de nivel para traducir eso a las señales RS232.

Debido a que está empaquetado como un DIP y puede funcionar sin un oscilador externo, para comenzar, todo lo que necesita es una fuente de alimentación de 3.3.v, unas tapas de desacoplamiento de 0.1 µF y una placa de pruebas. Puede obtener un compilador de C gratuito e IDE de Microchip.

Una vez que el procesador esté en funcionamiento, puede agregar periféricos como una pantalla LCD, botones (incluso un teclado), etc.

Puede obtener otros PIC32MX con hasta 512 KB de Flash y 128 KB de RAM, pero solo en paquetes de montaje en superficie como TQFP y VQFN que requerirá que diseñe una PCB (también tendría este mismo problema con cualquier procesador ARM).

    
respondido por el tcrosley
3

Aunque estoy totalmente de acuerdo con @tcrosley, me siento obligado a señalar que si realmente quiere mostrar a otros estudiantes cómo funcionan las cosas "detrás del escenario", entonces debería obtener una junta FPGA (solo compre uno, no intente hacerlo y aprenda cómo construir CPU desde cero utilizando la lógica. Eche un vistazo a esto para obtener un buen punto de partida.

    
respondido por el markt

Lea otras preguntas en las etiquetas