Ein militärischer Bedarf überfordert die vorhandenen Rechenmittel
Im Zweiten Weltkrieg benötigt die US-Armee Schusstafeln. Sie geben an, wie ein Geschütz für bestimmte Bedingungen und die gewünschte Reichweite einzustellen ist. Dafür müssen zahlreiche Flugbahnen berechnet werden. Die Anfangsgeschwindigkeit allein reicht nicht aus, denn auch Schwerkraft und Luftwiderstand wirken auf das Geschoss.
Das englische Wort computers bezeichnet damals Menschen, die Berechnungen durchführen. Diese Rechnerinnen und Rechner bearbeiten die Flugbahnen mithilfe von Recheninstrumenten. Daneben kommen Anlagen wie der Differentialanalysator zum Einsatz. Die Schwierigkeit liegt in der Menge der Fälle und dem Zeitaufwand für ihre Berechnung.
Mauchly setzt sich für eine wesentlich schnellere elektronische Verarbeitung ein. Eckert trägt entscheidend zur technischen Umsetzung bei. Das Projekt entsteht an der Moore School of Electrical Engineering, finanziert von der Armee für das Ballistic Research Laboratory. Die militärische Zusage im Frühjahr 1943 geht dem förmlichen Vertrag W-670-ORD-4926 voraus, der auf den 5. Juni 1943 datiert ist. Er ist im Archivverzeichnis der University of Pennsylvania als Beweisstück Ptf 1531 aufgeführt. Projektgenehmigung und vertragliche Ausgestaltung sind also verschiedene Schritte. Der Bau beginnt noch im selben Jahr.
Der Name Electronic Numerical Integrator and Computer beschreibt das Ziel: numerische Berechnungen durchzuführen, darunter die für Flugbahnen erforderliche Integration. ENIAC bleibt eng mit der Ballistik verbunden, lässt sich aber auch für andere numerische Aufgaben einrichten.
Eine elektronische Maschine in großem Maßstab bauen
Elektronenröhren können Signale schalten, ohne auf die Bewegung eines mechanischen Kontakts warten zu müssen. Eine langsame Operation durch eine schnelle zu ersetzen, genügt jedoch nicht. Die gesamte Anlage muss zusammenhängend arbeiten. Signale müssen die richtige Form haben und zum richtigen Zeitpunkt eintreffen.
Die technische Beschreibung des War Department von 1946 nennt rund 18.000 Röhren in einer Anlage aus großen Schalttafeln. Das ist eine Gemeinschaftsleistung: Schaltungsentwurf, Verkabelung, Stromversorgung, Montage, Tests und Wartung beschäftigen weit mehr Menschen als die beiden Namen, die gewöhnlich mit dem Projekt verbunden werden.
Zur Ingenieurarbeit gehört auch die Entwicklung geeigneter Prüfmittel. Im vom Smithsonian aufbewahrten Interview schildert Eckert, wie sein Team unter anderem Oszilloskope und Impulsgeneratoren für die Tests entwickelt. Einen Fehler beobachten zu können, ist Teil der Aufgabe, eine brauchbare Maschine zu bauen.
ENIAC wird nicht rechtzeitig fertig, um seine Aufgabe während der Kampfhandlungen des Zweiten Weltkriegs zu erfüllen. Ende 1945 werden Berechnungen durchgeführt; im Februar 1946 folgt die öffentliche Vorstellung. Finanzierungskontext, erste Einsätze und Bekanntgabe müssen deshalb auseinandergehalten werden.
Was ENIAC speichern und berechnen kann
Elektronisch rechnen, aber dezimal
ENIAC arbeitet mit Dezimalzahlen. Elektronisch bedeutet nicht automatisch binär: Eine Ziffer kann durch den Zustand einer Schaltung dargestellt werden, die zehn Werte unterscheidet.
Jeder seiner zwanzig Akkumulatoren kann eine zehnstellige Dezimalzahl mit Vorzeichen speichern. Ein Akkumulator bewahrt nicht nur einen Wert auf, sondern ist auch an Addition und Subtraktion beteiligt. Zusätzliche Einheiten übernehmen Multiplikation, Division und das Ziehen von Quadratwurzeln.
| Bestandteil |
Aufgabe bei der Berechnung |
| Akkumulatoren |
Zahlen speichern und insbesondere addieren oder subtrahieren. |
| Zusätzliche Recheneinheiten |
Weitere Operationen wie Multiplikation und Division ausführen. |
| Funktionstafeln |
Über Schalter eingestellte Werte bereitstellen; später werden sie auch für Befehle verwendet. |
| Steuerung und Programmierung |
Das Auslösen und Wiederholen von Operationen organisieren. |
| Lochkartengeräte |
Daten eingeben und Ergebnisse aufnehmen. |
Das Dokument von 1946 beim Smithsonian unterscheidet Rechen-, Speicher- und Steuerfunktionen. Diese Aufgaben sind über die Anlage verteilt. Hinter den Tafeln steckt nicht etwa ein einzelner Prozessor nach heutigem Vorbild.
Geschwindigkeit beseitigt die Speichergrenzen nicht
Ein Akkumulator kann ungefähr 5.000 Additionen pro Sekunde durchführen. Das beschreibt eine arithmetische Leistung, nicht die Zahl vollständig berechneter Flugbahnen. Schon eine einzelne Flugbahn erfordert viele Rechenschritte.
Die zwanzig Zahlen in den Akkumulatoren sind außerdem von den Konstanten zu unterscheiden, die Funktionstafeln oder Karten liefern. Für Zwischenergebnisse steht nur begrenzter Arbeitsspeicher zur Verfügung, und manche Operationen beanspruchen mehrere Akkumulatoren. Die Verteilung der Werte wirkt sich deshalb unmittelbar auf das Programm aus.
Lochkarten verbinden die Maschine mit außerhalb vorbereiteten Daten. In der ursprünglichen Ausführung bilden sie keinen allgemeinen Befehlsstrom, der dem Laden eines heutigen Programms entspricht.
Die sechs Programmiererinnen machen ENIAC nutzbar
Von menschlichen Rechnerinnen zu Maschinenprogrammen
1945 werden sechs Frauen ausgewählt, um die Berechnungen für ENIAC vorzubereiten. Ihre Erfahrungen mit numerischen Verfahren und Flugbahnen sind wichtig: Bevor sie eine Aufgabe an die neue Maschine anpassen, müssen sie sie verstehen.
Je nach Lebensabschnitt erscheinen ihre Namen in den Quellen in unterschiedlichen Formen. Diese Zuordnung hilft, dieselben Personen in verschiedenen Dokumenten und Erinnerungen wiederzuerkennen.
| Name in Berichten über die Anfangszeit |
Auch bekannt als |
| Kathleen „Kay“ McNulty |
Kathleen Mauchly Antonelli |
| Jean Jennings |
Jean Jennings Bartik, häufig Jean Bartik genannt |
| Betty Snyder |
Frances Elizabeth „Betty“ Holberton |
| Marlyn Wescoff |
Marlyn Meltzer |
| Frances Bilas |
Frances Spence |
| Ruth Lichterman |
Ruth Teitelbaum |
Die IEEE Computer Society würdigt sie gemeinsam. Die Liste erfasst nicht alle Menschen, die ENIAC später programmieren oder bedienen. Sie benennt die sechs Pionierinnen seiner ersten Programmierung.
Laut IEEE Computer Society leiten Jean Bartik und Betty Holberton die frühen Programmierarbeiten gemeinsam. Die University of Pennsylvania schreibt ihnen insbesondere die Vorbereitung jener Flugbahnberechnung zu, auf der die Pressevorführung von 1946 beruht.
Aus einem Verfahren wird eine ausführbare Berechnung
Die Aufgabe besteht nicht darin, eine Gleichung auf eine Tafel zu übertragen. Ein Verfahren muss in Operationen zerlegt werden. Dabei ist zu entscheiden, wo Zahlen liegen und in welcher Reihenfolge die Einheiten sie austauschen sollen. Schaltpläne und Gespräche mit den Ingenieuren werden zu wichtigen Arbeitsmitteln.
Ein vereinfachtes Lehrbeispiel aus der Flugbahnberechnung verdeutlicht das Prinzip, ohne das historische Programm nachzubauen. Bewegung lässt sich näherungsweise in kleinen Zeitschritten berechnen:
- die Kräfte für den aktuellen Zustand bestimmen;
- die Änderung der Geschwindigkeit berechnen;
- daraus eine neue Position ermitteln;
- prüfen, ob die Berechnung weiterlaufen soll;
- mit dem erreichten Zustand wiederholen.
Dabei müssen Werte von einem Durchlauf zum nächsten erhalten bleiben. Speicherplätze sind zu reservieren, Konstanten bereitzustellen, Wiederholungen zu organisieren und Abbruchbedingungen festzulegen. Eine falsche Zuordnung kann einen noch benötigten Wert überschreiben, obwohl jede Rechenschaltung korrekt funktioniert.
Das ist Programmierarbeit im vollen Sinn: mathematisches Denken, verfügbare Mittel und Steuermechanismen müssen zusammenpassen. Der Vergleich mit Ada Lovelace und ihrer Note G zeigt einen Unterschied der Ausgangslage. Hier muss die Vorbereitung einer Berechnung zu ihrer überprüfbaren Ausführung auf einer realen Maschine führen.
Verbindungen einrichten und Ergebnisse prüfen
Ursprünglich wird ENIAC über Verbindungen und Schalter programmiert. Die Wege der Zahlen und die Signale zur Steuerung der Operationen müssen eingerichtet werden. Das Programm steckt damit in den Einstellungen der Anlage, nicht in einer Datei, die in den Speicher geladen wird.
Ist die Konfiguration vorbereitet, können die Rechenschritte automatisch ablaufen. Die Programmiererinnen führen nicht jede Addition selbst aus. Ein wesentlich anderes Problem kann allerdings eine neue Einrichtung der Hardware mit anschließenden Tests erfordern.
Die Kontrolle der Berechnungen gehört untrennbar dazu. Erwartete und tatsächliche Ergebnisse müssen verglichen und die Stelle der Abweichung gefunden werden. Eine falsche Einstellung ist von einem elektronischen Defekt zu unterscheiden. Eine gedruckte oder gestanzte Ausgabe beweist für sich allein noch keine Richtigkeit.
Fehlersuche bedeutet deshalb mehr, als eine Röhre auszutauschen. Sie betrifft auch das numerische Verfahren, die Reihenfolge der Operationen, vorbereitete Werte und den Signalfluss. Diese Verantwortung erklärt, weshalb die Programmiererinnen keine bloßen Hilfskräfte einer Hardware sind, die angeblich schon alles gelöst hat.

