Reverse Engineering: Begehbarer „Megaprozessor“ erlaubt das Beobachten von CPU-Abläufen Wie geht eigentlich Computer?
Die Entwicklung der Mikroprozessoren ist eigentlich getrieben von der Miniaturisierung der Transistoren für mehr Geschwindigkeit auf kleinerer Fläche. James Newman geht den umgekehrten Weg: Um die Vorgänge in einer CPU sichtbar zu machen hat der Brite aus über 14.000 Transistoren einen „Megaprozessor“ gebaut, dessen interne Abläufe über LEDs beobachtet werden können.
Anbieter zum Thema

Der Megaprozessor ist vom Design her eine 16-Bit-CPU, der sich aus sieben Schaltschränken zusammensetzt. Davon bilden vier universelle Register, hinzu kommen Stack Counter, Prozessorstatus-Register und Befehlszähler. Gegenwärtig besitzt er 256 Byte an Speicher.
Allein für den Speicherblock hat der Entwickler des Megaprozessors, James Newman aus Cambridge, etwa 27.000 Transistoren verwendet. Die CPU selbst verfügt aktuell über 15.300 Transistoren, wovon allerdings ein großer Teil für die LEDs aufkommt; für die Prozesse alleine zeichnen sich effektiv etwa um die 6.800 Transistoren verantwortlich. Zum Vergleich: Der Mikroprozessor Intel 8080 von 1974 verfügte über 4.500 Transistoren, ein Zilog Z80 kommt auf 8.500. Die Rechenarbeiten werden über eine 16-Bit ALU (Arithmetic Logic Unit,Arithmetisch-logische Einheit) sowie einem 16-Bit-Addierer erledigt.
Vom Schalter zur Instruktion
Newman, der selbst Software- und FPGA-Entwickler ist, startete das Projekt zunächst, um die Funktionsweise von Transistoren im Prozessor besser zu verstehen. Jeder Transistor funktioniert wie ein digitaler Ein- und Aus-Schalter; mehrere davon zu sogenannten Gattern verknüpft, können genutzt werden, um unterschiedliche Instruktionen abzuarbeiten.
Newman studierte insbesondere den Aufbau früher weit verbreiteter Mikroprozessoren wie den Zilog Z80 oder den Motorola 6800. Anschließend fasste er den Plan, einen 16-Bit-Prozessor zu bauen, der in der Lage sein sollte, 20.000 Befehle pro Sekunde (0,02 MIPS - Million Instructions per second) abzuarbeiten. Die Taktgeschwindigkeit der fertigen CPU liegt demzufolge bei etwa 20 kHz.
Newman wollte mit ansehen können, wie die Daten durch einen Prozessor laufen, während ein Programm abgearbeitet wird. Mit Hilfe der LEDs kann der Ablauf der Instruktionen anschaulich mitverfolgt werden, auch wenn das die Zahl der benötigten Transistoren nochmal erhöhte. Die LEDs halfen auch beim Debugging des Prozessors, da so sichtbar wird an welcher Stelle im Ablauf ein Fehler auftritt.
Ein Computer zum Verstehen
Das Resultat ist derzeit eine „begehbare“ CPU, die eine Fläche von ungefähr 15 m2 besitzt, plus zusätzliche 3 m2 für den Speicher. Zum Vergleich: ein Zilog Z80-Chip besitzt eine Fläche von 18 mm2. In einer Serie von YouTube-Videos erklärt Newman nicht nur das Prinzip seines Megaprozessors, sondern verfolgt in mehreren Clips auch den aktuellen Stand des Projekts.
Bislang hat Newman in den Megaprozessor drei Jahre Arbeit und etwa 40.000 Pfund investiert. Auf der begleitenden Webseite hat der Entwickler den Entstehungsprozess in einem Tagebuch genau dokumentiert. Dort steht auch ein Instruktionsset für die CPU zur Verfügung für all diejenigen, die eigene Programme für den Megaprozessor schreiben möchten.
Jetzt, da sein Megaprojekt erst einmal abgeschlossen ist, überlegt Newman, den Megaprozessor auch öffentlich zugänglich zu machen. Über das Wann oder Wie ist er sich selbst aktuell noch nicht klar.
(ID:44184938)