Information Technology Reference
In-Depth Information
Befehlsadresse
h
a
Adresse
Historie
Hash 1
adr
Hashwert
h
w
tatsächlicher Wert
Werthistorien-
tabelle
h
b
Hash 2
i
Wertvorhersagetabelle
Index
Vorhersagewert
Vorhersagezustand
Bild 2.50. Adressierung einer Wertvorhersagetabelle ohne Tag. Der Index für die Wertvorhersage-
tabelle wird durch Verknüpfung der in der Werthistorientabelle gespeicherten abstrakten Werthisto-
rie mit einer Hashfunktion generiert (Hash 2 )
Beispiel 2.8. Bildung von Hash-Werten . Angenommen, zur Berechnung des Indexes für die Wert-
vorhersagetabelle werden jeweils die unteren acht Bits jedes in der Werthistorientabelle gespeicher-
ten Werts verwendet, dann ist es sinnvoll, nur die benötigten Bits in der Werthistorientabelle zu hal-
ten. Statt also drei Werte zu je 32 Bits sind drei Werte zu je acht Bits, d.h. insgesamt 24 Bits, zu
sichern. Ein neuer Wert wird hinzugefügt, indem aus dem tatsächlichen Wert die relevanten Bits
extrahiert und durch Shift in den Hashwert eingefügt werden. Diese Funktionalität ist im Bild durch
das Schaltnetz Hash 1 realisiert.
Für die eigentliche Wertvorhersage ist die in codierter Form vorliegende 24 Bit breite Werthistorie
aus der Werthistorientabelle noch in einen Index umzuwandeln, der die Adressierung aller Einträge
der Wertvorhersagetabelle ermöglicht. Um z.B. einen 16 Bit Index zu erhalten, können die drei je 8
Bit breiten Werte aus der Werthistorientabelle um 0, 4 und bzw. 8 Bit verschoben und die Ergeb-
nisse anschließend durch Exclusiv-Oder verknüpft werden. Häufiges Verdrängen von Einträgen aus
der Wertvorhersagetabelle (aliasing) lässt sich vermeiden, indem man dieses Ergebnis anschließend
noch mit den unteren 16 Bits des Befehlszähler exclusiv-oder-verknüpft.
Wertvorhersage bei Ladebefehlen
Der Zugriff auf ein einzelnes zu lesendes Datum erfordert i.Allg. mehrere Takte für
die Bearbeitung. Zwar sind die normalerweise vorhandenen Datencaches oft in
Fließbandtechnik realisiert, so dass pro Takt ein Zugriff ausgeführt werden kann,
allerdings ist dies nur möglich, wenn sich das Datum bereits im Cache befindet. Ist
dies nicht der Fall, wird ein zeitaufwendiger Zugriff auf den Hauptspeicher erforder-
lich. Aber selbst wenn der Cache das adressierte Datum bereits enthält, lassen sich
zum jeweiligen Ladebefehl datenabhängige Befehle erst ausführen, wenn der benö-
tigte Operand verfügbar ist, d.h. wenn der entsprechende Lesezugriff auf den Cache
abgeschlossen wurde. Insbesondere ist es hierbei nicht möglich, Bypässe zu ver-
wenden (Abschnitt 2.2.3). Durch eine korrekte Wertvorhersage des zu ladenden
Werts bzw. der wahrscheinlich zu verwendenden Adresse ist die ohne eine Wertvor-
Search WWH ::




Custom Search