On the Intel 4004, Linux boots up in 4.76 days

A historic 1971 4-bit microprocessor can take days or weeks to complete Linux commands.


A picture of the customized Linux/4004 circuit board owned by Dmitry Grinberg.


It may seem impossible, but hardware hacker Dmitry Grinberg has managed to run Linux on the Intel 4004, the earliest commercial microprocessor ever made. The 1971 CPU, with only 2,300 transistors and an initial clock speed of 740 kHz, is extremely antiquated by today's standards. Furthermore, it is sluggish; the Linux kernel takes 4.76 days to boot.

Originally intended for the Busicom 141-PF, a Japanese calculator, the 4-bit 4004 saw limited use in 1970s commercial products before being supplanted by more potent Intel chips, like the 8008 and 8080 that drove early personal computers and the 8086 and 8088 that heralded in the IBM PC era.

You're correct if you doubt that a raw 4004 could do this feat: The 4004 is simply too constrained to run Linux on its own. Rather, Grinberg came up with an equally amazing solution: an emulator that runs on the 4004 and simulates the architecture of a MIPS R3000 CPU, which was the workstation's architecture on which Linux was first ported. This emulator enables a truncated version of Debian Linux to boot to a command prompt, in conjunction with minimal hardware emulation.


Linux/4004.


Grinberg has a history of successfully running Linux in odd locations. According to his website, "In 2012, I ran real Linux on an 8-bit microcontroller (AVR), setting a new world record for lowest-end-machine to ever run Linux." He chose to outdo himself and others by aiming for the first microprocessor after others had recently surpassed that milestone.


The Long, Slower Boot...


Grinberg had to overcome many obstacles in order to get Linux to function on the 4004. The 4004 lacks even fundamental logical operations like AND and OR, has very little ROM and RAM, and experiences no interrupts. Grinberg's emulator maximizes the speed of the archaic CPU by deftly utilizing lookup tables and other techniques.


In order to bring everything together, Grinberg created a unique circuit board that only included right-angle traces for a classic look and no vias, or routes connecting one side of the board to the other. It is intended to be a wall-mounted artwork that gradually runs Linux commands over a period of days or weeks.

The Linux/4004 project pushes emulation to the limit and showcases Linux's flexibility, even though it serves no practical function. Though this is not confirmed yet, Grinberg is thinking of providing kits or fully constructed boards for those who wish to experience Linux at its slowest speed.

Grinberg's website has all of the project's information, including schematics and source code. It is an interesting look at what can be achieved with technology from the 1970s and a great deal of creative engineering, especially for anyone interested in extreme Linux implementations or vintage computing.

The final hardware makes use of multiple period-correct support chips from Intel's MCS-4 chipset, including the 4004 (overclocked to 790 kHz). It can receive input via a serial connection and has a VFD display to show Linux output. The total power used by the system is roughly 6 W.

Comments

Popular Posts