O Intel 4004, o primeiro microprocessador comercial do mundo, foi projetado em 1971 para a calculadora Busicom 141-PF: 2.300 transistores, 4 bits, 740 kHz, sem interrupções e nem sequer operações lógicas básicas como AND e OR. O hacker de hardware Dmitry Grinberg — que em 2012 estabeleceu o recorde de rodar Linux de verdade na máquina de menor capacidade até então, um microcontrolador AVR de 8 bits, e desde então havia sido superado — decidiu levar o recorde ao primeiro microprocessador de todos.

O truque é um emulador dentro da máquina impossível: o 4004 executa um emulador do MIPS R3000, a arquitetura da estação de trabalho DECstation 2100, para a qual o Linux foi originalmente portado. Tabelas de consulta e outros truques extraem desempenho da CPU primitiva; a versão final faz overclock do 4004 para 790 kHz, cerca-o com chips de suporte Intel MCS-4 da época, mostra a saída do Linux em um display VFD e recebe entrada serial, tudo a cerca de 6 W. Um Debian Linux enxuto inicializa até um prompt de comando em 4,76 dias e pode executar comandos ao longo de dias ou semanas.

A placa de circuito personalizada — sem vias, apenas trilhas em ângulo reto, montável na parede como peça de arte — não tem propósito prático, mas os esquemas completos e o código-fonte estão publicados no site de Grinberg, e ele considerou oferecer kits para quem quiser experimentar o Linux em sua velocidade mais lenta.

Não porte o Linux para baixo — emule para cima: faça o 4004 executar um emulador de MIPS R3000, para que a CPU emule a máquina para a qual o Linux foi originalmente portado.

O problema é reformulado como emulação: em vez de espremer o Linux em 2.300 transistores, dá-se ao 4004 uma máquina de software na qual ele possa rodar o Linux.

O alvo emulado é escolhido pela linhagem — o MIPS R3000 da DECstation 2100, exatamente a máquina para a qual o Linux foi originalmente portado.

Tabelas de consulta substituem as operações lógicas que o silício fisicamente não possui, o tipo de truque motivado por restrições que torna o feito possível.

É verificável até o último detalhe: os esquemas e o código-fonte são públicos, e a inicialização é mensurável — 4,76 dias.

Quando uma plataforma não consegue rodar o software, envolva a lacuna em uma camada de emulação voltada para o lar original do software — uma máquina lenta personificando a máquina que o código espera.

O Ars Technica cobriu o projeto em setembro de 2024 como uma demonstração da flexibilidade do Linux e dos limites da emulação; Grinberg cogitou vender kits ou placas montadas, mas nada foi confirmado na fonte. Seu recorde anterior com AVR, de 2012, havia sido superado por outros, e foi isso que motivou este projeto.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. Linux boots in 4.76 days on the Intel 4004 Ars Technica · arstechnica.com ·