Information Technology Reference
In-Depth Information
tretende Wert, nicht jedoch der Folgewert korrekt vorhersagen, weil nämlich der
dazu benötigte letzte Wert in der Wertvorhersagetabelle erst aktualisierbar ist, wenn
er vorliegt - nach Voraussetzung zu spät für eine korrekte Vorhersage.
Wiederholte Fehlvorhersagen diese Art bewirken, dass der Zustand HD aktiviert
und die Schrittweite in der Wertvorhersagetabelle verändert wird. Dies ermöglicht
zwar wieder eine korrekt Vorhersage, sie wird aber wegen des Vorhersagezustands
HD bzw. LD nicht akzeptiert. Alles in allem führt dies dazu, dass in einer entspre-
chenden Situation kein Wert mehr korrekt vorhersagbar ist, obwohl es wegen der
konstanten Schrittweite im Prinzip möglich sein müsste, alle Werte vorherzusagen.
Die Lösung des Problems besteht darin, einen Differenzwert in der Wertvorhersage-
tabelle zu codieren, der jeweils entsprechend der Schrittweite initialisiert bzw. bei
jeder Wertvorhersage inkrementiert und beim Vorliegen des tatsächlichen Werts
dekrementiert wird. Die eigentliche Vorhersage geschieht dann anhand des generier-
ten Differenzwerts. In Bild 2.48 sind die notwendigen Modifikationen einer Einheit
zur differentiellen Wertvorhersage dargestellt. Der Vorhersagewert lässt sich durch
Addition des in der Wertvorhersagetabelle gespeicherten letzten Werts und des Dif-
ferenzwerts berechnen (a). Letzterer ist, solange noch keine Wertvorhersage durch-
geführt wurde, gleich der Schrittweite.
Befehlsadresse
tatsächlicher Wert
x+d, x+2d,...
Wertvorhersagetabelle
Adresse
Letzter
Wert
Vorhersage-
schrittweite
Differenz-
wert
Vorhersage-
zustand
adr
x
d
2d
LA
a
b
vorhergesagter Wert
x, (x+d) , (x+2d)
Bild 2.48. Erweiterungen zur differentiellen Wertvorhersage, um überlappende Wertvorhersagen
korrekt durchführen zu können
Wegen der Verzögerung, mit der der letzte Wert in die Wertvorhersagetabelle
geschrieben wird, ist der Differenzwert bei jeder neuen Wertvorhersage entspre-
chend der Schrittweite zu inkrementieren (b). Diese Modifikation ist rückgängig zu
machen, sobald der tatsächliche Wert vorliegt und in die Wertvorhersagetabelle als
letzter Wert eingetragen wird. So lässt sich z.B. x+2d in der Wertfolge x, x+d, x+2d
usw. vorhersagen, indem man entweder auf den letzten Wert x+d den Differenzwert
d addiert, wenn nämlich x+d als letzter Wert bereits bekannt ist, oder indem man
den letzten gespeicherten Wert x und den Differenzwert 2d addiert, wenn nämlich
x+d als letzter Wert noch nicht bekannt ist.
Kontextbasierte Wertvorhersage (context based prediction). Die zuvor beschrie-
benen Verfahren setzen voraus, dass die von einem Befehl verarbeiteten Operanden
Search WWH ::




Custom Search