Der Intel 4004, der weltweit erste kommerzielle Mikroprozessor, wurde 1971 für den Taschenrechner Busicom 141-PF entworfen: 2.300 Transistoren, 4 Bit, 740 kHz, keine Interrupts und nicht einmal grundlegende logische Operationen wie AND und OR. Der Hardware-Hacker Dmitry Grinberg — der 2012 den Rekord aufstellte, echtes Linux auf der bis dahin schwächsten Maschine überhaupt laufen zu lassen, einem 8-Bit-AVR-Mikrocontroller, und seither überholt worden war — beschloss, den Rekord bis zum allerersten Mikroprozessor zu treiben.

Der Trick ist ein Emulator innerhalb der unmöglichen Maschine: Der 4004 führt einen Emulator des MIPS R3000 aus, der Architektur der DECstation-2100-Workstation, auf die Linux ursprünglich portiert wurde. Nachschlagetabellen und andere Tricks holen Leistung aus der primitiven CPU heraus; der endgültige Aufbau übertaktet den 4004 auf 790 kHz, umgibt ihn mit zeitgenössischen Intel-MCS-4-Unterstützungschips, zeigt die Linux-Ausgabe auf einem VFD-Display an und nimmt serielle Eingaben entgegen, alles bei etwa 6 W. Ein abgespecktes Debian Linux bootet in 4,76 Tagen bis zu einer Eingabeaufforderung und kann Befehle über Tage oder Wochen ausführen.

Die eigens angefertigte Leiterplatte — ohne Durchkontaktierungen, nur rechtwinklige Leiterbahnen, wandmontierbar als Kunstwerk — hat keinen praktischen Zweck, doch die vollständigen Schaltpläne und der Quellcode sind auf Grinbergs Website veröffentlicht, und er hat erwogen, Bausätze für Leute anzubieten, die Linux in seiner langsamsten Form erleben möchten.

Linux nicht nach unten portieren — nach oben emulieren: den 4004 einen MIPS-R3000-Emulator ausführen lassen, sodass die CPU die Maschine emuliert, auf die Linux zuerst portiert wurde.

Das Problem wird als Emulation neu formuliert: Statt Linux in 2.300 Transistoren hineinzuzwängen, bekommt der 4004 eine Software-Maschine, auf der er Linux ausführen kann.

Das emulierte Ziel wird wegen seiner Abstammung gewählt — der MIPS R3000 der DECstation 2100, genau die Maschine, auf die Linux zuerst portiert wurde.

Nachschlagetabellen ersetzen die logischen Operationen, die dem Silizium physisch fehlen — die Art von durch Einschränkungen erzwungenem Trick, der die Leistung überhaupt erst möglich macht.

Es ist bis ins letzte Detail nachprüfbar: Schaltpläne und Quellcode sind öffentlich, und der Bootvorgang ist messbar — 4,76 Tage.

Wenn eine Plattform die Software nicht ausführen kann, verpacke die Lücke in eine Emulationsschicht, die auf die ursprüngliche Heimat der Software zielt — eine langsame Maschine, die die Maschine nachahmt, die der Code erwartet.

Ars Technica berichtete im September 2024 über das Projekt als Demonstration von Linux' Flexibilität und der Grenzen der Emulation; Grinberg hat den Verkauf von Bausätzen oder fertig montierten Platinen in Aussicht gestellt, doch in der Quelle wurde nichts zugesagt. Sein früherer AVR-Rekord von 2012 war von anderen übertroffen worden, was dieses Projekt in Gang setzte.

DEN BELEGEN FOLGEN

Die Quellen

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