Information Technology Reference
In-Depth Information
hersagewert bestimmen, der jedoch wegen des Vorhersagezustands HD zunächst
noch verworfen wird (Hit deaktiv, markiert mit c).
Trotzdem verwendet man den Wert, um nämlich die Vorhersageschrittweite zu über-
prüfen und den Vorhersagezustand ggf. zu modifizieren. Stellt sich heraus, dass der
tatsächliche Wert nicht mit dem vorhergesagten übereinstimmt, wird dies über das
mit d markierte Rücksignal Succ (success) gemeldet und der Zustand HD beibehal-
ten (e). Solange er aktiv ist, aktualisiert man die Schrittweite des entsprechenden
Eintrags mit der Differenz aus tatsächlichem und vorhergesagtem Wert (f). Erst
wenn sich eine Vorhersage als richtig erweist, wird der Vorhersagezustand HD ver-
lassen und die gespeicherte Schrittweite nicht weiter genutzt. Der vorhergesagte
Wert findet Verwendung, wenn der Zustand LA (likely agreed) aktiv und das Signal
Hit gesetzt ist (c). Unabhängig davon ob eine Vorhersage korrekt oder fehlerhaft
war, wird die Spalte „letzter Wert“ (g) grundsätzlich aktualisiert.
Befehlsadresse
a
tatsächlicher Wert
g
x+d, x+2d,...
f
Wertvorhersagetabelle
c
Adresse
Letzter
Wert
Vorhersage-
schrittweite
Vorhersage-
zustand
Hit
Succ
adr
x
x+d
d
LA
HA
HA
LA
LD
HD
d
e
b
vorhergesagter Wert
x, (x+d) , (x+2d)
Bild 2.47. Prinzipielle Funktionsweise einer differentiellen Wertvorhersage. Das Vorhersageergeb-
nis findet nur Verwendung, wenn einer der beiden Vorhersagezustände HA (highly agreed) oder LA
(likely agreed) aktiv ist. Ein neuer Eintrag wird jeweils im Zustand HD übernommen
Beispiel 2.7. Vorhersage einer Wertfolge . Angenommen, es erfolgt ein Zugriff auf den im Bild
dargestellten Eintrag zur Befehlsadresse adr, wobei als Vorhersagewert zunächst x und als Vorher-
sagezustand zunächst LA gespeichert sind, dann wird als nächstes der Wert x+d vorhergesagt, der
sich durch Addition des letzten tatsächlich aufgetretenen Werts und der Vorhersageschrittweite
ergibt (b). Wegen des aktiven Vorhersagezustands LA lässt sich x+d als erfolgreiche Vorhersage
klassifizieren (c). Stellt sich etwas später heraus, dass der Wert tatsächlich korrekt vorhergesagt
wurde, wird dies über das Signal Succ gemeldet und dadurch von LA in den Zustand HA (highly
agreed) gewechselt (d). Zusammen mit dem neuen „letzten Wert“ (g) wird der Vorhersagezustand
(e) schließlich in die Wertvorhersagetabelle eingetragen. Der nächste Vorhersagewert ist demzu-
folge gleich x+2d, der nächste Vorhersagezustand bei korrekter Vorhersage gleich HA. - Die vor-
hergesagte Wertfolge x, x+d, x+2d, usw. lässt sich z.B. im Zusammenhang mit Schleifen häufig
beobachten.
Ein spezielles Problem der differentiellen Wertvorhersage tritt auf, wenn innerhalb
der Zeitspanne zwischen Vorhersage und Vorliegen des tatsächlichen Werts eine
zweite Vorhersage zum entsprechenden Befehl durchgeführt werden muss, z.B. weil
sich eine Schleife in Bearbeitung befindet. Angenommen, die Schrittweite, mit der
ein Wert tatsächlich modifiziert wird, ist gleich d und die Wertvorhersagetabelle ist
entsprechend dieser Schrittweite konfiguriert, dann lässt sich zwar der nächste auf-
Search WWH ::




Custom Search