Information Technology Reference
In-Depth Information
soren, da hier möglicherweise mehrere Sprungbefehle parallel ausgeführt werden
(zu operationsparallel arbeitenden Prozessoren siehe Kapitel 3). Um sequentielle
Sprungentscheidungen gleichzeitig vorherzusagen, benötigt man eine Einheit zur
mehrfachen Sprungvorhersage, deren prinzipielle Struktur in Bild 2.41 wiedergege-
ben ist, wobei hier drei Sprungentscheidungen vorhersagbar sind. Abhängig vom
Inhalt des Befehlszählers und der Sprunghistorie im Register BHR wird, z.B. mit
Hilfe eines der zuvor beschriebenen Verfahren, zunächst der erste Sprungbefehl in
gewohnter Weise prognostiziert (mit a markiert). Das Vorhersageergebnis wird
einerseits ausgegeben (bp 1 ), andererseits verwendet, um die Sprunghistorie
zunächst spekulativ zu erweitern und diese anschließend der zweiten Sprungvorher-
sageeinheit zuzuführen (b).
a
c
bp 1
Sprung-
vorhersage
f
bp 2
Sprung-
vorhersage
Sprung-
vorhersage
d
bp 3
b
e
3
Sprungentscheidungen
Bild 2.41. Dreifach-Sprungvorhersage durch Hintereinanderschaltung mehrerer einfacher Sprung-
vorhersageeinheiten
Die für die zweite Vorhersage ggf. benötigte Befehlsadresse kann entweder zusam-
men mit dem Vorhersagezustand in der ersten Sprungvorhersageeinheit gespeichert
sein - wobei für zwei alternative Pfade auch zwei Befehlsadressen benötigt werden,
von denen jedoch nur die entsprechend der ersten Vorhersage zutreffende weiterge-
reicht wird (c) - oder die Vorhersage des zweiten Sprungbefehls geschieht mit Hilfe
der Befehlsadresse des ersten Sprungbefehls (d). Letzteres ist möglich, weil Fehl-
vorhersagen die Befehlsverarbeitung zwar verzögern, jedoch keine weiteren Konse-
quenzen haben und insbesondere die Semantik des verarbeiteten Programms nicht
verändern. In derselben Weise wie der zweite wird auch der dritte Sprungbefehl vor-
hergesagt, wobei die Sprunghistorie hierzu zusätzlich um das Vorhersageergebnis
des zweiten Sprungbefehls (bp 2 ) erweitert wird. Sobald schließlich die tatsächlichen
Sprungentscheidungen bekannt sind, werden sie in den jeweiligen Sprungvorhersa-
geeinheiten und dem Sprunghistorienregister BHR protokolliert (e).
Ein Nachteil des hier dargestellten Verfahrens ist, dass die einzelnen Sprungvorher-
sageeinheiten sequentiell durchlaufen werden müssen, was in einem langen kriti-
schen Pfad resultiert (im Bild durch eine stark ausgezeichnete Linie angedeutet). Es
ist jedoch möglich, die Sprungvorhersageeinheiten parallel anzusteuern, wenn man
nämlich auf die mit c und f markierten Verbindungen verzichtet. Die zweite und
dritte Sprungvorhersageeinheit werten dabei entweder die jeweils spekulativ erwei-
terten Sprunghistorien allein oder in Kombination mit der Befehlsadresse des ersten
Search WWH ::




Custom Search