 |
Mauchly ging in Washington (D.C.)
zur Schule. Sein Vater war Physiker am Department of Terrestrial Magnestism
des Carnegie Instituts. Da Mauchly 1925 ein Stipendium erhielt, war es ihm
möglich, an der Johns-Hopkins-Universität zu studieren. Er begann
Maschinenbau zu studieren, doch seine Interessen wandelten sich, und er
wandte sich der Physik zu. 1932 promovierte er im Fach Physik. Danach
beschäftigte er sich mit der Analyse des Wetters und machte sich bald auf
die Suche nach Verfahren, die es ermöglichen, große Datenmengen möglichst
schnell zu verarbeiten. Nachdem er ab 1940 am Ursinus College unterrichtete,
begann er, sich intensiver mit elektronischen Schaltkreisen und ihren
Möglichkeiten zu beschäftigen. Er besuchte Kurse an der Moore School of
Electrical Engineering und wurde dort bald selbst zum Unterrichtenden. Er
entwickelte schnell eigene Ideen, wie man Computer effizienter machen
könnte, bis er dann 1946 gemeinsam mit J. Presper Eckert den ENIAC
fertigstellte.
Nachdem der ENIAC einsatzbereit war, verließen Mauchly und Eckert die Moore
School, um die Firma Eckert-Mauchly Computer Corporation zu gründen.
Da Mauchly beim Entwurf des ENIACs viele Konzepte von John Atanasoff - ohne
ihm Tribut zu zollen - übernahm, kam es zu einem Patentrechtsstreit zwischen
Mauchly und Atanasoff. 1973 ging dieser Rechtsstreit zugunsten von Atanasoff
aus. |
 |
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 durchfü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.
Als ROM 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 Neonbirnchen zur Anzeige der
aktuell gespeicherten Zahl (je zehn für jede der zehn Ziffern, zwei für das
Vorzeichen). 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 geradezu
stilbildend für die damalige Science-Fiction.
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 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. |