Information Technology Reference
In-Depth Information
Bei Ausführung einer alternierenden Verzweigungsfolge ist nach einer möglicher-
weise zu durchlaufenden Einschwingzeit einer der beiden Zustände TN oder NT
aktiv und es wird mit Ausführung weiterer Sprungbefehle jeweils zwischen diesen
beiden Zuständen hin- und hergewechselt. Da der Sprungbefehl hierbei immer als
verzweigend vorhergesagt wird, jedoch nur jedes zweite Mal tatsächlich verzweigt,
werden die Sprungentscheidungen hierbei nur zu 50% falsch und nicht wie bei einer
dynamischen Sprungvorhersage mit einstufiger Historie entsprechend Bild 2.29 zu
100% falsch vorhergesagt. Dafür ist jedoch ein geringer Mehraufwand für die Reali-
sierung in Kauf zu nehmen.
TN
wird
verzweigen
verzweigt (t)
verzweigt nicht (n)
n
n
TT
wird
verzweigen
NN
wird nicht
verzweigen
n
t
NT
wird
verzweigen
t
t
Bild 2.30. Dynamische Sprungvorhersage mit zweistufiger Historie. Die Zustandsnamen geben
jeweils das tatsächliche Sprungverhalten der letzten beiden Ausführungen des jeweiligen Sprung-
befehls an
Dynamische Sprungvorhersage durch Gewichtung. Die dynamische Sprungvor-
hersage mit zweistufiger Historie ist in ihrer Funktionalität direkt aus der dynami-
schen Sprungvorhersage mit einstufiger Historie ableitbar, kommt jedoch kaum zur
Anwendung. Statt dessen ist in realen Prozessoren oft die ähnlich effektive dynami-
sche Sprungvorhersage durch Gewichtung realisiert (z.B. im ColdFire MFC5407
von Motorola [125], im PowerPC MPC750 von Motorola [128] oder im einfachen
Pentium von Intel [16]). Der zur Sprungvorhersage verwendete Graph ist in Bild
2.31 dargestellt. Die einzelnen Zustände repräsentieren nicht direkt, sondern in einer
abstrakten Art und Weise die unmittelbare Historie der Sprungentscheidungen. In
den Zuständen ST (strongly taken) und WT (weakly taken) wird ein Sprungbefehl
als verzweigend, in den Zuständen SN (strongly not taken) und WN (weakly not
taken) als nichtverzweigend vorhergesagt.
Falls ein Sprungbefehl über längere Zeit ein konstantes Sprungverhalten, also nur
verzweigend oder nur nichtverzweigend, aufweist, ist einer der beiden Zustände ST
oder SN aktiv. Eine Fehlvorhersage führt zwar dazu, dass man in den Zustand WT
bzw. WN wechselt, das Vorhersageergebnis wird so jedoch nicht verändert. Dies
gewährleistet, dass eine Sprungfolge der Form t-t...t-n-t... nicht zwei, sondern nur
eine Fehlvorhersage verursacht. Erst wenn sich in den Zuständen WT oder WN die
Sprungvorhersage erneut als falsch erweist, kehrt sich das Vorhersageergebnis um.
Bemerkung. Von seiner Wirkungsweise her ist das Verfahren einer Waage mit drei Gewichten
vergleichbar: Immer wenn ein Sprungbefehl verzweigt, wird ein Gewicht von der rechten in die
linke Waagschale, immer wenn er nicht verzweigt, von der linken in die rechte Waagschale gelegt.
 
Search WWH ::




Custom Search