El Intel 4004, el primer microprocesador comercial del mundo, fue diseñado en 1971 para la calculadora Busicom 141-PF: 2.300 transistores, 4 bits, 740 kHz, sin interrupciones y ni siquiera operaciones lógicas básicas como AND y OR. El hacker de hardware Dmitry Grinberg —quien en 2012 estableció el récord de ejecutar Linux real en la máquina de gama más baja hasta entonces, un microcontrolador AVR de 8 bits, y desde entonces había sido superado— decidió llevar el récord hasta el primerísimo microprocesador.
El truco es un emulador dentro de la máquina imposible: el 4004 ejecuta un emulador de un MIPS R3000, la arquitectura de la estación de trabajo DECstation 2100 a la que Linux fue portado originalmente. Tablas de búsqueda y otros trucos exprimen el rendimiento de la CPU primitiva; la versión final overclockea el 4004 a 790 kHz, lo rodea de chips de soporte Intel MCS-4 de la época, muestra la salida de Linux en una pantalla VFD y recibe entrada serie, todo con unos 6 W. Un Debian Linux reducido arranca hasta un indicador de comandos en 4,76 días y puede ejecutar comandos a lo largo de días o semanas.
La placa de circuito personalizada —sin vías, solo pistas en ángulo recto, montable en pared como pieza de arte— no tiene ningún propósito práctico, pero los esquemas completos y el código fuente están publicados en el sitio de Grinberg, y él ha considerado ofrecer kits para quienes quieran experimentar Linux a su velocidad más lenta.
No portar Linux hacia abajo, sino emular hacia arriba: hacer que el 4004 ejecute un emulador de MIPS R3000, de modo que la CPU emule la máquina a la que Linux fue portado originalmente.
El problema se reformula como emulación: en lugar de meter Linux a la fuerza en 2.300 transistores, se le da al 4004 una máquina por software sobre la que pueda ejecutar Linux.
El objetivo emulado se elige por linaje: el MIPS R3000 de la DECstation 2100, exactamente la máquina a la que Linux fue portado originalmente.
Las tablas de búsqueda sustituyen a las operaciones lógicas que el silicio carece físicamente, el tipo de truco impulsado por restricciones que hace posible la hazaña.
Es verificable hasta el último detalle: los esquemas y el código fuente son públicos, y el arranque es medible: 4,76 días.
Cuando una plataforma no puede ejecutar el software, envuelve la brecha en una capa de emulación dirigida al hogar original del software: una máquina lenta que se hace pasar por la máquina que el código espera.
Ars Technica cubrió el proyecto en septiembre de 2024 como una demostración de la flexibilidad de Linux y los límites de la emulación; Grinberg ha planteado vender kits o placas ensambladas, pero nada se confirmó en la fuente. Su anterior récord AVR de 2012 había sido superado por otros, lo que fue lo que puso en marcha este proyecto.
CONSULTA LAS PRUEBAS
Las fuentes
- Linux boots in 4.76 days on the Intel 4004 Ars Technica · arstechnica.com ·