Die Rechenmaschine Z3
von KONRAD ZUSE (1910-1995)
BedienungNach 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. ProgrammkontrolleDie 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 RechenwerkIn 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.
Die SteuerkonsoleDie 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.
Das PlanwerkHier 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.
Der SpeicherDer 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.
EingabekonsoleAuf der Eingabekonsole befinden sich verschiedene Bereiche für die Einstellung einer Gleitpunktzahl.
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. AusgabekonsoleAuf der Ausgabekonsole wird das Ergebnis einer Rechenoperation angezeigt.
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. NormalbetriebDer 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:
|