Zuse Z3
Die Z3 war einer der ersten funktionsfähigen Digitalrechner weltweit und wurde am 12. Mai 1941 von Konrad Zuse in seiner Werkstatt in der Methfesselstraße 7 in Berlin-Kreuzberg vorgestellt.[1] Zuse hatte ihn ab 1938 in Zusammenarbeit mit Helmut Schreyer in Berlin konstruiert. Die Z3 wurde in elektromagnetischer Relaistechnik mit 600 Relais für das Rechenwerk und 1400 Relais für das Speicherwerk ausgeführt.[2] Die Z3 verwendete (wie auch bereits die Z1) die von Konrad Zuse in die Rechnertechnik eingeführte binäre Gleitkommaarithmetik. Im Gegensatz zum Entwurf und der Benutzung des ENIAC genügte der Entwurf der Z3 nicht der späteren Definition eines turingmächtigen Computers und sie wurde auch nie so genutzt. Erst nach dem Tod des Erfinders Konrad Zuse am 18. Dezember 1995[3] fand man 1998 heraus, dass sie rein theoretisch gesehen durch trickreiche Nutzung aufwendiger Umwege dennoch diese Eigenschaft hatte.[4][5] Die Z3 gilt als erster funktionsfähiger Universalrechner der Welt.[6] Sie ist auch der erste Rechner, der umgekehrte polnische Notation (UPN) nutzte (allerdings noch nicht so benannt). Die Maschine wurde am 21. Dezember 1943 bei einem Bombenangriff zerstört.
Geschichte
BearbeitenDer Entwicklung der Z3 ging die Entwicklung der noch vollständig mechanischen Z1 und des Übergangsmodells Z2 voraus. Die Deutsche Versuchsanstalt für Luftfahrt hatte sich die Z2 angeschaut und gab Zuse 25.000 RM (entspricht heute etwa 120.000 EUR[7]), damit er die Z3 bauen konnte.[8] Am 12. Mai 1941 wurde die Z3 schließlich einer Gruppe von Wissenschaftlern (darunter Alfred Teichmann und Curt Schmieden) vorgestellt. Als Zuse 1941 kurzzeitig in den Krieg eingezogen wurde, schrieb er einem Freund: „Andere lassen die Familie zurück, ich die Z3.“ (Konrad Zuse: Berühmte Alumni der Technischen Universität Berlin)[8]
Die originale Z3-Rechenmaschine wurde im Zweiten Weltkrieg durch Bombenangriffe auf Berlin am 21. Dezember 1943 zerstört. Für Zuse war das ein tragischer Moment, da er keinen Beweis mehr hatte, dass es wirklich eine funktionsfähige Z3 gegeben hatte.[8] Ein funktionsfähiger Nachbau, der 1961 von der Zuse KG zu Ausstellungszwecken angefertigt wurde, befindet sich im Deutschen Museum in München. Am ehemaligen Standort, an der Ruine des Hauses in der Methfesselstraße im Berliner Stadtteil Kreuzberg, erinnert eine Gedenktafel an Zuses Wirkungsstätte. Seit Konrad Zuses 100. Geburtstag am 22. Juni 2010 ist zudem ein Nachbau der Z3 im Konrad-Zuse-Museum in Hünfeld ausgestellt. Ebenfalls hat der Schweizer Informatiker Christof Traber die Z3 basierend auf Zuses Patentschrift von 1941 nachgebaut. Sein Nachbau steht heute in der „Enter Technikwelt Solothurn“ in Derendingen SO (Schweiz) und wird monatlich öffentlich vorgeführt.[9]
Technik
BearbeitenMerkmale
BearbeitenNeben der Tatsache, dass die Z3 der erste voll funktionsfähige programmierbare Digitalrechner war, enthielt sie auch bereits sehr viele Merkmale, die in modernen Rechnern zu finden sind:
- Verwendung des binären Zahlensystems
- Gleitkommazahlenberechnung
- Ein- und Ausgabegeräte
- Möglichkeit der Benutzerinteraktion während des Rechenvorgangs
- Mikroprogramme
- Pipelining von Instruktionsfolgen
- Numerische Sonderwerte
- Parallele Ausführung von Operationen so weit wie möglich
Die Z1 verfügte zwar bereits ebenfalls über fast alle der oben angeführten Merkmale der Z3, außerdem waren das grundlegende Design und speziell das Rechenwerk von beiden Rechnern sehr ähnlich, allerdings erregte die Z1 deutlich weniger Aufsehen, weil ihr Rechenwerk aufgrund des mechanischen Aufbaus nicht sehr zuverlässig arbeitete.
Aufbau
BearbeitenDie Z3 bestand aus
- einer Relais-Gleitkommaarithmetikeinheit (600 Relais) für Addition, Subtraktion, Multiplikation, Division, Quadratwurzel, Dezimal-Dual- und Dual-Dezimal-Umwandlung. Das Rechenwerk hat zwei Register R1 und R2.
- einem Relais-Speicher (1400 Relais) mit einer Speicherkapazität von 64 Worten, je 22 Bit (1 Vorzeichenbit, 7 Bit Exponent, 14 Bit Mantisse)
- einem Lochstreifenleser für Filmstreifen, um Programme einzulesen (nicht aber Daten)
- 30.000 Kabeln[8]
- einer Tastatur mit Lampenfeld für Ein- und Ausgabe von Zahlen und manuelle Steuerung von Berechnungen.
Der Rechner sah aus wie eine Schrankwand und füllte einen ganzen Raum. Er wog ca. eine Tonne.[8]
Funktionsweise
BearbeitenDie Z3 ist eine getaktete Maschine. Die Taktung wird von einem Elektromotor übernommen, der eine Taktwalze antreibt, eine Trommel, die sich ca. 5,3 Mal pro Sekunde dreht und während einer Drehung die Steuerung der einzelnen Relaisgruppen übernimmt. Die Drehgeschwindigkeit der Trommel entspricht dabei dem Verarbeitungstakt moderner Hauptprozessoren, womit bei diesem Rechner eine Geschwindigkeit von 5,3 Hz gegeben ist. Der Arbeitsspeicher der Z3 umfasst 176 Byte (64 Worte mit je 22 Bit).[10] Die Maschinensprache der Z3 umfasste neun Befehle[11]:
Befehl | Beschreibung | Dauer (Zyklen) |
---|---|---|
Pr z | Speicherzelle z in Register R1/R2 laden | 1 |
Ps z | R1 in Speicherzelle z schreiben | 0–1 |
La | Addition: R1 ← R1 + R2 | 3 |
Ls | Subtraktion: R1 ← R1 – R2 | 4–5 |
Lm | Multiplikation: R1 ← R1 × R2 | 16 |
Li | Division: R1 ← R1 / R2 | 18 |
Lw | Quadratwurzel: R1 ← √(R1) | 20 |
Lu | Dezimalzahl einlesen in R1/R2 | 9–41 |
Ld | R1 als Binärzahl ausgeben | 9–41 |
Die Eingabe numerischer Daten muss über die Tastatur erfolgen.
Der Lochstreifen kann nur Befehle enthalten (diese sind darauf mit 8 Bit kodiert), aber keine Zahlen. Daher müssen numerische Daten über die Tastatur eingegeben werden, weiters ist über die Tastatur auch die direkte Ausführung aller Operationen bis auf Speicherzugriffe („Pr z“ und „Ps z“) möglich. Die genaue Kodierung auf Lochstreifen findet sich im Artikel Opcode. Die Z3 kennt keine Sprungbefehle, ist jedoch mit Hilfe geschickter Ausnutzung der endlichen Rechengenauigkeit turingmächtig, wie Raúl Rojas 1998 zeigte.[12] Allerdings ist dieses Resultat nur von theoretischer Bedeutung, da Programme mit Sprunganweisungen umständlich transformiert werden müssen und die Programmlaufzeit steigt.
Speicherung von Konstanten
BearbeitenAngenommen, wir möchten die Konstanten a4, a3, a2 und a1 in den Speicheradressen 4, 3, 2 und 1 speichern, und den Wert x an Adresse 5. Das Programm, das die gewünschte Berechnung durchführt, sieht wie folgt aus:
Befehl | Beschreibung |
---|---|
Pr 4 | Laden von a4 in R1 |
Pr 5 | Laden von x in R2 |
Lm | Multiplikation von R1 und R2, Ergebnis in R1 |
Pr 3 | Laden von a3 in R2 |
Ls₁ | Addition R1 und R2, Ergebnis in R1 |
Pr 5 | Laden von x in R2 |
Lm | Multiplikation von R1 und R2, Ergebnis in R1 |
Pr 2 | Laden von a2 in R2 |
Ls₁ | Addition von R1 und R2, Ergebnis in R1 |
Pr 5 | Laden von x in R2 |
Lm | Multiplikation von R1 und R2, Ergebnis in R1 |
Pr 1 | Laden von a1 in R2 |
Ls₁ | R1 und R2 addieren, ergibt R1 |
Ld | Ergebnis anzeigen |
Nachdem die letzte Anweisung ausgeführt wurde, wird der Prozessor auf seinen ursprünglichen Zustand zurückgesetzt. Ein neuer Programmablauf kann gestartet werden.[13]
Rechenwerk
BearbeitenJede Rechenoperation der Z3 basiert auf der Addition zweier natürlicher Zahlen. Diese Basisoperation der Addition wird durch XOR(XOR(x, y), CARRY(x, y)) berechnet, wobei CARRY(x, y) die Übertragsfunktion ist, zum Beispiel CARRY(0011011, 1010110) = 0111100.
- Eine Addition zweier Gleitkommazahlen ist realisiert durch Berechnung der Differenz der Exponenten, anschließend entsprechendem Angleichen der Mantisse einer Zahl und schließlich Addition der Mantissen.
- Eine Subtraktion entspricht einer Addition, bei der das Zweierkomplement der zweiten Mantisse verwendet wird, und der Übertrag entfällt.
- Eine Multiplikation entspricht einer Addition der Exponenten und anschließender Multiplikation der Mantissen. Die Multiplikation der Mantissen wird dabei durch eine iterative Addition realisiert: 1011×0101 = 1011 + 10110×010 = 1011 + 101100×01 = 110111 + 1011000×0 = 110111.
- Eine Division entspricht einer Multiplikation, jedoch werden die Exponenten subtrahiert und eine iterative Subtraktion für die Division der Mantissen verwendet.
- Der Algorithmus zum Ziehen einer Wurzel ist durch eine iterative Division realisiert (siehe Patentschrift).
Allgemein besteht das Rechenwerk aus zwei Teilen, einem Werk für die Rechnung mit Exponenten und ein Werk für die Rechnung mit Mantissen. Für Befehle, bei denen iterative Methoden zum Einsatz kommen (Lm, Li, Lw, Lu, Ld), wird ein Sequenzer benutzt, um einzelne Teile des Rechenwerks anzusteuern. Dies entspricht grob modernen Mikroprogrammen.
Betrieb
BearbeitenFür die Z3 wurden einige Prüfprogramme und ein Programm für die Berechnung einer komplexen Matrix geschrieben, das entsprechend einer Lösung von Hans Georg Küssner[14] zur Berechnung von kritischen Flatterfrequenzen bei Tragfügeln verwendet wurde. Der Einsatz des Rechners wurde aber damals nicht als dringlich eingestuft, so dass es nie zu einem Routinebetrieb kam.[15]
Vergleich mit ENIAC
BearbeitenIn den USA und weiten Teilen der Welt wird anstelle der Z3 der 1944 gebaute ENIAC (Electronical Numerical Nuberical Integrator and Computer) als der erste Computer angesehen. Jahrzehntelang galt dieser bahnbrechende Rechner als das Spitzenmodell seiner Zeit und wurde von der Presse als der erste Computer der Welt gefeiert. Andere bedeutende Beiträge zur Entwicklung der Computertechnologie, wie die Arbeiten von John Atanasoff in den USA oder die Innovationen von Konrad Zuse, wurden dagegen weitgehend übersehen.[16] Dies wird damit begründet, dass die beiden Rechner unterschiedliche Eigenschaften haben und bei beiden Maschinen jeweils unterschiedliche Kriterien herangezogen werden, um sie als „Computer“ zu definieren.
Die Z3 war der erste Digitalrechner und gleichzeitig der erste binäre, programmierbare und turingmächtige. Allerdings war sie im Gegensatz zum ENIAC, bei dem Röhren anstatt Relais eingesetzt wurden, nicht elektronisch (ein von Helmut Schreyer gestellter Förderantrag für die Konstruktion eines elektronischen Nachfolgemodells der Z3 wurde von der Reichsregierung abgelehnt, da diese das Projekt als nicht kriegswichtig einstufte)[17]; außerdem ist die Turingmächtigkeit der Z3 nur dank eines vom Konstrukteur nicht vorhergesehenen Tricks möglich. Der ENIAC war der fünfte Digitalrechner der Geschichte und der erste, der die Kriterien „elektronisch“, „programmierbar“ und „turingmächtig“ gleichzeitig erfüllte. Er arbeitete mit dem Dezimalsystem, das heißt, er war kein Binärcomputer wie die Z3 und wie alle modernen Computer. In Deutschland wird hingegen eher die Z3 als erster Digitalrechner betrachtet – erstens aufgrund ihres höheren Alters, und zweitens wegen ihrer binären Arbeitsweise, mit der auch heute noch alle Computer arbeiten, zusätzlich wird dem Aspekt der Hardware, aus der die Rechner jeweils bestehen, eine geringere Bedeutung beigemessen.
Die historische Präferenz für den ENIAC kann auch darin begründet liegen, dass diesem nach dem Zweiten Weltkrieg in den USA eine ungleich größere Aufmerksamkeit zuteilwerden konnte als der Z3, weil diese 1943 bei einem Bombenangriff auf Berlin zerstört wurde.
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 Neuverkabelung | Nein |
Mark I | USA | 1944 | Nein | Nein | Nein | Ja, mittels Lochstreifen | Ja |
Zuse Z4 | Deutschland | März 1945 | Ja | Ja | Nein | Ja, mittels Lochstreifen | keine bedingte Sprunganweisung |
um 1950 | Ja | Ja | Nein | Ja, mittels Lochstreifen | Ja | ||
ENIAC | USA | 1946 | Nein | Nein | Ja | Teilweise, durch Neuverkabelung | Ja |
1948 | Nein | Nein | Ja | Ja, mittels Widerstandsmatrix | Ja |
Literatur
Bearbeiten- Jürgen Alex, Hermann Flessner, Wilhelm Mons, Horst Zuse: Konrad Zuse: Der Vater des Computers. Parzeller, Fulda 2000, ISBN 3-7900-0317-4.
- Jürgen Alex: Wege und Irrwege des Konrad Zuse. In: Spektrum der Wissenschaft. 1/1997, ISSN 0170-2971. (dt. Ausgabe von Scientific American)
- Jürgen Alex: Zum Einfluß elementarer Sätze der mathematischen Logik bei Alfred Tarski auf die drei Computerkonzepte des Konrad Zuse. Dissertation TU Chemnitz 2006. online (PDF; 22,1 MB)
- Jürgen Alex: Zur Entstehung des Computers – von Alfred Tarski zu Konrad Zuse. Zum Einfluß elementarer Sätze der mathematischen Logik bei Alfred Tarski auf die Entstehung der drei Computerkonzepte des Konrad Zuse. VDI Verlag, Düsseldorf 2007, ISBN 978-3-18-150051-4, ISSN 0082-2361. online (PDF; 22,3 MB)
- Raúl Rojas (Hrsg.): Die Rechenmaschinen von Konrad Zuse. Springer, Berlin 1998, ISBN 3-540-63461-4.
- Karl-Heinz Czauderna: Konrad Zuse, der Weg zu seinem Computer Z3. Oldenbourg, München/Wien 1979 (Ausgabe 120 von Berichte der Gesellschaft für Mathematik und Datenverarbeitung, Bonn), ISBN 3-486-23141-3.
- Hasso Spode: Der Computer – eine Erfindung aus Kreuzberg, in: Geschichtslandschaft Berlin, Band 5, Nicolai, Berlin 1994, ISBN 3-87584-474-2.
- Raúl Rojas: Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3. In: IEEE Annals of the History of Computing. Band 19, Nr. 2, 1997, ISSN 1058-6180, S. 5–16 (ed-thelen.org [PDF; 312 kB]).
- Konrad Zuse: Der Computer – Mein Lebenswerk. 5., unveränd. Auflage. Springer-Verlag, Berlin Heidelberg 2010, ISBN 978-3-642-12095-4 (100 Jahre Zuse).
Weblinks
Bearbeiten- Das Konrad Zuse Internet Archive (enthält fast alle von Zuse veröffentlichten Papiere und Patentschriften sowie Java-Applets und Fotografien)
- Interaktive Simulation des Z3-Addierers
- Zuse-Informationsseite von Horst Zuse (Einführungen und detaillierte Besprechungen der Z-Serie)
- Der Rechner Z3
- Konrad-Zuse-Museum
- Deutsches Museum: Die letzte Rechnung der Zuse Z3 auf YouTube, 21. Januar 2022.
Einzelnachweise
Bearbeiten- ↑ Detlef Stoller: Der erste Computer der Welt: Z3 von Konrad Zuse fand damals kaum Beachtung. 12. Mai 2021, abgerufen am 24. April 2024 (deutsch).
- ↑ Zuse 2010 S. 55.
- ↑ Detlef Stoller: Der erste Computer der Welt: Z3 von Konrad Zuse fand damals kaum Beachtung. 12. Mai 2021, abgerufen am 24. April 2024 (deutsch).
- ↑ Konrad Zuse – Pionier der Computertechnik – Bedeutende Informatiker Teil 2. Abgerufen am 27. Februar 2024.
- ↑ Die Entwicklung der Zuse Z3. Abgerufen am 27. Februar 2024.
- ↑ Vor 70 Jahren: Amerika lernt den ersten elektronischen Universalrechner ENIAC kennen, Heise online am 14. Februar 2016
- ↑ Diese Zahl wurde mit der Vorlage:Inflation ermittelt, ist auf volle 10.000 EUR gerundet und vergleicht 1941 mit Januar 2024.
- ↑ a b c d e Kristina R. Zerges, Stefanie Terp: Konrad Zuse. Der Vater des Computers. Hrsg.: Presse- und Informationsreferat der Technischen Universität Berlin (= Berühmte Alumni der Technischen Universität Berlin). omnisatz GmbH, Berlin.
- ↑ Öffentliche Führung Enter Technikwelt Solothurn | Enter Technikwelt Solothurn. Abgerufen am 27. Januar 2024.
- ↑ Horst Zuse: Z3. In: zuse.de. 21. Januar 2013, abgerufen am 28. September 2021.
- ↑ Raúl Rojas: Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3. In: IEEE Annals of the History of Computing. Vol. 19, Nr. 2, 1997, S. 5–16 (englisch, ed-thelen.org [PDF; 305 kB; abgerufen am 11. Oktober 2018]).
- ↑ Raúl Rojas: How to make Zuse’s Z3 a universal computer. In: Annals of the History of Computing. Band 20, Nr. 3. IEEE, 1998, ISSN 1058-6180, doi:10.1109/85.707574 (PDF).
- ↑ Raúl Rojas: Konrad Zuse's Early Computers. Springer, 2023, ISBN 978-3-03139876-6, S. 229.
- ↑ Hans Dieter Hellige (Hrsg.): Geschichten der Informatik. Visionen, Paradigmen, Leitmotive. Springer, Berlin 2004, ISBN 3-540-00217-0.
- ↑ Zuse 2010 S. 57.
- ↑ Konrad Zuses Rechenmaschine: sechzig Jahre Computergeschichte. Abgerufen am 24. April 2024.
- ↑ Hans-Willy Hohn: Kognitive Strukturen und Steuerungsprobleme der Forschung. Kernphysik und Informatik im Vergleich (= Schriften des Max-Planck-Instituts für Gesellschaftsforschung Köln. Band 36). Frankfurt am Main/New York 1998, ISBN 3-593-36102-7, S. 148 (Online [PDF; 1,3 MB]).