Die Rechenmaschine Z3
von KONRAD ZUSE (1910-1995)


Simulation Architektur Simulation

Bedienung

Nach dem Aufruf der Simulation durch folgen des Links "Start" auf den Web-Seiten der Simulation baut sich die Oberfläche des Programms in einem Fenster auf. Die Anordnung der Z3-Bausteine (Rechenwerk, Speicher, Ein- und Ausgabefelder) kann je nach Bildschirmauflösung verschieden gewählt sein. Die Funktionselemente werden deshalb später einzeln erläutert.

Das Programm unterscheidet verschiedene Betriebsmodi.

Im Normalbetrieb können Befehle über Schalter auf der Steuerkonsole ausgewählt werden, die dann sofort zur Ausführung gelangen. Ein Zugriff auf Speicherbefehle ist nicht möglich.

Im Programmmodus wird ein Z3-Programm ausgeführt. Die Steuerkonsole bleibt dabei solange gesperrt, bis der letzte Befehl des Programms abgearbeitet ist. Wird während des Programmablaufs eine Eingabe benötigt oder eine Zahl ausgegeben, stoppt die Simulation solange, bis die Taste Fortsetzen im Kontrollfenster gedrückt wurde. So bleibt dem Benutzer genügend Zeit, eine Zahl einzugeben oder ein Ergebnis abzulesen.

Ein Programmiermodus erlaubt das Erstellen von Z3-Programmen nach einem einfachen Makroverfahren. Alle Befehle, die an der Steuerkonsole eingegeben werden, werden in einem Programm aufgezeichnet.

Programmkontrolle

Die Steuerung des Programms erfolgt auf zwei Ebenen. Eine Ebene steuert die Simulation an sich, die andere simuliert die Bedienung der Z3. Diese Unterscheidung ist wichtig, um die Authentizität des Steuerungskonzepts der Z3 zu erhalten.

Das Simulationsfenster besitzt eine Menüleiste mit den Einträgen Optionen und Programm. Unter dem Menüpunkt Optionen wird eingestellt, ob die Übertragungen auf den Busleitungen im Rechenwerk animiert werden sollen (Verfolgung an selektiert) und ob nach jeder Vorbereitungsphase die Simulation stoppen soll (Stop nach IV-V). Das Menü Programme enthält die Einträge Neu (Startet den Programmiermodus) und Start (startet ein Z3-Programm). In dem Fenster gibt es noch die zwei Tasten Rücksetzen und Fortsetzen.

Rücksetzen - versetzt die Simulation in den Ausgangszustand, d.h. alle Registerinhalte werden gelöscht und ein eventuell ablaufendes Programm wird gestoppt. Fortsetzen läßt die Simultion nach einem Stop-Zustand fortfahren.

Das Rechenwerk

In diesem Anzeigebereich wird das Rechenwerk (ALU) der Z3 dargestellt. Links befindet sich der Teil für die Bearbeitung der Exponenten, rechts der für die Mantissen. Die rechteckigen Bereiche stellen Register und Shifter dar. Deren Farbgebung soll eine logische Zusammengehörigkeit verdeutlichten, z.B. bilden Register, die in beiden Teilen die gleiche Farbe besitzen, zusammen ein Operandenregister. Die Beschriftungen Eingabe und Speicher am Ende von offenen Verbindungsleitungen symbolisieren Quelle bzw. Ziel einer Übertragung auf diesen Segmenten.


Das Rechenwerk


Die Steuerkonsole

Die Steuerkonsole besteht aus einem Feld von Tasten, über die im Normalbetrieb die Rechen- und I/O-Befehle ausgelöst werden. Solange eine Operation ausgeführt wird (angezeigt durch ein blinkendes Symbol auf der entsprechenden Taste), können keine weiteren Aktionen gestartet werden. Im Programmiermodus werden die Instruktionen aufgezeichnet, bis die Ende-Taste gedrückt wurde. Dieser Befehl muß immer als letzte Instruktion eingegeben werden.


Die Steuerkonsole

Das Planwerk

Hier wird das Planwerk der Z3 dargestellt. Ein animierter Filmstreifen repräsentiert ein Z3-Programm. Im Feld Speicherauswahl kann im Programmier-Modus die Adresse einer Speicheroperation angegeben werden.


Das Planwerk

Der Speicher

