Hardware Reference
In-Depth Information
und V Z . Wenn einer dieser Zeiger nicht auf einen Eintrag im ROB zeigt,
dann bedeutet das, dass der Operand bereits zur Verfugung steht.
Zielort, an den das Ergebnis der Instruktion geschrieben werden soll. Da-
bei kann es sich um ein Register handeln, aber auch um eine Speicher-
adresse, falls der Befehl schreibend auf den Speicher zugreift.
Ergebnis der Instruktion. Diese Information ist nur dann gultig, wenn die
Instruktion als bereits fertig gestellt gekennzeichnet ist. Dieser Wert kann
an andere Instruktionen als Operand weiter gegeben werden (Forwarding)
und er wird bei Bestatigung (commit) des Befehls in das Ergebnisregister
geschrieben.
Ausfuhrliches Beispiel
Als Beispielkonfiguration betrachten wir einen Prozessor mit folgenden vier
Ausfuhrungseinheiten:
INT1 und INT2 : Zwei identische Einheiten fur alle ganzzahligen Operatio-
nen mit Ausnahme der Multiplikation.
FPU (Floating Point Unit): Fur alle Gleitkommaoperationen außer der
Multiplikation.
MUL: Zum Multiplizieren von ganzen Zahlen sowie von Gleitkommazah-
len.
Wir nehmen an, dass der Reorder Buffer Platz fur vier Eintrage bietet und je
Takt bis zu zwei Befehle zugeteilt (issue) und zwei bestatigt werden konnen
(commit).
Wir untersuchen den Ablauf fur einen kurzen Ausschnitt aus dem Programm
mandelbrot.mms naher:
37
yk,yk,xk 2
× y k
FMUL
38
FADD
yk,yk,q
39
xk,temp1 xk kann uberschrieben werden
SET
+ y k +1
41 FMUL temp1,xk,xk
Wir lassen im Augenblick außer Acht, dass als Operand sowie als Ergebnis
zusatzlich noch je ein Spezialregister beteiligt sein konnen.
Wir nehmen an, dass zu Beginn keine der Ausfuhrungseinheiten belegt und
der Reorder Buffer leer ist. Alle betrachteten Instruktionen stehen im Fetch
Buffer bereit. Im Takt t 0 werden die Instruktionen FMUL yk,yk,xk auf die
Multiplikationseinheit MUL und FADD yk,yk,q auf die Floating Point Unit
FPU zugeteilt. Die Operanden fur die Multiplikation stehen bereits in Re-
gistern $3 und $4 zur Verfugung, weil keine Vorgangerbefehle im Reorder
Buffer eingetragen sind. Die Multiplikation wird also sofort ausgefuhrt. Die
∗ r = x k +1
40
Search WWH ::




Custom Search