El sueño de todo aficionado a la electrónica siempre ha sido construir su propio dispositivo, y a estas alturas son ya varios los que lo han logrado. Pero esto no le quita mérito a, con herramientas y recursos muy limitados, llegar a construir tu propio procesador y que además funcione perfectamente. Es el caso del polaco Majsterkowanie i nie tylko (o MINT para abreviar, que además en inglés significaría «DIY and more»), que ha logrado construir una CPU totalmente funcional utilizando viejos chips de memoria, cables soldados por él mismo y una pantalla VFD. Os lo mostramos.
A primera vista, este amasijo de cables, componentes y circuitos soldados a mano puede parecer una especie de obra de arte cyberpunk, pero realmente es un proyecto bastante brillante. Un apasionado entusiasta ha construido su propio procesador completamente funcional, ojo, un procesador y no una simple placa de desarrollo o una micro controladora, no… un procesador con todas las letras, capaz de ejecutar instrucciones y con memoria, y todo utilizando componentes antiguos de la época de los 8 bits.
Es la mejor CPU casera que hemos visto nunca
El creador de este proyecto se llama Majsterkowanie i nie tylko, un usuario polaco que se pasó tres meses diseñando, cableando, programando y documentando toda la arquitectura de este procesador. La idea nació de un experimento con unos chips EPROM de memoria muy obsoletos, configurados inicialmente para controlar pequeños sistemas como un regulador PWM. La sencillez de esta configuración encendió su chispa, porque si la memoria podía utilizarse para simular lógica básica, ¿por qué no un procesador completo?
Tras esta idea inicial, el creador comenzó a diseñar los esquemas para replicar la estructura de un procesador clásico de la era de los 8 bits, concretamente el Z80 que fue uno de los baluartes de aquella época. El Zilog Z80, lanzado en 1976, fue el corazón de la revolución de la informática doméstica de los 80. Su diseño eficiente y de bajo coste impulsó a ordenadores míticos como el Sinclair ZX Spectrum, que vendió más de 5 millones de unidades, y el Amstrad CPC. Recrear su arquitectura es un reto mayúsculo que conecta directamente con los orígenes de la computación personal.
El resultado lo podéis ver en el vídeo que hemos integrado encima de estos párrafos: una máquina que no es muy elegante que digamos, pero que funciona con juegos de instrucciones reales, ejecuta sus propios ensambladores y sus propias instrucciones. Ah, y tiene salida de vídeo a pantalla.
El software también fue escrito desde cero, con unas 1.800 líneas de código para definir el modo en el que el procesador debe gestionar las instrucciones. El conjunto va mucho más allá de lo que podían hacer las CPU de la vieja escuela e incluye operaciones como multiplicaciones, divisiones, cálculos trigonométricos e incluso el manejo de secuencias de bits. En palabras de su creador, «está dosificado con esteroides».
Con todos los módulos conectados, la CPU consume tan solo 250 mA de corriente, y como podéis ver en la imagen de arriba cuenta con un LED que parpadea como primer programa de prueba, mientras que un segundo LED se enciende cuando se detecta una interrupción (las IRQ de antaño) demostrando que la CPU es capaz de manejar eventos externos incluso mientras ejecuta instrucciones. No es exactamente multitarea porque detiene temporalmente la operación en curso para procesar la interrupción y luego retomarla desde donde la había dejado, gracias a su memoria integrada.
Al final, este procesador abarca 4 placas, pesa más de 500 gramos y contiene más de un kilómetro de cableado. Todas las operaciones lógicas se implementan utilizando memoria pre programada, es decir, en lugar de usar puertas NAND físicas como los procesadores modernos, el sistema envía la entrada de 8 bits a la EPROM, que devuelve el resultado. Por último, para demostrar que el sistema funcionaba, lo conectó a una pantalla VFD y escribió un código para reproducir Matrix… o al menos fragmentos en baja resolución.
| Componente | Especificación | Detalle |
|---|---|---|
| Arquitectura | Basada en Z80 de 8 bits | Extendida con operaciones trigonométricas y manejo de IRQ |
| Cableado | >1000 metros | Interconexión manual entre 4 placas de circuito |
| Consumo | 250 mA | A 5V (equivalente a 1.25W) |
| Código | 1.800 líneas | Ensamblador personalizado escrito desde cero |
| Peso | >500 gramos | Sin incluir la pantalla VFD externa |
| Componente Lógico | Chips EPROM | Memorias preprogramadas en lugar de puertas lógicas |
