Information Technology Reference
In-Depth Information
cher lesend oder schreibend zugegriffen werden soll, im Falle eines Sprungbefehls
einen Lesezugriff initiiert. Der gelesene Datenwert wird jedoch vom Multiplexer M 2
nicht weitergereicht.
Mehrschrittig arbeitender Befehlsdecoder (Mikroprogrammsteuerwerk)
Wegen der Einschrittigkeit der im letzten Abschnitt beschriebenen Befehlsdecoder
können einige Befehle, die in realen Prozessoren verfügbar sind, von der in Bild
2.10 dargestellten Registertransferschaltung nicht ausgeführt werden. Zu diesen
Befehlen gehört z.B. ein Unterprogrammaufruf, mit dem automatisch die Rück-
sprungadresse auf einem im Datenspeicher befindlichen Stapel gesichert wird.
Hierzu ist es nämlich erforderlich, den Stapelzeigerinhalt zuerst zu verändern, bevor
sich in einem zweiten Schritt die Rücksprungadresse sichern lässt.
Zwar ist es möglich, die Registertransferschaltung in Bild 2.10 zu modifizieren, so
dass ein Unterprogrammaufruf in einem Schritt bearbeitet werden kann, dies ist
jedoch aufwendiger und weniger flexibel, als den Befehlsdecoder in mehreren
Schritten arbeiten zu lassen. In Bild 2.12 ist ein mehrschrittig arbeitender Befehlsde-
coder, ein sog. Mikroprogrammsteuerwerk, dargestellt. Der besseren Verständlich-
keit halber sind auf der rechten Seite des Decoders statt der Werte einzelner Steuer-
signale sog. Mikrobefehle angegeben, die jeweils aus mehreren parallel auszufüh-
renden Mikrooperationen bestehen. Zum Beispiel bewirkt die Mikrooperation
AC = AC + [ ADDR ],
dass mit der im Befehl codierten Adresse ADDR auf den Datenspeicher zugegriffen
(eckige Klammer), der gelesene Wert mit dem Inhalt des Akkumulators AC addiert
und das Ergebnis im Akkumulator gesichert wird. In verständlicher Form ist dies
dasselbe, als würden die Steuersignale einzeln aufgeführt:
M 3 : verbinde ADDR, ME: lese,
M 2 : verbinde ME,
M 1 : verbinde AC,
ALU: addiere,
AC: setze,
SP: halte.
Beide Darstellungen abstrahieren von der realen Umsetzung, bei der statt Klartexte
binärcodierte Steuervektoren im Decoder gespeichert sind (hier z.B.
1|0|00|0|0000|1|0 2 , wobei die senkrechten Striche zur Abgrenzung der einzelnen
Steuersignale verwendet werden). Dem Leser sollte bewusst sein, dass eine Mikroo-
peration, unabhängig davon, wie sie geschrieben wird, immer in einem Schritt aus-
führbar und direkt in Steuersignale umsetzbar sein muss. Es ist also insbesondere
nicht möglich, beliebige Aktionen, wie z.B. AC = PC durch eine Mikrooperation zu
beschreiben, da dies von dem in Bild 2.10 dargestellten Prozessor nicht ausgeführt
werden kann.
Der in Bild 2.12 dargestellte Befehlsdecoder unterscheidet sich von dem einschrittig
arbeitenden Befehlsdecoder in Bild 2.11b durch die über das Zustandsregister
geführte Rückkopplung. Zu Beginn der Ausführung eines Befehls befindet sich in
dem Zustandsregister zunächst eine Null. Bei Ausführung einer einschrittig zu bear-
Search WWH ::




Custom Search