Vereinfachter Arbeitsablauf für die ursprüngliche Ausführung um 1946. Die Pfeile zeigen Vorbereitung und Ausführung, nicht die genaue Verkabelung. Karten liefern hier Daten; die Einstellungen legen das Programm fest.
So lassen sich drei Dinge unterscheiden: das mathematische Problem, das Programm zur Organisation der Rechenschritte und die Daten des konkreten Falls. Ein Verfahren kann mit neuen Daten arbeiten. Daraus folgt nicht, dass sich jedes neue Verfahren ebenso leicht einrichten lässt.
Dieser Unterschied erklärt den Nutzen eines Rechners für allgemeine Aufgaben. ENIAC bleibt nicht auf eine bestimmte kryptoanalytische Untersuchung beschränkt. Seine Flexibilität verlangt aber Vorbereitung. Allgemein einsetzbar bedeutet weder, wie ein PC zu funktionieren, noch frei von praktischen Grenzen zu sein.
Anwendungen über Schusstafeln hinaus
Die ersten Einsätze sind nicht mit der öffentlichen Ballistikvorführung gleichzusetzen. Die American Physical Society beschreibt eine Berechnung für Los Alamos im Dezember 1945, noch vor der Bekanntgabe der Maschine. Ihre Ziele liegen in der Kernforschung. Daraus darf nicht geschlossen werden, ENIAC sei bereits für die Bombardierungen im zuvor beendeten Krieg verwendet worden.
Militärische und wissenschaftliche Berechnungen begleiten den weiteren Einsatz. 1947 wird ENIAC zum Aberdeen Proving Ground verlegt. Er dient unter anderem numerischen Untersuchungen mit umfangreichen, wiederholten Berechnungen. Kernphysikalische Simulationen gehören dazu. Rechnen wird in diesem Umfeld selbst zu einem Werkzeug des Experimentierens.
Der Wert solcher Arbeiten hängt auch von vorbereiteten Programmen und verlässlichen Ergebnissen ab. Eine Maschine kann die Berechnungen einer klar definierten physikalischen Aufgabe schnell ausführen und trotzdem eine nutzlose Antwort liefern, wenn Modell, Daten oder Prüfungen ungeeignet sind.
1948: Codierte Befehle verändern die Programmierung
Ein gemeinsamer Umbau
Nach dem Krieg suchen die Teams nach Möglichkeiten, ENIACs Steuerung zu vereinfachen und neu zu organisieren. Central Control for ENIAC, 1947 von Adele Goldstine verfasst, dokumentiert diese Arbeit. Die kommentierte Ausgabe beschreibt die Zusammenarbeit unter anderem von John von Neumann, Herman und Adele Goldstine, Laborpersonal, Klara von Neumann, Nicholas Metropolis und einer von Jean Bartik geleiteten Gruppe.
Im neuen Betrieb stehen codierte Befehle in den Schaltertafeln und werden von einer Steuereinrichtung gelesen. Das gesamte Programm wird nicht mehr allein durch direkte Verbindungen zwischen den Einheiten abgebildet. Eine Folge von Codes kann Operationen und ihre Reihenfolge bestimmen.
Die Forschungen von Thomas Haigh, Mark Priestley und Crispin Rope ordnen den Umbau historisch ein. Das Computer History Museum nennt den 12. April 1948 als Datum, an dem ein komplexes Programm in dieser Betriebsart läuft: eine Monte-Carlo-Simulation. Der ENIAC von 1948 darf deshalb nicht so beschrieben werden, als sei er gegenüber 1946 unverändert geblieben.
Ein Befehlsspeicher anders als beim Manchester Baby
Die Schaltertafeln halten Befehle bereit, die die Maschine lesen kann. Während der Berechnung schreibt sie sie aber nicht wie gewöhnliche Daten um. Diese Aufgabe lässt sich mit Nur-Lese-Speicher, also ROM, vergleichen, ohne darin einen baugleichen heutigen Baustein zu sehen.
Der Manchester Baby erprobt 1948 ein Programm in wiederbeschreibbarem elektronischem Speicher, der auch für Daten genutzt wird. Solche Unterschiede machen Bezeichnungen wie „erster Rechner mit gespeichertem Programm“ schwierig. Es muss klar sein, welche Eigenschaft und welche Ausführung verglichen werden.
Die ersten Rechner mit gespeichertem Programm, darunter Baby und EDSAC, führen diesen Vergleich weiter. Entscheidend ist das Verständnis der veränderten Organisation, nicht eine einzige Rangliste unterschiedlicher Leistungen.
ENIAC, EDVAC und Colossus auseinanderhalten
EDVAC ist ein anderes Projekt, nicht der neue Name von ENIAC. Der First Draft of a Report on the EDVAC, 1945 unter dem Namen John von Neumanns verbreitet, beschreibt eine andere Organisation von Rechnen und Speicher. Er geht aus gemeinsamen Überlegungen hervor, an denen unter anderem Eckert und Mauchly beteiligt sind. Das gespeicherte Programm lässt sich deshalb nicht allein einer Person zuschreiben.
Der Artikel zur von-Neumann-Architektur erklärt das Prinzip. Hier ist vor allem zwischen dem Entwurf einer neuen Maschine und der Veränderung einer bestehenden Maschine zu unterscheiden. ENIACs Umbau und EDVACs Entwicklung hängen zusammen, bleiben aber unterschiedliche Geschichten.
| Maschine oder Projekt |
Hilfreiche Einordnung |
| Colossus |
Programmierbare elektronische Verarbeitung für bestimmte kryptoanalytische Aufgaben. |
| Ursprünglicher ENIAC |
Allgemeine numerische Berechnungen, vorbereitet durch Verbindungen und Schalter. |
| Umgebauter ENIAC |
In Schaltertafeln codierte Befehle mit neu organisierter Steuerung. |
| EDVAC |
Ein anderes Rechnerprojekt mit einer Organisation von Programm und Daten im Speicher. |
Die Geschichte von Colossus und Tommy Flowers zeigt, weshalb „elektronisch“, „programmierbar“, „allgemein einsetzbar“ und „mit gespeichertem Programm“ keine Synonyme sind.
Anerkennung muss die Programmierung einschließen
Die öffentliche Vorstellung 1946 verschafft ENIAC große Aufmerksamkeit. Die Programmiererinnen erhalten dabei nicht die ihrem Beitrag entsprechende Anerkennung. Die University of Pennsylvania und das ENIAC Programmers Project erinnern daran, wie lange ihre Arbeit im Hintergrund bleibt.
Die von Kathy Kleiman gesammelten Erinnerungen helfen, diesen Teil der Geschichte wieder sichtbar zu machen. Jean Bartik, Betty Holberton und ihre Kolleginnen sollten nicht nur Namen einer späten Ehrung sein. Ihre Entscheidungen erklären, wie die Maschine zu einem nutzbaren Recheninstrument wird.
ENIAC bleibt bis 1955 in Betrieb. Seine Bedeutung liegt nicht nur in Größe oder Tempo. Rechnerbau, Methodenentwicklung, Programmierung und Ergebniskontrolle erweisen sich als zusammengehörige Aufgaben. Sein Vermächtnis ist eine gemeinsame technische und geistige Leistung.
Häufige Fragen
Arbeitete ENIAC binär?
Nein. Er rechnete dezimal und besaß unter anderem Akkumulatoren für zehnstellige Zahlen. Elektronische Schaltungen allein verlangen keine binäre Darstellung.
Mussten die sechs Programmiererinnen für jede Operation Kabel umstecken?
Nein. Sie bereiteten eine Konfiguration vor, die einen automatischen Ablauf ermöglichte. Eine neue Aufgabe konnte eine andere Einrichtung verlangen. Die Operationen einer bereits organisierten Berechnung wurden aber nicht alle von Hand ausgelöst.
Warum gibt es keine einzige Rechenzeit für eine Flugbahn?
Die Zeit hängt von Verfahren, Daten, Genauigkeit und Betrachtungsumfang ab: nur die Berechnung, das Einlesen der Karten oder auch die Programmvorbereitung. Aus dem Additionstempo lässt sich die Dauer einer vollständigen Aufgabe nicht unmittelbar ableiten.
War ENIAC schon während der Kampfhandlungen des Zweiten Weltkriegs im Einsatz?
Er wurde in diesem Zusammenhang entworfen und finanziert. Die ersten Einsätze stammen jedoch aus dem späten Jahr 1945, nach dem Ende der Kämpfe. Die öffentliche Vorstellung im Februar 1946 ist ein weiterer, davon zu unterscheidender Schritt.
Wurde ENIAC durch den Umbau von 1948 zu EDVAC?
Nein. ENIAC behielt seine Identität und bekam eine neue Steuerung mit codierten Befehlen. EDVAC war ein anderes Projekt. Beim Vergleich gespeicherter Programme muss außerdem zwischen Schaltertafeln und wiederbeschreibbarem elektronischem Speicher unterschieden werden.