Hardware Reference
In-Depth Information
sortierenden Elementen im Mittel ( k =1 k
1 Mal auf. Fur N =5somit
etwa 1,3 Mal, also mit einer Wahrscheinlichkeit von deutlich unter 50%.
Der Sprung in Zeile 27 wird ausgefuhrt, wenn das aktuell einzusortierende
Element seinen Platz noch nicht gefunden hat. Der Sprungbefehl wird nach
Knuth im Mittel 2
)
( N 2 − N ) / 4 Mal ausgefuhrt. Pro Element sind im Mittel
·
( N−
1) / 2 Vergleiche erforderlich. Also ergeben sich die statischen Vorhersagen
sinnvoll so, wie im Programm angegeben.
Messungen mit unserem Quicksort zum Sortieren von 10.000 zufalligen Wer-
ten ergaben, dass dieses Unterprogramm 1551 Mal aufgerufen wird, um im
Mittel N =5 , 44 Werte zu sortieren. Es ergaben sich fur die Sprungvorher-
sagen im Beispiel die folgenden Trefferraten, sofern die statische Vorhersage
korrekt angegeben ist:
Zeile/Befehl Taken Not Taken Trefferrate
23/ BNP 2059 16345 88,8%
27/ PBP 11505 4840 70,4%
32/ PBN 6899 1551 81,6%
Außer bei MMIX findet sich die statische Vorhersage mit TDTB noch beim
Motorola PowerPC 601 sowie bei der Alpha-Architektur. Das Setzen des
Bits ubernehmen ublicherweise optimierende Compiler. Zum Optimieren von
Hand sind Laufschleifen am augenfalligsten, wie diejenige, die durch den PBN -
Befehl in Zeile 32 gesteuert wird. Alle anderen bedingten Verzweigungen er-
fordern genaueres Hinsehen, wie etwa die Uberlegungen im vorangegangenen
Absatz.
Manche Prozessoren, die nicht uber diese Moglichkeit der statischen Vorher-
sage verfugen, benutzen fest eingebaute Strategien, um Sprungziele vorherzu-
sagen. Aus Beobachtungen wurde beispielsweise abgeleitet, dass Verzweigun-
gen nach ruckwarts (d.h. zu niedrigeren Adressen) haufiger ausgefuhrt werden
als solche nach vorne (zu hoheren Adressen) [4]. Diese einfachen Vorhersa-
geverfahren wurden mittlerweile durch kompliziertere dynamische Verfahren
ersetzt, die wir weiter unten besprechen.
Ubung 6.1.1 Gegeben sei folgendes MMIX -Programm:
1
6.1.1
LOC
#100
2 Main
SET
$4,30
3 loop1
SET
$3,3
4
SET
$2,2
5 loop2
BZ
$2,1F
6
SUB
$2,$2,1
7 1H
SUB
$3,$3,1
8
BP
$3,loop2
Search WWH ::




Custom Search