Information Technology Reference
In-Depth Information
Das beschriebene Verfahren lässt sich in unterschiedlichen Varianten realisieren.
Der Vorhersagezustand in Bild 2.33 bezieht sich z.B. auf einen Graphen, der iden-
tisch auch zur nicht adaptiven Sprungvorhersage durch Gewichtung benutzt wird
(Bild 2.31). Um den Realisierungsaufwand zu vermindern, ist es daher naheliegend,
statt eines Graphen mit vier, einen mit zwei Zuständen, wie er für die nicht adaptive
Sprungvorhersage mit einstufiger Historie zum Einsatz kommt (Bild 2.29), zu ver-
wenden [98]. Die Anzahl der in der Sprungmustertabelle zu speichernden Bits wird
dadurch halbiert. Nachteilig ist jedoch, dass sich auch die Sicherheit, mit der
Sprungbefehle korrekt vorhergesagt werden, vermindert.
a
Sprunghistorientabelle
Befehlsadresse
Sprungmuster
g
Sprungentscheidung
Shift
adr
n- t - t
t-t-n
n-t-t-n-t-n
h
Sprungmustertabelle
b
e
Sprungmuster
Vorhersagezustand
c
n- t - t
WT WN
ST
WT
WN
SN
f
Sprungvorhersage
d
n-t-t- t
Bild 2.33. Prinzipielle Funktionsweise der adaptiven Sprungvorhersage
Eine weitere Möglichkeit, das in Bild 2.33 dargestellte Verfahren zu variieren,
besteht darin, die Sprunghistorie von den konkreten Gegebenheiten zu abstrahieren.
Statt des Shift-Schaltnetzes (h) wird ein Graph, ähnlich wie z.B. in Bild 2.31 darge-
stellt, benutzt. Aus dem Zustand WN (siehe Bild 2.31) wird z.B. durch Zusammen-
führung mit der aktuellen Sprungentscheidung „verzweigen“ der neue Zustand WT.
Die Zustände beschreiben jeweils eine Historie, abstrahieren jedoch von konkreten
Gegebenheiten. So ist es nicht möglich, aus dem aktuellen Zustand WT auf die
jeweils letzte Sprungentscheidung zu schließen. Dennoch ist im Zustand WT
bekannt, dass der Sprungbefehl bisher etwas häufiger verzweigte als nicht ver-
zweigte. Das Verfahren wurde an der TU Berlin in dem als Nemesis C bezeichneten
Prozessor mit guten Erfahrungen erprobt 1 [114, 198].
Beispiel 2.5. Adaptive Sprungvorhersage . In Bild 2.33 ist zum Sprungbefehl mit der Adresse adr
das Sprungmuster n-t-t gespeichert, dem in der Sprungmustertabelle der Zustand WT (weakly
taken) zugeordnet ist (Pfeil a und b) und der sich dementsprechend als verzweigend mit geringer
Zuverlässigkeit vorhersagen lässt (Pfeil c und d). Bei Auflösung der Sprungentscheidung wird ent-
weder die Zuverlässigkeit der Vorhersage erhöht, nämlich durch Wechsel in den Zustand ST, oder
der Sprungbefehl bei seiner nächsten Ausführung als nichtverzweigend vorhergesagt, nämlich
1. Mangels eines Hochsprachenübersetzers konnten jedoch nur kleine wenig repräsentative
Assemblerprogramme untersucht werden.
Search WWH ::




Custom Search