Hardware Reference
In-Depth Information
Decode Execute Memory Write
Access Back
Fetch
Instr. k+8
Instr. k+9
Instr. k+10
Instr. k+11
Instr. k+12
Instr. k+6
Instr. k+4
Instr. k+2
Instr. k
U-Pipe
V-Pipe
Instr. k+7
Instr. k+5
Instr. k+3
Instr. k+1
Abbildung 4.1. Denkmodell fur MMIX mit zwei parallelen Pipelines, analog zum
Pentium-Prozessor. Eine Fetch-Stufe kann gleichzeitig beide Pipelines mit Instruktionen
beschicken. Die Instruktionen mussen aber synchron durch die Pipelines laufen, d.h.
gegebenenfalls aufeinander warten
1
2
3
4
5
6
7
8
9
FADD q,q,qlow F
D
X
X
X
X
M
W
U
F
D
X
M
W
V
SET
xk,0
F
D
X
M
W
U
SET
yk,0
SET
k,0
F
D
X
M
W
V
F
D
X
M
U
INCL k,1
V
...
Abbildung 4.2. Ausfuhrung von Befehlen mit zwei Ausfuhrungseinheiten, analog zum
Pentium. Parallel ausgefuhrte Befehle mussen aufeinander warten. In der letzten Spalte ist
angegeben, auf welcher der beiden Pipelines U und V der jeweilige Befehl ausgefuhrt wird
Abbildung 4.2 zeigt das Pipeline-Diagramm fur den Fall, dass die Befehle aus
den Zeilen 24 und 25 parallel ausgefuhrt werden (die Situation unter Einbe-
ziehung von Zeile 23 behandelt die nachfolgende Ubung 4.1.1). Die beiden
Befehle werden gemeinsam geladen und dekodiert. Der SET -Befehl muss drei
Takte auf die Fertigstellung des FADD warten. Die Ausfuhrung aller nachfol-
genden Befehle verzogert sich entsprechend.
Durch den Ubergang zu mehreren parallelen Ausfuhrungseinheiten werden
nicht nur zeitlich aufeinanderfolgende Pipeline-Stufen fur verschiedene Be-
fehle parallel ausgefuhrt, sondern es konnen sich mehrere Befehle gleichzeitig
in derselben Pipeline-Stufe befinden. Man spricht von zeitlicher ( temporal )
und raumlicher (spatial) Parallelitat . Der Hardwareaufwand zur Einfuhrung
raumlicher Parallelitat ist ungleich großer als der beim Ubergang zum Pipe-
lining. Pipelining ermoglicht ja lediglich, Stufen parallel zu betreiben, die in
jedem Fall schon vorhanden sind.
Search WWH ::




Custom Search