Hardware Reference
In-Depth Information
Tabelle 6.2. Sprungvorhersage mit einem Ein-Bit-Pradiktor fur einen Probable Branch,
der sich nach dem Muster TTTNTTTN verhalt. Die Spalte Verzweigung beschreibt das
tatsachliche Verhalten des Sprungbefehls (A heißt Agreement zur statischen Vorhersage; O
bedeutet Opposition). Ein Stern kennzeichnet eine falsche Vorhersage. Der Startwert fur
den Pradiktor ist 0 (Agreement)
Durchlauf
Pradiktor
Verzweigung
1
0 (A)
T
2
0 (A)
T
3
0 (A)
T
4
0 (A)
N
5
1 (O)
T
6
0 (A)
T
7
0 (A)
T
8
0 (A)
N
9
1 (O)
T
usw.
Ubung 6.3.1 Welche Indizes ergeben sich fur die Sprungbefehle nach Tabel-
le 6.1 fur a = 3 und a =4?Wiemuss a gewahlt werden, damit in diesem
Beispiel jedem Sprungbefehl sicher ein eigener Pradiktor zugeordnet wird?
6.3.1
Wir betrachten nun das Verhalten dieses einfachen Pradiktors im Falle ei-
ner Zahlschleife mit jeweils d =4Durchlaufen. Das entspricht einer Angabe
von YesNo = #8888 8888 8888 8888 in dem Programm simple.mms in Ab-
schnitt 6.2. Wir beobachten bei der Programmausfuhrung ein Muster der
Verzweigungen von drei Taken gefolgt von einem Not Taken. Die Tabelle 6.2
zeigt den Wert des Pradiktors sowie die tatsachliche Ausfuhrung. Die Zeit
lauft dabei von oben nach unten und der Wert des Pradiktors einer Zeile
ergibt sich aus dem Verhalten der Verzweigung in der Zeile daruber. In den
mit
gekennzeichneten Zeilen trifft die Vorhersage nicht zu. Da wir einen
Probable Branch beobachten, bedeutet der Wert 0 des Pradiktors, dass ein
Taken vorausgesagt wird (Agreement).
Jede Anderung des Verhaltens resultiert in zwei aufeinander folgenden fal-
schen Vorhersagen, also in einer Trefferrate von ( d−
1) /d
im Falle einer optimalen statischen Vorhersage. Dieser Pradiktor ist also nur
dann gut, wenn sich am Verhalten eines Sprungbefehls lange hintereinander
nichts andert.
2) /d gegenuber ( d−
Search WWH ::




Custom Search