Hardware Reference
In-Depth Information
Umsortierpuffer
Operanden
Instruktion 1
Fetch-
Logik
Instruktion 2
...
AE 1
AE 2
Instruktion m
Ergebnisse
Register
...
AE 3
...
Fetch-
Buffer
AE n
Zuteilungs-
Logik
Instruktionen
Abbildung 4.5. Kern einer superskalaren Pipeline. Der Fetch Buffer wird moglichst
kontinuierlich mit Befehlen gefullt. Befehle werden in-order von einer Zuteilungslogik dem
Fetch Buffer entnommen und sowohl auf Ausfuhrungseinheiten (AE) zugeteilt als auch
gleichzeitig in den Reorder Buffer (Umsortierpuffer) eingetragen
Abbildung 4.5 zeigt den Kern einer superskalaren Pipeline mit Fetch Buffer,
Reorder Buffer, Ausfuhrungseinheiten und Registern.
Da Befehle in genau der Reihenfolge zugeteilt werden, in der sie ausgefuhrt
werden mussen, stehen die Eintrage zu den Befehlen in exakt dieser Reihen-
folge im Reorder Buffer. Der Reorder Buffer ist ein so genannter First-In-
First-Out-Puffer (kurz FIFO ). Das bedeutet, dass die Befehle ihn bei der
Bestatigung (commit) in genau der Reihenfolge verlassen, in der sie bei der
Zuteilung (issue) hineingeschrieben werden. Es werden standig neue Befehle
in den Puffer eingebracht, gleichzeitig werden andere Befehle ausgefuhrt und
wieder andere Befehle werden bestatigt und verlassen den Puffer. In der Dar-
stellung von Abbildung 4.5 wandern die Befehle in diesem Prozess von unten
nach oben. Man kann bildlich davon sprechen, dass die Befehle in diesem
Puffer reifen bzw. dass der Puffer ein kaltes Ende hat, wo die Befehle hinein
kommen (im Bild unten) und ein heißes Ende wo ihn die Befehle verlassen
(im Bild oben).
Wenn eine Instruktion den Wert eines Registers $X als Operanden benotigt,
das Register $X aber als Ergebnisregister eines noch in Ausfuhrung befindli-
 
Search WWH ::




Custom Search