Hardware Reference
In-Depth Information
FMUL noch zwei Takte lauft, bleibt die Situation in den beiden Takten t 2 und
t 3 unverandert:
t 2 und t 3
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
×
SET
xk,temp1
$10
$3
Nun ist die Multiplikation beendet und kann anschließend bestatigt werden.
Damit ist auch der zweite Operand fur die Addition verfugbar. Der FADD -
Befehl wird in t 4 sofort ausgefuhrt. Ferner folgt sofort die nachste FMUL -
Instruktion aus Zeile 42 auf die nun frei gewordene Ausfuhrungseinheit MUL
nach. Diese Multiplikation bezieht ihren Operanden xk nicht aus dem ent-
sprechenden Register $3 , sondern durch den Mechanismus des Forwarding
von dem vorangehenden Eintrag des SET -Befehls im Reorder Buffer. In der
Darstellung ist durch einen Stern gekennzeichnet, dass der Wert durch
Forwarding ubernommen wird. Der FMUL -Befehl kann dadurch auch sofort
ausgefuhrt werden:
t 4
Operanden
Befehl
unit
Status
Q Y
Q Z
V Y
V Z
Ergebnis
FMUL yk,yk,xk
$4
$3
$4
$4
$4 (ung.)
FADD yk,yk,q
FPU
$2
×
SET
xk,temp1
INT1 $10
$3
$3
$3
MUL
FMUL temp1,xk,xk
Die beendete Multiplikation wird bestatigt in t 5 ,verlasst damit den Reorder
Buffer und das Ergebnis wird in das Register $4 geschrieben:
t 5
Operanden
Befehl
unit
Status
Q Y
Q Z
V Y
V Z
Ergebnis
$4
FPU
$4 (ung.)
FADD yk,yk,q
$2
$10
×
SET
xk,temp1
$3
$3
$3
$10 (ung.)
FMUL temp1,xk,xk
MUL
Die Werte in Registern $4 und $10 sind im Moment ungultig. Falls zu die-
sem Zeitpunkt ein Interrupt auftrate, so wurde der Reorder Buffer geleert
werden und das Ergebnis des bereits ausgefuhrten SET -Befehls musste ver-
worfen werden. Als aktueller Wert des Programmzahlers wurde die Adresse
des laufenden FADD -Befehls gesichert. Die Befehlsausfuhrung wurde mit den
Search WWH ::




Custom Search