ENIAC

ENIAC auf einem Bild der US-Armee, im Vordergrund Betty Holberton, im Hintergrund Glen Beck
Programmiererin Jean Jennings (links) und Frances Bilas Spence (rechts) arbeiten 1945 am ENIAC-Bedienfeld an der Moore School of Electrical Engineering.[1]

Der Electronic Numerical Integrator and Computer (ENIAC) war der erste elektronische turingmächtige Universalrechner. Er diente der US-Armee zur Berechnung ballistischer Tabellen.

Geschichte

Im Auftrag der US-Armee wurde ENIAC ab 1942 von John Presper Eckert und John William Mauchly an der University of Pennsylvania entwickelt und am 14. Februar 1946 der Öffentlichkeit vorgestellt. Programmiert wurde er hauptsächlich von Frauen, den „ENIAC-Frauen“, siehe auch bei Programmierung.

Mauchly und Eckert gründeten 1946 eine Computerfirma, die Eckert-Mauchly Computer Corporation, die später von Remington Rand übernommen wurde. 1947 wurde ein Patent[2] angemeldet, über dessen Gültigkeit 1967 langjährige Gerichtsverfahren begannen. Sie führten dazu, dass das Patent 1973 wegen der schon vom Atanasoff-Berry-Computer (ABC) bekannten Eigenschaften für ungültig erklärt wurde; da Mauchly während eines Besuches bei Atanasoff im Jahr 1941 Gelegenheit hatte, den ABC zu studieren, und wahrscheinlich einige Inspiration daraus zog, wurde der ENIAC vom Gericht als abgeleitetes Werk angesehen. Der Ruhm für die Erfindung des ersten elektronischen Rechners, den Mauchly und Eckert bis dahin geteilt hatten, geht seither auf Atanasoff über.

Von Philadelphia aus zog der ENIAC 1947 ins nahegelegene Ballistic Research Lab in Aberdeen um. ENIAC wurde am 2. Oktober 1955 abgeschaltet.

Technische Daten

Ähnlich dem Atanasoff-Berry-Computer (1938–1942) und dem britischen Colossus (1943), einem kryptographischen Spezialrechner, benutzte der ENIAC Elektronenröhren zur Repräsentation von Zahlen und elektrische Pulse für deren Übertragung. Dies bewirkte eine deutlich höhere Rechenleistung als die von Konrad Zuses Z3 (1941), der zwar eine modernere Architektur aufwies, aber noch auf elektromechanischen Relais basierte. Wie der ASCC (erbaut zwischen 1939 und 1944, später als „Mark I“ bekannt) verwendete der ENIAC ein Dezimalsystem zur Darstellung von Zahlen.

Der ENIAC bestand aus 40 parallel arbeitenden Komponenten, von denen jede 60 cm breit, 270 cm hoch und 70 cm tief war. Die komplette Anlage war in U-Form aufgebaut, beanspruchte eine Fläche von 10 m × 17 m und wog 27 Tonnen. Er bestand aus 17.468 Elektronenröhren, 7.200 Dioden, 1.500 Relais, 70.000 Widerständen und 10.000 Kondensatoren. Die Leistungsaufnahme setzte sich zusammen aus 80 kW für die Heizung, 40 kW für die Röhrenströme und 20 kW für die Lüfter; die Anoden- und Schirmgitterleistung war auf 25 % des Maximalwerts beschränkt.[3] Der Bau des ENIAC kostete 468.000 US-$ – ein Betrag, der nur aufgrund des hohen Bedarfs an Rechenleistung seitens der US-Armee zur Verfügung stand (entspricht einem heutigen Wert von ungefähr 7.780.000 US-$).[4] Im Vergleich zu seinen Vorgängern beeindruckt der ENIAC schon durch seine Größe.