Der Speicher zeigt den aktuellen Inhalt der 64 zeilenweise angeordneten Speicherzellen an. Dargestellt werden alle Bits einer Speicherzelle sowie deren dezimaler Wert. Die Bits können zu jedem Zeitpunkt durch Mausklick "gekippt" werden, wodurch sich leicht jeder beliebige Speicherinhalt von Hand generieren läßt. Das Zahlenformat entspricht der im Abschnitt Architektur angegebenen Spezifikation.


Der Speicher

Eingabekonsole

Auf der Eingabekonsole befinden sich verschiedene Bereiche für die Einstellung einer Gleitpunktzahl.


Eingabefeld für Gleitkommazahlen

Zu unterscheiden sind die Bereiche Komma, Ziffern und Vorzeichen. Die runden Tasten in den Feldern Vorzeichen und Ziffern sind sogenannte Feststell-Tasten. Werden sie betätigt, so behalten sie ihren Zustand solange, bis eine andere Taste in ihrer Spalte gedrückt wird. Die gedrückten Tasten jeder Spalte sind farblich hervorgehoben. Im Feld Ziffern wird die vierstellige Ziffernfolge der Mantisse eingestellt. Es besteht aus vier Spalten für jede Stelle. Das Komma liegt hinter der vierten Spalte. Die Ziffernfolge 0300 entspricht demzufolge einer Mantisse mit dem Wert 300. Ein Drehknopf im Feld Komma dient zur Einstellung des Zehner-Exponenten. Der aktuelle Wert kann in dem darunterliegenden Feld abgelesen werden.

Ausgabekonsole

Auf der Ausgabekonsole wird das Ergebnis einer Rechenoperation angezeigt.


Ausgabefeld für Gleitkommazahlen

Die Anzeigebereiche auf dieser Konsole entsprechen im wesentlichen denen der Eingabekonsole. Das Ziffernfeld zeigt die Mantisse des Ergebnisses an. Hier liegt das Komma jedoch hinter der zweiten Spalte. Leuchtet beispielsweise die Ziffernfolge 01256 auf, so ist dies als 12,565 zu interpretieren. Der Exponent wird im Feld Komma als Dezimalzahl angegeben (im Unterschied zur Rekonstruktion, wo für jeden möglichen Exponenten ein eigenes Lämpchen vorhanden ist). Die Belegung der Operandenregister wird im Feld Status angegeben. Das unterste Lämpchen (O) leuchtet immer dann auf, wenn gerade eine Rechenoperation ausgeführt wird. Die Einträge R1 und R2 zeigen die Belegung der entsprechenden Operandenregister.

Normalbetrieb

Der Gebrauch des Programms setzt ein grundlegendes Verständnis des Steuerkonzepts der Z3 voraus. Insbesondere das Schema der Argumenteingabe für die Rechenoperationen sollte bekannt sein, um Mißverständnissen vorzubeugen.

Das Programmierschema der Z3 erfordert, daß die Argumente im Rechenwerk vorhanden sein müssen, bevor eine Operation ausgelöst wird. Dieses Konzept bleibt auch im Dialogbetrieb erhalten. Daher ist die Belegung der Operandenregister auf der Ausgabekonsole zu beachten. Dyadische Operationen (Addition, Subtraktion, Division und Multiplikation) verlangen zwei Argumente (das erste Argument entspricht Register 1, das zweite dem Register 2), monadische Operationen (Ausgeben und Quadratwurzelziehen) beziehen sich auf Register 1. Der Einlesebefehl liest eine Dezimalzahl von der Eingabekonsole und stellt den Wert als Dualzahl auf dem ersten freien Operandenregister ein. Die Operationen verändern die Belegung der Operandenregister. Nach jeder arithmetischen Operation steht das Ergebnis auf Register 1, das Register 2 ist gelöscht. Das Ergebnis steht also gleich für die nächste Operation bereit. Der Ausgabebefehl löscht beide Register. Ein Beispiel soll die Arbeitsweise demonstrieren:
Angenommen, man möchte den Ausdruck


sqrt((7,2 * 7) + 13, 6) (=8)


berechnen. Beide Operandenregister seien frei. Dann sind nacheinander folgende Schritte durchzuführen:

  • Ziffernfolge 0072 und Exponent -1 einstellen,
  • Taste Einlesen drücken,
  • Ziffernfolge 0007, Exponent 0 einstellen,
  • Taste Einlesen drücken,
  • Taste Multiplikation drücken,
  • Ziffern 0136 und Exponent -1 einstellen,
  • Taste Einlesen drücken,
  • Taste Addition drücken,
  • Taste Wurzel drücken,
  • Taste Ausgeben drücken.


Copyright (c) 1997 A. Thurm. Letzte Änderung 8.4.1997