Hardware Reference
In-Depth Information
9
SUB $4,$4,1
10
BP $4,loop1
11
TRAP 0,Halt,0
Geben Sie an, welche der bedingten Sprungbefehle Probable Branches bzw.
gewohnliche Branches sein mussen, damit die statische Sprungvorhersage op-
timal arbeitet. Geben Sie ferner an, wie oft jeder Sprungbefehl ausgefuhrt
wird und wie oft dabei ein Taken auftritt.
6.2
6.2 Auswirkungen der Sprungvorhersage
Bei der klassischen Funf-Stufen-Pipeline betragt die Verzogerung durch falsch
vorhergesagte Verzweigungen zwei Taktzyklen, wie im Abschnitt 3.2.3 uber
ablaufbedingte Hemmnisse besprochen wurde. Dieser Abschnitt zeigt, wie
groß diese Sprungverzogerung
p
bei superskalaren Prozessoren sein kann, und
welchen Einfluss das auf die Leistungsfahigkeit hat.
Um die Leistungseinbußen durch falsch vorhergesagte Sprunge zu bestimmen,
mussen folgende Großen bekannt sein:
Die Rate
b
, mit der Sprungbefehle bei der Programmausfuhrung auftre-
ten. Diese hangt naturlich vom ausgefuhrten Programm ab. Statistischen
Untersuchungen zufolge ist ein Wert von
b
= 20% realistisch.
Die Wahrscheinlichkeit
m
dafur, dass die Richtung eines Sprungbefehls
falsch vorausgesagt wird, die so genannte
Misprediction Rate
.DerWert
1
− m
ist die bereits erwahnte Trefferrate.
Die Sprungverzogerung (Misprediction Penalty)
p
. Wir nehmen an, dass
dieser Wert konstant ist.
Wir betrachten einen Prozessor mit Pipeline, aber ohne superskalare Befehls-
ausfuhrung. Die Laufzeit
T
(gemessen in Taktzyklen) eines Programms mit
n
ausgefuhrten Befehlen ergibt sich zu
T
=
n ·
(1 +
b · m · p
)
,
(1)
sofern man vernachlassigt, dass die Pipeline beim Starten des Programms erst
einschwingen muss (d.h. mit Befehlen gefullt wird). Bei einem Anwachsen von
m
steigt die Laufzeit und bei einem Absinken von
m
verringert sie sich. Der
IPC-Wert verh¨altsichentsprechend[2].
Abbildung 6.1 zeigt die auf
n
normierte Laufzeit mit steigender Misprediction
Rate. Bei hohen Penalty-Werten kann die Laufzeit ganz erheblich anwachsen.
Dies erklart, warum die Entwickler und Hersteller von Prozessoren viel Auf-