Information Technology Reference
In-Depth Information
rekt vorhersagbar (als Benchmark wurde ein Teil der SPEC95 verwendet). Mit
anderen Worten: Eine Wertvorhersage kann eine Sprungvorhersage ergänzen, sie
aber nicht ersetzen.
Der prinzipielle Aufbau einer Einheit zur Sprungvorhersage, unterstützt durch eine
Einheit zur Wertvorhersage, ist in Bild 2.52 dargestellt. Zur Adressierung lässt sich
der Befehlszähler des jeweiligen Sprungbefehls, der Pfad, der zum Sprungbefehl
geführt hat, eine Kombination beider usw. verwenden (a). Über den mit b markier-
ten Multiplexer wird ausgewählt, ob die Sprungvorhersage herkömmlich oder durch
Wertvorhersage erfolgen soll. Letzteres geschieht nur dann, wenn die benötigten
Werte mit hoher Zuverlässigkeit vorhersagbar sind.
PHR (Pfad)
PC
Sprungentscheidung
a
Herkömmliche
Sprungvorhersage
(backing predictor)
Sprungvorhersage durch
Wertvorhersage
(value predictor)
c
b
Sprungvorhersage
Bild 2.52. Sprungvorhersage mit Hilfe einer Wertvorhersage
Sobald die tatsächliche Sprungentscheidung feststeht, passt man die beiden Einhei-
ten zur Sprungvorhersage an die neuen Gegebenheiten an ( training ). Der Zustand
der Einheit zur Sprung- durch Wertvorhersage sollte möglichst nur verändert wer-
den, wenn die herkömmliche Sprungvorhersage kein korrektes Ergebnis erzeugt hat.
Dies lässt sich durch Vergleich der vorhergesagten und der tatsächlich aufgetretenen
Sprungentscheidung erkennen, wobei berücksichtigt wird, welche der beiden Ein-
heiten für die Vorhersage verantwortlich gewesen ist (c). Da durch ein herkömmli-
ches Verfahren zur Sprungvorhersage in den meisten Fällen korrekte Ergebnisse
generiert werden, ist es nur selten notwendig, einen neuen Eintrag in der Wertvor-
hersagetabelle zu erzeugen. Letztere sind daher einfacher, d.h. mit einer geringeren
Anzahl von Einträgen realisierbar, als müsste jede tatsächliche Sprungentscheidung
auch gespeichert werden. - Es folgen Beschreibungen unterschiedlicher Verfahren
zur Sprungvorhersage durch Wertvorhersage.
Sprungvorhersage beliebiger Sprungbefehle durch Wertvorhersage. Als Vor-
aussetzung sei angenommen, dass Operandenvergleiche zusammen mit den Sprung-
befehlen ausgeführt werden, also ein Prozessor mit einem Programmiermodell wie
dem des MIPS64 20Kc von MIPS [106] verwendet wird. Für die Vorhersage einer
Sprungentscheidung sind maximal zwei Operanden zu bestimmen. Diese können
zusammen in einem Eintrag der Wertvorhersagetabelle gespeichert und mit Hilfe
der Adresse des Sprungbefehls ausgelesen oder, was geschickter ist, getrennt vor-
hergesagt werden, indem auf die Wertvorhersagetabelle jeweils mit den Adressen
der Befehle zugegriffen wird, die den benötigten Operanden als Ergebnis erzeugt
haben (siehe Bild 2.53).
Search WWH ::




Custom Search