Ein großes Problem bei der Entwicklung des ENIAC war die Fehleranfälligkeit der Elektronenröhren. Wenn nur eine der 17.468 Röhren ausfiel, rechnete die gesamte Maschine fehlerhaft. Um die Kosten dieser unvermeidlichen Ausfälle gering zu halten, wurden in den ENIAC eigens Diagnoseprogramme eingebaut, die das Auffinden einer auszutauschenden Röhre erleichterten. Eine Gegenmaßnahme bestand darin, stärkere Röhren einzubauen, als man eigentlich gebraucht hätte, und diese nur mit etwa 25 % ihrer Nennleistung zu betreiben. Außerdem wurde bemerkt, dass mehr Röhren beim Ein- und Ausschalten kaputt gingen als während des laufenden Betriebs. Als Konsequenz ging man dazu über, den ENIAC einfach nicht mehr auszuschalten. Die Ausfallzeit konnte so auf wenige Stunden je Woche reduziert werden.

Fähigkeiten

Der ENIAC konnte addieren, subtrahieren, multiplizieren, dividieren und Quadratwurzeln ziehen.

Eine Addition/Subtraktion brauchte 0,2 Millisekunden, eine Multiplikation bis zu 2,8 ms, eine Division bis zu 24 ms und eine Quadratwurzel mehr als 300 ms.

Funktionsweise des ENIAC

Grundlegende Komponente für die Funktion des ENIAC war der Akkumulator, der eine 10-stellige vorzeichenbehaftete Dezimalzahl speichern sowie addieren und subtrahieren konnte. Jeder der 20 Akkumulatoren konnte eine solche Rechenoperation in 0,2 Millisekunden ausführen. Dieses Zeitintervall wird auch als Additionszyklus bezeichnet. Für Rechnungen mit doppelter Genauigkeit ließen sich zwei Akkumulatoren zusammenschalten.

Weitere arithmetische Komponenten waren der Multiplikator (drei Exemplare) und der Divider/Square-Rooter. Ein Multiplikator implementierte eine Multiplikationstabelle, nach der ein Unterprogramm gesteuert wurde, das auf vier Akkumulatoren lief. Eine Multiplikation dauerte (je nach Länge der Zahlen) bis zu 2,8 Millisekunden. Ähnlich war auch der Divider/Square-Rooter konstruiert, der für eine Division bzw. Quadratwurzel bis zu 65 Millisekunden (13 Additionszyklen je Ziffer) benötigte. Die Programmierung komplexer Berechnungen war mit dem Master Programmer (zwei Exemplare) möglich, der rekursive Programmierung erlaubte.

Für den Start der Anlage war die Initiating Unit zuständig. Beim Einschalten des ENIAC nahmen die Flipflops zufällige Werte an, sodass die Komponenten in einem undefinierten Zustand waren. Durch ein spezielles Programm der Initiating-Unit konnten die Flipflops in einen definierten Zustand gebracht, und z. B. die Akkumulatoren mit 0 initialisiert werden. Des Weiteren hatte die Initiating-Unit einen Startknopf, mit dem ein ENIAC-Programm manuell gestartet wurde. Als Taktgeber diente die Cycling Unit, die die anderen Komponenten über statische Kabel mit Steuerpulsen versorgte. Sie konnte auch in einen Schritt-für-Schritt-Modus geschaltet werden, der die Fehlersuche vereinfachte.

Programmierung

Der ENIAC wurde programmiert, indem die einzelnen Komponenten mit Kabeln verbunden und die gewünschten Operationen auf Drehschaltern eingestellt wurden.

Die Komponenten des ENIAC waren statisch miteinander verbunden, um die Taktimpulse der Cycling Unit zu empfangen. Weitere statische Verbindungen gab es zwischen den zusammenarbeitenden Komponenten (z. B. zwischen einem Multiplikator und den 4 zugeordneten Akkumulatoren). Alle weiteren Verbindungen für den Ablauf eines Programmes mussten manuell gesteckt werden. Für die Übermittlung von Programmimpulsen gab es auf Fußhöhe waagerecht verlaufende Kabel in Program Trays, für Zahlenpulse wurden die Digit Trays in Kopfhöhe genutzt. An Trays und Komponenten gab es Buchsen, in die Kabel gesteckt werden konnten.

