Hardware Reference
In-Depth Information
1
2
3
4
5
6
7
8
9
10 11 12 13 14
SETH xk,#4000
F
D
X
M
W
FMUL yk,yk,xk
F
D
X
X
X
X
M
W
FADD yk,yk,q
F
D
X
X
X
X
M
W
SET
xk,temp1
F
D
X
M
W
Abbildung 3.6. Hemmnisse durch vier Takte lang laufende Gleitkomma-Instruktionen.
Der FADD -Befehl ist am Ende von Takt 4 fertig dekodiert und verharrt drei Takte lang in
diesem Zustand
nach dem langsamsten Befehl auszurichten. Das ware in diesem Beispiel ja
immerhin eine Verlangerung des Taktes um den Faktor 60. Vielmehr wer-
den wahrend der Ausfuhrung einer komplexen Instruktion alle nachfolgen-
den Instruktionen so lange angehalten, bis die lang laufende Instruktion ihre
Execute-Phase beendet hat. Fur einen Ausschnitt aus dem Programm zur
Darstellung der Mandelbrotmenge aus dem Anhang (Abschnitt A.3.1) ist
das in Abbildung 3.6 dargestellt. Die Ausfuhrung der vier gezeigten Instruk-
tionen dauert insgesamt 14 Takte.
Ubung 3.2.1 Geben Sie fur das Pipeline-Diagramm in Abbildung 3.6 die zwei-
te Variante des Diagramms an (mit Befehlen nach Stufen aufgetragen, vgl.
Abbildung 3.3).
3.2.1
3.2.2 Hemmnisse durch Datenabhangigkeiten
Storungen im Ablauf einer Pipeline ergeben sich auch dadurch, dass Instruk-
tionen vorangehende Ergebnisse benotigen oder Register verwenden, deren
Inhalt noch benotigt wird. Die dadurch entstehenden Abhangigkeiten wollen
wir nun naher untersuchen.
Betrachten wir zunachst folgendes Programmfragment zum Tauschen von
zwei Werten aus dem Programm A.3.2 (siehe Anhang):
106 XOR l,l,r Tauschen von l und r
107 XOR r,l,r
108 XOR l,l,r
109 1H CMP tmp,l,pivot
Das Ergebnis des XOR aus Zeile 106 steht erst am Ende der W-Phase im
Register l (2 Takte nach der Berechnung), wird aber bereits in der Decode-
Phase vom XOR in Zeile 107 benotigt. Man spricht von einem Read-After-
Write-Konflikt .
Search WWH ::




Custom Search