Hardware Reference
In-Depth Information
1
2
3
4
5
6
7
8
F
D
X
X
X
X
M
W
U
FADD q,q,qlow
F
D
X
M
W
V
SET xk,0
F
D
X
M
U
SET yk,0
F
D
X
M
W
V
SET k,0
F
D
X
U
INCL k,1
V
...
Abbildung 4.3. Pipelining mit zwei Ausfuhrungseinheiten, bei denen die Befehle nicht
mehr aufeinander warten mussen. In der letzten Spalte ist angegeben, auf welcher der
beiden Pipelines U und V der jeweilige Befehl ausgefuhrt wird
Ubung 4.1.1
1. Erweitern Sie das Diagramm aus Abbildung 4.2 unter der Annahme, dass
der Befehl FADD p,p,plow aus Zeile 23 vorangehend ausgefuhrt wird und
zwar auf der U-Pipe, ohne dass gleichzeitig mit ihm ein Befehl auf die
V-Pipe geschickt wird.
2. Wie sahe das Diagramm aus, fur den Fall, dass die Befehle aus Zeilen 23
und 24 gleichzeitig ausgefuhrt werden konnten?
4.1.1
Der nachste Schritt besteht darin, die Ausfuhrungseinheiten unabhangig von-
einander arbeiten zu lassen. Das bedeutet, dass man sich von der Vorschrift
lost, dass die Befehle, die parallel bearbeitet werden, auch alle Phasen parallel
durchlaufen und gegebenenfalls aufeinander warten mussen. Das Diagramm
in Abbildung 4.3 zeigt fur das obige Beispiel die Befehlsabarbeitung ohne
Berucksichtigung dieser Vorschrift.
Die Befehle werden hier zwar noch in der Reihenfolge auf die Ausfuhrungs-
einheiten verteilt, in der sie im Programm stehen, aber nicht mehr zwingend
in dieser Reihenfolge fertig gestellt. Man spricht dabei von Out-Of-Order-
Ausfuhrung (Out-Of-Order-Execution) sowie Out-Of-Order-Fertigstellung
(Out-Of-Order-Completion) [17]. Dem Diagramm aus Abbildung 4.3 ist zu
entnehmen, dass die zwei der drei SET -Befehle, die auf den FADD folgen, vor
diesem fertig gestellt werden (W-Phase).
Es bleibt festzuhalten, dass Programme oft unter der Annahme geschrieben
werden, dass sie sequenziell Befehl fur Befehl ausfuhren. Superskalare Pro-
zessoren weichen jedoch von diesem Prinzip ab und parallelisieren die Be-
fehlsausfuhrung. Dennoch durfen die Ergebnisse der Programmausfuhrung
naturlich nicht von den Ergebnissen abweichen, die sich ohne die Parallelisie-
rung ergeben hatten. Da die Parallelisierung hier vom Prozssor vorgenommen
wird, spricht man von impliziter Parallelitat . Im Gegensatz dazu spricht man
Search WWH ::




Custom Search