Ein deutlicher architektonischer Nachteil des ENIAC war das Fehlen eines Befehlsspeichers. Schon die Z1, Z3 und der Mark I lasen ihre Befehle von einem Lochstreifen, während der ENIAC für jedes Programm neu verkabelt werden musste. Nach Ideen John von Neumanns wurde der ENIAC 1948 zu einem Computer mit Befehlsspeicher umgebaut. Dies verlangsamte seine Rechenleistung auf 1/6, aber die Dauer des Umprogrammierens verringerte sich ebenfalls, sodass insgesamt ein Zeitgewinn erzielt wurde.

Der ENIAC wurde von Frauen programmiert, den „ENIAC-Frauen“, im Englischen ENIAC girls. Dazu gehörten u. a. Jean Bartik, Kathleen „Kay“ McNulty Mauchly Antonelli, Adele Goldstine, Betty Snyder, Betty Holberton, Marlyn Wescoff, Frances Bilas und Ruth Teitelbaum.[5] Sie hatten zuvor für das Militär ballistische Berechnungen an mechanischen Tischrechnern angestellt.[6][7][8]

„An der Universität in Philadelphia wurden im Auftrag der Armee ballistische Tabellen berechnet – Fibeln für die Artillerie, die für Geschütze die Flugbahn der verschiedenen Geschosse verzeichneten. Die Rechnerei dafür erfolgte von Hand, die einzige Hilfe eine Tabelliermaschine, die zu multiplizieren und zu dividieren vermochte. Die Angestellten, die rechneten, hießen nach ihrer Tätigkeit – Computer, die Rechner.“[9]

Datenausgabe

Als Festwertspeicher dienten der Constant Transmitter (bestehend aus drei Komponenten) und die Function Tables (drei Komponenten, je drei Exemplare). Ersterer diente hauptsächlich zur Ansteuerung eines Lochkartenlesers. Auf letzteren wurden je 104 zehnstellige Dezimalzahlen (allerdings nur sechs Stellen individuell einstellbar) bei einer Zugriffszeit von fünf Additionszyklen gespeichert. Rechenergebnisse konnten auch gedruckt werden: Über das Printer Panel (bestehend aus drei Komponenten) konnte ein Lochkartendrucker angesteuert werden.

Eine unmittelbare visuelle Ausgabe war in die Akkumulatoren integriert: Im oberen Bereich der Komponente gab es 102 Glimmlampen zur Anzeige der aktuell gespeicherten Zahl (je zehn für jede der zehn Ziffern, zwei für das Vorzeichen).

Kultureller Einfluss

Anlässlich der ersten öffentlichen Präsentation des ENIAC im Februar 1946 stülpte man einen halbierten Tischtennisball über jede Leuchte – ein Design, das Vorbild für viele folgende Computer war und stilbildend für die damalige Science-Fiction.

Vergleich mit anderen frühen Computern

Computermodell Land Inbetriebnahme Gleitkomma-
arithmetik
Binär Elektronisch Programmierbar Turingmächtig
Zuse Z3 Deutschland Mai 1941 Ja Ja Nein Ja, mittels Lochstreifen über Umwege, nie genutzt
Atanasoff-Berry-Computer USA Sommer 1941 Nein Ja Ja Nein Nein
Colossus UK 1943 Nein Ja Ja Teilweise, durch Neu­ver­kabelung Nein
Mark I USA 1944 Nein Nein Nein Ja, mittels Lochstreifen Ja
Zuse Z4 Deutschland März 1945 Ja Ja Ja Ja, mittels Lochstreifen keine bedingte Sprunganweisung
um 1950 Ja Ja Ja Ja, mittels Lochstreifen Ja
ENIAC USA 1946 Nein Nein Ja Teilweise, durch Neu­ver­kabelung Ja
1948 Nein Nein Ja Ja, mittels Wider­stands­matrix Ja

Nachbauten und Simulatoren

ENIAC auf einem Chip, University of Pennsylvania (1995) – Museum für Computergeschichte

