Information Technology Reference
In-Depth Information
wandt werden. Bei der lokalen adaptiven Sprungvorhersage mit neuronalen Netzen
lässt sich z.B. in der als Cache realisierten Perceptrontabelle neben den Gewichten
jeweils zusätzlich die zugehörige Sprunghistorie speichern. Die verschiedenen Vari-
anten des Verfahrens sind detailliert in [85, 86] beschrieben. Dieselben Veröffentli-
chungen enthalten auch einige Simulationsergebnisse. Demnach sagt die globale
adaptive Sprungvorhersage mit neuronalen Netzen Sprungentscheidungen mit einer
Zuverlässigkeit von 98% korrekt voraus 1 . Somit ist das Verfahren 53% besser als
eines, das bei gleichem Hardware-Aufwand eine globale adaptive Sprungvorhersage
mit Indexteilung (gshare) verwendet.
Sprungentscheidung
Le a rn
S h ift
PC
BHR
+1
...
Perceptrontabelle
Perceptron
w 0
w 1
Befehlsadresse
Gewichte
w 2
adr
w 0 , w 1 , ..., w n
w n
Sprungvorhersage
0
Bild 2.38. Prinzipielle Funktionsweise der globalen adaptiven Sprungvorhersage mit neuronalen
Netzen
Kombinierte Sprungvorhersage (hybrid branch prediction, bi-mode)
Die Zuverlässigkeit, mit der Sprungentscheidungen vorhergesagt werden können, ist
einerseits vom Verfahren, andererseits jedoch auch von der jeweiligen Situation
abhängig. Für jedes dynamische Sprungvorhersageverfahren lässt sich daher auch
eine Sprungfolge angeben, die schlechter oder besser als von anderen dynamischen
Sprungvorhersageverfahren prognostiziert wird. Zum Beispiel hat die einfache
dynamische Sprungvorhersage mit einstufiger Historie entsprechend Bild 2.29 den
Vorteil, auf Änderungen des Sprungverhaltens sehr schnell zu reagieren, weshalb
sich die Sprungfolge n-n-...-n-t-t-...-t usw. mit einer geringeren Anzahl von Fehlern
vorhersagen lässt als von irgend einem anderen Sprungvorhersageverfahren.
Es sollte somit möglich sein, die Vorhersagezuverlässigkeit unterschiedlicher
Sprungvorhersageverfahren dadurch zu verbessern, dass sie miteinander kombiniert
werden, wobei situationsabhängig jeweils das am besten geeignete Verfahren für die
Vorhersage verwendet wird. Im Allgemeinen kombiniert man zwei Verfahren mit-
einander, die sich möglichst gut ergänzen. Bewährt hat sich z.B. eine der beiden
1.
Die Zahl beruht auf Simulationen der SPECint2000 für den Alpha 21264, wobei eine Historie
von 24 Sprungentscheidungen und eine Perceptrontabelle mit 163 Einträgen zugrundegelegt
wurde. Die Gewichte waren acht Bit breit.
Search WWH ::




Custom Search