Hardware Reference
In-Depth Information
Addition hingegen benotigt als Operanden das Ergebnis der Multiplikati-
on. Wir sehen hier ein Beispiel einer Read-After-Write-Abhangigkeit. Die
Abhangigkeit wird durch einen Eintrag im Zeiger V Y vermerkt. Die Addition
bleibt stehen (stall), bis das Ergebnis der Multiplikation fest steht. Bei dem
Operanden yk ( $4 ) der Addition ist der Multiplikationsbefehl bzw. die ihn
ausfuhrende Einheit als zukunftige Quelle des Operanden einzutragen. Der
zweite Operand q wird sofort aus Register $2 ubernommen. Beide Instruk-
tionen werden in den Reorder Buffer aufgenommen. Die Multiplikation wird
als laufend gekennzeichnet und die Addition als blockiert (stalled):
t 0
Operanden
Befehl
unit
Status
Q Y
Q Z
V Y
V Z
Ergebnis
MUL
$4 (ungultig)
FMUL yk,yk,xk
$4
$3
FPU \\
$4 (ungultig)
FADD yk,yk,q
$2
FMUL
Im nachsten Takt t 1 wird nur eine neue Instruktion gestartet, weil keine
weitere Ausfuhrungseinheit fur den ubernachsten Befehl zur Multiplikation
von Gleitkommazahlen verfugbar ist (ein strukturelles Hemmnis). Der Ope-
rand dieses SET -Befehls ist bereits verfugbar ( temp1 ) und so wird er sofort
ausgefuhrt:
t 1
Operanden
Befehl
unit
Status
Q Y
Q Z
V Y
V Z
Ergebnis
$4 (ungultig)
FMUL yk,yk,xk
MUL
$4
$3
FPU \\
$4 (ungultig)
FADD yk,yk,q
$2
FMUL
INT1
×
$3 (ungultig)
SET
xk,temp1
$10
Im Takt t 2 ist der SET -Befehl bereits fertig ausgefuhrt, kann aber noch nicht
bestatigt werden, weil die beiden vorangehenden Instruktionen FMUL und
FADD noch nicht beendet sind. Der SET -Befehl wurde also Out-Of-Order aus-
gefuhrt und hat die beiden Vorganger uberholt. Der dritte Eintrag im Reorder
Buffer gibt einen aktuellen Wert fur Register $3 an. Dieser musste als Ope-
rand fur einen nachfolgenden Befehl verwendet werden, sofern dieser auf $3
als Operanden zuruckgreifen wurde.
Es konnte nun ein weiterer Befehl auf der INT1-Ausfuhrungseinheit gestartet
werden. Der nachste zur Ausfuhrung anstehende Befehl ist aber ein FMUL ,
der dort nicht ausgefuhrt werden kann. Da wir voraussetzen, dass Befehle in
order zugeteilt werden, wird die Zuteilung aller weiteren Befehle gestoppt.
Hier liegt wiederum ein strukturelles Hemmnis vor. Weil die Multiplikation
Search WWH ::




Custom Search