1996 finanzierte die University of Pennsylvania zu Ehren des 50. ENIAC-Jubiläums ein Projekt namens „ENIAC-on-a-Chip“, das einen integrierten Schaltkreis mit gleicher Funktionalität und den Maßen 7,44 mm × 5,29 mm hervorbrachte. Obwohl dieser Chip mit 20 MHz Taktfrequenz um ein Vielfaches schneller rechnete als der Jubilar und damit nicht als originalgetreue Nachbildung gelten kann, entsprach die Rechengeschwindigkeit nur einem Bruchteil der von zeitgenössischen PCs der späten 1990er Jahre.[10]

Am 2. Juni 2004 wurde ein seit 2003 betriebenes Projekt an der Freien Universität Berlin fertiggestellt, das ENIAC als Java-Applet auf herkömmlichen PCs im Webbrowser simuliert.[11] Dazu wurde im Juni 2006 eine praktische Anleitung veröffentlicht, welche ENIAC als Modulo-Rechner programmiert.[12]

Literatur

  • J. P. Eckert Jr., J. W. Mauchly, H. H. Goldstine, J. G. Brainerd: Description of the ENIAC and Comments on Electronic Digital Computing Machines. Moore School of Electrical Engineering, University of Pennsylvania, 1945.
  • H. H. Goldstine, A. Goldstine (1946): The Electronic Numerical Integrator and Computer (ENIAC). In B. Randell (Eds.): The Origins of Digital Computers, Springer-Verlag (1982).
  • Herman Lukoff, From Dits to Bits: A personal history of the electronic computer, Robotics Press, Portland, Oregon 1979
  • J. Van der Spiegel, J. F. Tau, T. F. Ala'ilima, and L. P. Ang (2000). The ENIAC: History, Operation and Reconstruction in VLSI. In R. Rojas (Eds.): The First Computers; History and Architectures, MIT Press.
  • Arthur W. Burks: Electronic Computing Circuits of the ENIAC. Proceedings of the I.R.E., S. 756–767, August 1947.

Weblinks

Commons: ENIAC – Album mit Bildern, Videos und Audiodateien

Die ENIAC-Programmiererinnen

Einzelnachweise

  1. Steve Lohr: Jean Jennings Bartik, a Computer Pioneer, Dies at 86. (nytimes.com [abgerufen am 8. Oktober 2018]).
  2. Patent US3120606: Electronic numerical integrator and computer. Angemeldet am 26. Juni 1947, veröffentlicht am 4. Februar 1964, Anmelder: Sperry Rand Corporation, Erfinder: John Presper Eckert jr.; John W. Mauchly.
  3. Arthur W. Burks: Electronic Computing Circuits of the ENIAC. Proceedings of the I.R.E., S. 756–767, August 1947.
  4. Diese Zahl wurde mit der Vorlage:Inflation ermittelt, ist auf volle 10.000 $ gerundet und bezieht sich auf den zurückliegenden Januar.
  5. Jennifer S. Light: When Computers Were Women. In: Technology and Culture, 40.3, 1999
  6. Jamie Gumbrecht: Rediscovering WWII's female 'computers'. CNN, 8. Februar 2011, abgerufen am 30. Dezember 2022 (englisch).
  7. The ENIAC women: The programmers behind the world's first computer. Abgerufen am 15. Dezember 2022 (englisch).
  8. Claire Amundson: The ENIAC Girls who revolutionised computer programming. In: Girl Museum. 13. Dezember 2016, abgerufen am 15. Dezember 2022 (englisch).
  9. Als Computer weiblich waren. In: Süddeutsche Zeitung TECHNIK, 41/2015
  10. Nachbau des ENIAC auf einem Chip. Archiviert vom Original am 5. August 2020; abgerufen am 5. August 2020 (englisch).
  11. Simulation des ENIAC. Abgerufen am 25. Juli 2021 (englisch).
  12. Programmierbeispiel der Modulo-Funktion. Archiviert vom Original am 29. Mai 2013; abgerufen am 29. Mai 2013 (englisch).