Information Technology Reference
In-Depth Information
gister daher nichts anderes als ein Reservierungsregister, dem eine Verarbeitungs-
einheit nachgestellt ist, die den Inhalt des entsprechenden Reservierungsregisters als
Ergebnis unverändert weitergibt. Im Gegensatz zu den „echten“ Verarbeitungsein-
heiten, die als aktive Komponenten ihre Ergebnisse von sich aus bereitstellen,
sobald diese vorliegen, geben die den Arbeitsregistern zuzuordnenden fiktiven Ver-
arbeitungseinheiten als passive Komponenten ein Ergebnis jedoch nur weiter, wenn
sie dazu aufgefordert werden.
1: A
=
Y/ Z
Reservierungsstation
RAW
2: B
=
C
-
A
a
b
WAR
W .
3: C
=
X
y
z
u
v
c
div
w
x
WAW
c
div
add / sub
mul
4: A
=
U
+
V
Verarbeitungs-
einheit
add
A
div
B
sub
C
c
Arbeitsregister
Z
z
Bild 3.35. Funktionsweise des Tomasulo-Algorithmus
Der dem Bild zugrunde liegende Prozessor verfügt über Verarbeitungseinheiten zur
Ausführung von Divisionen, Multiplikationen, Additionen und Subtraktionen.
Additionen und Subtraktionen werden in einer einzelnen zeitsequentiell arbeitenden
Verarbeitungseinheit ausgeführt, der insgesamt zwei Reservierungsstationen vorge-
schaltet sind. Als Beispielprogramm wird die ebenfalls im Bild dargestellte und
schon bei der Beschreibung des Scoreboardings benutzte Befehlsfolge verwendet,
wobei im letzten Abschnitt die Addition in Zeile 4 die parallele Ausführung weiterer
Befehle blockiert hat, bis die WAW-Abhängigkeit zum Befehl in Zeile 1 gelöst war.
Wie wir sehen werden, führt dies hier zu keiner Blockade.
Die Bearbeitung der Division in Zeile 1 beginnt damit, die in den Arbeitsregistern Y
und Z gespeicherten Werte zu lesen und in die Reservierungsregister der Verarbei-
tungseinheit zu übertragen (markiert mit a). Da beide Operanden verfügbar sind,
lässt sich die Ausführung der Operation verzögerungsfrei starten. Außerdem wird
im Arbeitsregister A eingetragen, dass darin das Ergebnis der Divisionseinheit
gespeichert werden soll, sobald es berechnet ist (durchgestrichenes „div“).
In derselben Weise verfährt man mit der Subtraktion in Zeile 2. Anstelle des Inhalts
wird jedoch die im Arbeitsregister A gespeicherte Referenz auf die Divisionseinheit
in das rechte Reservierungsregister der kombinierten Additions-/Subtraktionseinheit
übertragen, die daher warten muss, bis das benötigte Ergebnis erzeugt ist (b). Um
bis zum Ende der Ausführung der Subtraktion die Nichtverfügbarkeit des Ergebnis-
ses anzuzeigen, wird in das Arbeitsregister B die Referenz auf die Subtraktionsein-
heit eingetragen.
Search WWH ::




Custom Search