Insgesamt 277.248 2-Eingangs-NAND-Gatter treiben einen vollständigen 16-Bit-Computer direkt im Browser an. Ohne jede andere Art von Logikelement führt das System eine Tetris-Variante mit einer Taktrate von 16,4 kHz flüssig aus. In einer Zeit, die von hochgradig abstrahiertem Code und Hochsprachen geprägt ist, entscheidet sich NAND-16 dafür, das Rad auf die denkbar primitivste Weise neu zu erfinden. Intuitiv nehmen wir an, dass der Bau einer komplexen Rechenmaschine dedizierte Bauteile für unterschiedliche Aufgaben erfordert – spezialisierte Rechenwerke im Zusammenspiel mit separaten Speicherbausteinen. NAND-16 beweist das Gegenteil: Die Hürde für universelle Berechenbarkeit ist so niedrig, dass ein einziger elementarer Schalter genügt.
Komplexität erfordert keine spezialisierten Bauteile
Abbildung: Ein 7400-Chip mit vier 2-Eingangs-NAND-Gattern. Der gesamte Computer besteht ausschließlich aus 277.248 solchen Grundelementen. Quelle: Wikimedia Commons
Das Projekt NAND-16 setzt ausnahmslos auf einen einzigen Logikbaustein: das NAND-Gatter (Nicht-Und). Das entspricht der Aufgabe, mit nur einer einzigen Sorte Legosteine ein Hochhaus samt funktionierendem Aufzug zu errichten. In diesem System entstehen Addierer, Register und Befehlsdekodierungslogik einzig durch das Zusammenschalten desselben Grundbausteins. Die radikale Reduktion auf einen einzigen Gattertyp legt die Entstehung von Rechenleistung vollkommen transparent offen.
Die Projekttour (Genesis) gliedert sich in 15 Kapitel unter dem Leitmotiv „Diesen Computer aus einem einzigen Gatter neu erfinden“. Sie führt Schritt für Schritt vor, wie aus zwei NAND-Gattern ein RS-Flipflop entsteht und wie sich daraus Register sowie arithmetische Einheiten aufbauen lassen. Folgt man diesem Pfad, verliert das Hardwaredesign jegliche Mystik: Jede noch so fortgeschrittene Funktion lässt sich letztlich auf das schlichte Umschalten unzähliger Schalterzustände zurückführen.
277.000 Gatter: Der Preis für speicherbasierte Logik
Als die Zahl 277.248 auf Hacker News auftauchte, reagierten viele Nutzer zunächst ungläubig. Der legendäre ARM1-Prozessor kam damals mit weniger als 25.000 Transistoren aus. Dass diese Maschine mehr als das Zehnfache benötigt, liegt daran, dass ROM und RAM ebenfalls vollständig aus NAND-Gatter-Arrays aufgebaut sind. Es kommt kein einziger handelsüblicher Speicherchip zum Einsatz.
In herkömmlichen Computern sind Rechenwerk und Speicher zwei getrennte Welten, wobei Speicherbausteine hochgradig für dichte Transistorstrukturen optimiert sind. Bei NAND-16 hingegen wird jede Speicherzelle direkt aus Logikgattern zusammengebaut. Der Bedarf, Befehle und Daten in reiner Logik abzulegen, führt zwangsläufig zu einer Gatter-Explosion.
Die Telemetriedaten im Browser zeigen, dass die Maschine 160.208 Zyklen und rund 58.402 Befehle abgearbeitet hat, während der Programmzähler bei 046C steht. Es handelt sich um eine lebendige physikalische Simulation, die Maschinencode Zeile für Zeile verarbeitet. Die Browser-Engine erreicht dabei eine Gatter-Auswertungsrate von etwa 23,0 M/s und eine Befehlsausführungsrate von rund 4,0 k/s. Hinter diesen Kennzahlen verbirgt sich eine aufschlussreiche Tatsache: Der überwiegende Teil der 277.000 Gatter rechnet überhaupt nicht, sondern dient schlicht als Speicher. Universelle Berechnung lässt sich zwar mit einem einzigen Schaltertyp realisieren – der Preis dafür ist jedoch, dass man gigantische Mengen davon aufwenden muss, um Speicherplatz bereitzustellen.
Gezielte Sabotage: Wie ein einzelnes defektes Gatter das System lahmlegt
Abbildung: NAND-16 im Live-Betrieb im Browser. Am oberen Bildrand validiert ein unabhängiger Prüfer (audit) kontinuierlich die Rechenergebnisse. Quelle: somethingbig.ai
Da die gesamte Maschine aus identischen Bauteilen besteht, werden Fehlersuche und Belastungstests zu anschaulichen physikalischen Experimenten. Das Projekt beinhaltet ein integriertes Fehlerlabor (Fault Lab), mit dem sich jedes beliebige Gatter dauerhaft auf 0 oder 1 festklemmen lässt, um zu beobachten, wie das Gesamtsystem zusammenbricht. Zieht man die zweite Taktphase ab, friert die Anzeige sofort ein; beschädigt man ein Gatter im Videospeicher, erscheint sogleich ein unlöschbarer Geisterblock auf dem Spielbildschirm.
Zu den vordefinierten Sabotageszenarien gehören unterbrochene Übertragsketten (Carry-Chains), ein Verzweigungsbefehl, der niemals springt, oder ein geschwächter Pseudozufallsgenerator. Wenn bei der Tastatursteuerung im Spiel eine Taste klemmt, liegt die Ursache oft darin, dass ein zugrundeliegendes Logikgatter von außen blockiert wurde.
Alle Betriebsdaten werden in Echtzeit visualisiert. Am oberen Rand der Seite läuft ein unabhängiger Auditor mit, der Stichprobenzyklen auf einer separaten Auswertungs-Engine nachrechnet und die Oberfläche rot färbt, sobald eine Inkonsistenz in der Netzliste auftritt. Ein integrierter Logikanalysator ermöglicht nicht nur Einzelschritt-Debugging pro Befehl, sondern zeichnet auch ganze Zyklen auf, um sie mit gattergenauer Verzögerung in Bullet-Time abzuspielen. Ein Doppelklick auf ein beliebiges Pixel auf dem Bildschirm verfolgt den Zustand direkt bis zum zuständigen Latch-Schaltkreis zurück. Liegen alle Gatter des Rechners offen im Browserfenster, hat die Hardware-Blackbox aufgehört zu existieren.
Community-Reaktionen im Spiegel des KI-Zeitalters
Die Reaktionen der Tech-Community spalteten sich in zwei Lager. Die einen bewunderten die ingenieurtechnische Beharrlichkeit, Speicher rein aus NAND-Gattern nachzubilden, und feierten den puristischen Ansatz, ein digitales Universum von Grund auf zu konstruieren. Die anderen reagierten verhaltener: Vor einigen Jahren hätte ein solches Projekt noch Staunen ausgelöst, doch heute stamme eine Netzliste dieser Größenordnung sehr wahrscheinlich aus generativer KI und sei daher kein Grund für übermäßige Begeisterung. Die Debatte in den HN-Kommentaren offenbart die typische Skepsis, mit der die heutige Tech-Community großen Projekten begegnet.
Dieser Zeitgeistfilter mag zwar die Wahrnehmung des Arbeitsaufwands verändert haben, berührt jedoch nicht die physikalischen Gesetze, nach denen das System funktioniert. Unabhängig davon, wie stark automatisierte Werkzeuge bei der Generierung der Netzliste geholfen haben, streift NAND-16 dem Computer den Mantel der Komplexität ab und legt ihn im Browser zur freien Erkundung bereit. Computing bedarf keiner Magie: Mit einer ausreichenden Zahl identischer Schalter, verdrahtet nach festen Regeln, erwacht ein komplettes System zum Leben. Ein transparenter Computer ist und bleibt das beste Lehrbuch der Informatik.
Weiterführende Links:
- NAND-16 Projektseite
- HN-Diskussion
- Wikimedia Commons