Hardware Reference
In-Depth Information
Tabelle 4.1. Zusammenfassung aller Arten von Datenabhangigkeiten. Betrachtet werden
zwei Befehle a und ein Nachfolger b .Dabeimuss b nicht unbedingt der unmittelbare
Nachfolger von a sein. Nicht jede Abhangigkeit muss zu einem Konflikt, also einem
Stillstand (stall) bei der Befehlsausfuhrung, fuhren
Kurzel
Terminologie
Beschreibung
RAW
Read-After-Write,
true dependence
Der Befehl b benutzt (liest) das Ergeb-
nis seines Vorgangers a . Ein Konflikt tritt
dann auf, wenn das Ergebnis noch nicht
zur Verfugung steht.
WAR
Write-After-Read,
name dependence,
antidependence
Der Befehl b uberschreibt einen Wert, der
vom Vorganger a benotigt wird. Ein Kon-
flikt kann nur auftreten, falls b den Wert
uberschreiben wurde, bevor a ihn gelesen
hat.
WAW
Write-After-Write
name dependence,
antidependence
Beide Befehle a und b beschreiben dassel-
be Register (oder dieselbe Speicheradres-
se). Ein Konflikt kann nur dann auftreten,
wenn b vor a schreiben wurde.
RAR
Read-After-Read
Befehle a und b lesen denselben Wert. Hier
liegt keine Abhangigkeit vor. Ein Konflikt
konnte allenfalls auftreten, falls ein Wert
nicht von zwei Befehlen gleichzeitig gelesen
werden konnte.
4.4
4.4 Ablaufsteuerung
Um Befehle Out-Of-Order ausfuhren zu konnen, ist eine Ablaufsteuerung er-
forderlich, die sowohl uber die korrekte Reihenfolge der Befehle Buch fuhrt,
als auch die erforderlichen Operanden zufuhrt. Operanden konnen dabei aus
Registern kommen oder durch Forwarding bereitgestellt werden von zwar be-
reits ausgefuhrten, aber noch nicht bestatigten Befehlen. Dazu wird ein Puf-
fer angelegt, der so genannte Reorder Buffer ( Umsortierpuffer ,kurzROB),
in den fur jeden Befehl ein Eintrag abgelegt wird, sobald er auf eine Aus-
fuhrungseinheit zugewiesen wird (issue). Dies kann moglicherweise sogar ge-
schehen, wahrend vorangehende Befehle noch damit beschaftigt sind, benotig-
te Operanden zu berechnen. Stehen Operanden nicht zur Verfugung, so war-
tet der Befehl und blockiert seine Ausfuhrungseinheit (stall). Ist der Befehl
ausgefuhrt, so gibt er seine Ausfuhrungseinheit wieder frei, bleibt aber im Re-
order Buffer, bis er bestatigt wird. Die Bestatigung kann erst dann erfolgen,
wenn alle vorangehenden Befehle bestatigt sind.
Search WWH ::




Custom Search