Intel 4040: 70er-Jahre-CPU gegen alten Armee-Computer im Pi-Benchmark
Ein Bastler hat einen alten Intel 4040-Einplatinencomputer mit dem noch älteren Armeerechner ENIAC ins Wettrennen um die Berechnung von Pi geschickt.
Intels im Jahr 1974 eingeführte 4040-CPU wurde als 4-Bit-Prozessor mit einer Taktfrequenz von 740 kHz konzipiert und bestehend aus 3.000 Transistoren in 10 Mikrometer Strukturbreite gefertigt, während der ENIAC kurz nach dem Zweiten Weltkrieg 1946 vorgestellt wurde und als einer der ersten Allzweckcomputer bekannt ist.
Im Gegensatz zum vergleichsweise winzigen Intel 4040 als Einplatinencomputer beanspruchte der von der US-Army 1942 in Auftrag gegebene ENIAC (Electronic Numerical Integrator and Computer) rund 140 Quadratmeter und umfasste viele tausende Elektronenröhren, Dioden, Relais, Widerstände und Kondensatoren. Bei einem Test von 1949 berechnete der ENIAC damit Pi in 70 Stunden auf 2.035 Dezimalstellen.
Hindernisse mit Intel 4004 und Beschränkungen
Dieses Ergebnis als Grundlage nahm der Technikenthusiast "Mark Engineer", um in Ermangelung des alten Army-Rechners eine vorhandene Intel 4040-CPU antreten zu lassen. Wie in dem Blog-Eintrag zum Projekt erklärt wird, hatte er zuvor versucht, ENIAC mit einem Intel 4004 (Intels erster kommerzieller CPU) zu übertrumpfen, was jedoch nicht erfolgreich war und so griff er zur Nachfolge-CPU mit unter anderem erweitertem Befehlssatz.
Dabei hielt sich der Bastler aber an ein paar selbst auferlegte Beschränkungen, damit der Chip aus dem Jahr 1974 keinen unfairen oder allzu modernen Vorteil gegenüber dem ENIAC hatte. So musste sich der kleine Einplatinencomputer auf die reine Rechengeschwindigkeit verlassen, konnte keine zusätzlichen E/A-Anschlüsse verwenden und musste die Beschränkungen der 1970er-Ära wie die 740 kHz Taktfrequenz und 1.280 Byte RAM übernehmen, wie Tomshardware hierzu berichtet.
14,5 Jahre ohne Optimierungen
In der Testphase bei der Verfeinerung des Pi-Berechnungscodes mit einem Emulator stellte sich dann heraus, dass es ohne Optimierungen 14,5 Jahre dauern würde, bis der Intel 4040 Pi-2035 errechnet hätte. Daher waren Arbeit an der Implementierung des Algorithmus, der Nutzung des Arbeitsspeichers des Systems, beim Zahlenformat mit fester Genauigkeit und die Suche nach einem schnelleren Pfad für große Primzahlen wichtig, um die Pi-Berechnung zu beschleunigen.
Nachdem es gelungen war, den ENIAC mit dem 4040-Emulator bei einer Rechenzeit von 69 Stunden, 29 Minuten und Sekunden auszustechen, ging es an die echte Hardware, wobei es im Blog-Beitrag auch umfangreiche Hardware-Informationen, Schaltpläne und Firmware-Details gibt. Die Berechnungen für schlussendlich Pi-2048 auf der echten Hardware waren dabei sehr ähnlich zu denen, wie im Emulator, und endeten schließlich bei einer Zeit von 69:28:31 Stunden.
Dabei gab es eine leichte zeitliche Diskrepanz durch das Taktsignal der stm32-Timer, woraus sich eine leichte Übertaktung bei 740,1 kHz ergab. Zum Vergleich wurde die Berechnung dann auch auf einem ebenfalls nicht ganz taufrischen Core i5-8365U-Laptop und auf einem Mittelklasse-Android-Smartphone durchgeführt, die beide in ausgewiesenen 0,1 Sekunden zum Ergebnis kamen.

Also bei welchem Abstand, Wind etc. wird welche Artillerie wie eingestellt um Punkt X mit Munition Y zu treffen.
Die Berechnungen zur Wasserstoffbombe beschränkten sich auf Simulationen, was auch sonst?
Insofern kannst du natürlich theoretisch mit Smartphones heute viel schneller ballistische Tabellen errechnen oder simulieren, wie eine Wasserstoffbombenexplosion sich verhält.
Nur bringt das nicht viel. Ballistische Tabellen sind obsolet (Stichwort Feuerleitrechner). Simulationen für Wasserstoffbomben gibt es hundertfach, noch besser: Es gibt auch einfach Daten zu echten Explosionen.
Um allem die Krone aufzusetzen, benötigt man diese Simulationsdaten auch nicht um die Bombe zu bauen (was übrigens jeder durchschnittliche Physik-Student könnte, ebenso wie jeder Interessierte der sich ein, zwei Jahre damit beschäftigt).
Schwierig ist es nur, an die Materialen zu kommen.*
Trotzdem ist das Experiment hier schon geil
Und da ist es schon interessant, wie lange es doch eigentlich gebraucht hat. Über 20 Jahre plus Softwareoptimierungen.
*Ein paar Daten braucht man schon, allerdings über das Verhalten von Atombombenexplosionen. Diese wird bei Wasserstoffbomben ja als Zünder eingesetzt und dabei muss die Energieabgabe genauestens stimmen. Das führt aber zu weit ?.