Konrad Zuses Rechenmaschinen 60 Jahre Computergeschichte Vortrag von Marco Pomalo & Thomas Döhring
Übersicht Geschichte/Entstehung Grundstrukturen Tiefergehende Behandlung Vergleich mit ABC, Mark I & ENIAC Erfolg hat viele Väter
Historisches I Zuses Antrieb nicht Theorie sondern Praxis (Möglichkeit suchen, lange Ketten langweiliger Rechenschritte vollständig zu automatisieren) Dank Ausbildung als Bauing. & Fähigkeit aus einfachsten Teilen komplexe Systeme herzustellen, sehr früh Idee eines programmierbaren Automaten
Historisches II Zuse war kein Mathematiker Mit Berechenbarkeitsbegriff in mathematischer Fassung hatte er sich nie auseinandergesetzt. 1936 erdachte Zuse alles bereits im Ansatz 1936 mechanischer Speicher fertig Trennung von Speicher und Prozessor
Der junge Zuse an der Arbeit
Historisches III 1936 Alan H. Turing: Turingmaschine Erst viel später lernte Zuse Alan H. Turings Arbeiten kennen Konzept des Computers im heutigen Sinne bereits 1936 entstanden
Aufbau der Z1 zu Hause
Historisches IV 1.Versuch: Z1 Praktisch vollständig mechanisches Gerät 4 arithm. Operationen und Quadratwurzel in bel. Reihenfolge mit gespeicherten Zahlen Fertigstellung 1938 Aber: mech. Bauteile (bewegl. Bleche) sind nicht zuverlässig genug
Aufsicht Z1
Aufsicht Z1
Historisches V Umstieg auf Relaistechnik Zuerst Experimente mit hybrider Maschine (Z2) Bau der Z3 Fertigstellung 1941 Vom logischen Standpunkt äquivalent zur Z1 in 5 Jahren seine Vision von 1936 realisiert
Z3
Historisches VI Erster vollautomatischer, programmgesteuerter Rechner der Welt Umstritten, wo/wann erster Computer Struktur der Z1&Z3 sehr modern im heutigen Sinne (viele Konzepte & Strukturen, die heute selbstverständlich sind) Patentanmeldung von 1941 Z1 und Z3 haben den selben logischen Aufbau, die Z3 wurde 1941 am Patentamt angemeldet. Wer hat den ersten Computer entwickelt?
Historisches VII Originale beider Maschinen im II.WK verloren gegangen Später Nachbau durch Zuse: 1966 Z3 1987-1989 Z1 Alle Unterlagen wurden im 2. Weltkrieg zerstört, da musste Zuse weit aus dem Gedächtnis die Maschinen nachbauen. Sie befinden sich Heute in deutschen Museen und funktionieren zum Teil.
Nachbau der Z1
Grundstrukturen I Grundsatzentscheidung: Binärsystem Jedes Bauteil, dass zwei unterschiedliche Zustände annehmen kann, ist geeignet, eine Binärziffer darzustellen Z1 Bleche Z2 Hybrid Z3 elektromagnetische Relais Wahl des Binärsystems nicht selbstverständlich Mark I und ENIAC mit Dezimaldarstellung (elektronisch mit Kette von 10 Vakuumröhren)
Grundstrukturen II Binärdarstellung für mechanische und elektronische Maschinen viel einfacher. In der Maschine sind die Zahlen „unter sich“ Der Mensch braucht den Berechnungsschritten nicht zu folgen Wichtig ist, ob das Ergebnis korrekt ist
Grundstrukturen III Aufbau: Speicher: RW: 64 Zahlen zu je 22 Bit regelmäßige Struktur einfach zu realisieren RW: 4 arithmetische Operationen und Quadratwurzel Durch Zuse (um Bauteile zu sparen) in vieler Hinsicht optimiert sehr komplex Steuerung durch Acht-Kanal-Lochstreifen
Abtaster und Lochstreifen Z1
Grundstrukturen IV Gleitkommadarstellung (floating point notation) Darstellung als Produkt einer Zahl mäßiger Größe (der Mantisse) und einer Potenz Zahlen sehr unterschiedlicher Größenordnung werden dadurch erst der Maschine zugänglich Normalisierung der Zahlendarstellung, so dass Mantisse stets zw. 1 und 2 (Binärsystem) Genauigkeit: Speicher 14 Bit, RW 14+2 Bit Binäre Zahlen kann man wie Dezimalzahlen :mit Ziffern vor und nach dem Komma schreiben. Die Stellen davor stellen die Potenzen 20,21,22 usw. dar. Die Stellen nach den Komma 2-1,2-2 usw. Beispiel: ½ Binär als 0,1=2-1, ¼ ist 0,01=2-2. Normalisierung: 8731 = 8,371*103 im Dezimalsystem. Die 2 Extra Bit sind zur Erhöhung der Genauigkeit durch korrekte Rundung. 0000100 0001110100110 ± Exponent Mantisse
Grundstrukturen V Gleitkommadarstellung (floating point notation) Man kann die Eingabedaten als Dezimalzahlen mit bis zu vier Mantissenziffern eingeben RW wandelt automatisch in Binär um und wieder zurück. Am Ende wird das Ergebnis über ein Lampenfeld angezeigt Dieselbe Technik wird noch heute angewandt Beispiel: an der Tastatur: für 4,356 die Mantisse 4356 eingeben und den Exponent –3 über eine Kommaeingabevorrichtung einstellen
Grundstrukturen VI Die wichtigsten Bauteile: Speicher (1400 Relais) RW (600 Relais) Kontrolleinheit (für die einzelnen Befehle) (LW) Zahleneingabe & Zahlenausgabe
Eingabe & Ausgabe
Grundstrukturen VII Steuerung Durch Lochstreifen aus 35mm-Kinofilm Abtastung jeweils acht versetzt nebeneinander liegender Stellen des Streifens (wo Loch ist, wird Kontakt geschlossen) Decodiereinheit löst dann die zum so empfangenen Befehl gehörige Aktion aus Nach deren Beendigung Lochstreifen einen Schritt vor Nächste Abtastung
Abtaster Z3
Tiefere Strukturen I Programmierung Der Programmierer verfügt über 9 Befehle: 2 für Ein- und Ausgabe 2 für das Laden und Lesen des Speichers 5 für die arithmetischen Operationen
Tiefere Strukturen II ± Mantisse Z Komma K Eingabe Lu Pr z Rechenwerk Af Bf Register 1 ± Ab Bb Register 2 Speicher … Ld + Ls1 – Ls2 x Lm : Li Lw Ps z ± Komma K Mantisse R Ausgabe
Tiefere Strukturen III Programmierung Arithmetische Befehle verknüpfen die Inhalte der Register 1 und 2 Erster Ladebefehl lädt Register 1; jeder weitere Ladebefehl überschreibt Register 2, bis Register 1 gelöscht wird Nach jeder Speicheroperation sind beide Register gelöscht
Tiefere Strukturen IV Register Zuse gab den zwei Gleitkomma-Registern die Kennzeichen „f“ und „b“ Im RW ist noch ein Register gekennzeichnet mit „a“, das als temporäres Register verwendet wird
Tiefere Strukturen V LW Seine Aufgabe ist es, im RW die richtigen Aktionen auszulösen Für mehrstufige Befehle rotierender Schrittschalter, der im richtigen Moment Relais im RW ein/ausschaltet Schrittschalter entspricht dem Mikroprogramm heutiger Prozessoren
Schrittschalter
Tiefere Strukturen VI Zyklen oder Takte Die Befehle besteht aus einem oder mehreren Maschinenzyklen Pr ist in einem Zyklus ausführbar Ls1 und Ls2 benötigen 3 bis 5 Zyklen Lm, Li, Lw brauchen bis zu 20 Zyklen Bei Befehlen, die mehrere Takte benötigen, werden im zweiten Zyklus der Lochstreifenleser und die Dekodiereinheit bis Ende zum der Operation angehalten Bei der Z1 ist eine Umdrehung einer großen Hand- oder motorgetriebenen Kurbel ein Zyklus
Handkurbel Z1
Tiefere Strukturen VII Schritte Jeder Zyklus ist wiederum in 5 Schritte unterteilt Grundmuster zur Befehlsverarbeitung: Zyklus 1 Zyklus 2 I II III IV V I II III IV V I II Dekodieren Ausführen Operanden vorbereiten Resultat zurückschreiben
Tiefere Strukturen IX Numerische Algorithmen I Addition und Subtraktion Nur diese Operationen werden direkt durch Relaisschaltungen realisiert Vor der Rechnung vergleicht eine Schaltung die Vorzeichen der Operanden Bei gleichen Vorzeichen: angeforderte Operation ausführen Bei unterschiedlichen Vorzeichen: die umgekehrte Operation
Tiefere Strukturen X Numerische Algorithmen II Multiplikation (17 Zyklen) 1101 + shift Bf Ba Bb Be 1001 1110 0111 1001 1011 0101 1001 0100 1001 0000 1001 0100 0010
Tiefere Strukturen XI Numerische Algorithmen III Division Ähnlich wie Multiplikation In jedem Schritt muss eine Subtraktion von Mantissen und eine Verschiebung stattfinden Der Quotient wird iterativ, Bit für Bit aufgebaut Quadratwurzel Ebenfalls iterativer Aufbau, und zwar so, dass „x/q = q“ gilt
Tiefere Strukturen XII Vor/Nachteile der Gleitkommadarstellung Addition komplizierter (Komma unter Komma) Multiplikation einfacher Ergebnis möglicherweise nicht mehr normalisiert
Vergleich mit ABC, Mark I, ENIAC Andere zur selben Zeit entstandene Rechner: ABC (Atanasoff-Berry Computer) Mark I ENIAC (Electronical Numerical Integrator and Computer)
Atanasoff-Berry-Computer (1938-1942)
Mark I (1939-1944)
ENIAC (1943-1945)
Vergleich mit ABC, Mark I, ENIAC Rechner Trennung Speicher/ Prozessor? Z3 ABC Mark I ENIAC
Vergleich mit ABC, Mark I, ENIAC Rechner Trennung Speicher/ Prozessor? Codierung Z3 binär ABC Mark I dezimal ENIAC
Vergleich mit ABC, Mark I, ENIAC Rechner Trennung Speicher/ Prozessor? Codierung Gleit-komma? Z3 binär ABC Mark I dezimal ENIAC
Vergleich mit ABC, Mark I, ENIAC Rechner Trennung Speicher/ Prozessor? Codierung Gleit-komma? Sprünge Z3 binär ABC Mark I dezimal ENIAC zum Teil
Vergleich mit ABC, Mark I, ENIAC Rechner Programme Z3 Software ABC Mark I ENIAC Hardware
Vergleich mit ABC, Mark I, ENIAC Rechner Programme Technologie Z3 Software elektromechanisch ABC elektronisch Mark I ENIAC Hardware
Vergleich mit ABC, Mark I, ENIAC Zuse (Z3) und Atanasoff (ABC) konstruierten ihre Maschinen fast im Alleingang Mark I und ENIAC werden von mittelgroßen Gruppen von Ingenieuren gebaut Z3 & ABC Die Architektur wird optimiert Nicht mehr Hardware als unbedingt nötig verwenden
Erfolg hat viele Väter I Der Entwicklungsprozess bis zum heutigen Universalcomputer war lang Vorläufer: Charles Babbage (1791-1871) Analytische Maschine Geniale Arbeit von Turing 1936
Erfolg hat viele Väter II Konrad Zuse (1910-1995) Z1, Z2, Z3 John Atanasoff (1903-1995) ABC John von Neumann (1903-1957) Grundlagen der Rechnerarchitektur
Zusammenfassung Konzepte heutiger Computer schon 1936 erfunden Trennung Prozessor – Speicher Gleitkommadarstellung Binäre Darstellung Java-Simulator der Z3: www.zib.de/zuse