Information Technology Reference
In-Depth Information
einer Cache-Zeile gespeicherten Adressbereichs um einen neuen Eintrag erweitert.
Ein n (not taken) zeigt hierbei an, dass die Befehlsausführung in dem unmittelbar
auf den aktuell folgenden Speicherbereich, und ein t (taken), dass die Befehlsaus-
führung in einem beliebigen anderen Speicherbereich fortgesetzt wird (also weder
dem aktuell adressierten noch dem unmittelbar folgenden Speicherbereich). Dabei
spielt es keine Rolle, ob man im erstgenannten Fall den unmittelbar folgenden
Speicherbereich durch einfache, sequentielle Befehlsbearbeitung oder durch einen
verzweigenden Sprungbefehl erreicht. Die in dieser Weise generierte Historie wird
mit der Adresse des aktuell vom Befehlszähler adressierten Speicherblocks exclu-
siv-oder-verknüpft (b) und das Ergebnis verwendet, um die Zeilenvorhersagetabelle
zu adressieren (die unteren Bits des Befehlszählers werden hierbei ignoriert). Das
Prefetching erfolgt, wenn sich ein Eintrag findet und der Vorhersagezustand eine
ausreichende Zuverlässigkeit anzeigt.
a
Shift
PC
LHR
n
n
c
Folgez e ile?
b
XOR
tatsächlich adressierter Speicherblock
Zeilenvorhersagetabelle
Hit
Zeilenmuster
Zeile
Vorhersagezustand
Succ
HA
LA
LD
HD
n-t-t-n-t
adr
HA
Vorhersage
Bild 2.64. Prinzipielle Darstellung einer Einheit zur Vorhersage der als nächstes zu ladenden
Befehlscache-Zeile
Sobald der tatsächlich als nächstes bearbeitete Speicherblock feststeht, wird die
Basisadresse mit der Vorhersage verglichen und der Vorhersagezustand entspre-
chend angepasst (gesteuert über das Signal Succ). Bei aktivem Zustand HD aktuali-
siert man ggf. außerdem die Zeilenvorhersagetabelle. Schließlich wird noch über-
prüft, ob der tatsächlich adressierte Speicherblock auf den aktuell über den Befehls-
zähler adressierten Speicherblock folgt oder nicht (c) und das Zeilenhistorienregis-
ter entsprechend des Ergebnisses aktualisiert.
Ähnlich wie der Befehlscache basierend auf einer Sprungvorhersage im Vorgriff
geladen werden kann, lässt sich auch der Datencache basierend auf der Vorhersage
der jeweils nächsten Zugriffsadresse füllen, wobei zur Vorhersage eines der in
Abschnitt 2.2.6 beschriebenen Verfahren zum Einsatz kommen kann. Eine Modifi-
kation der Verfahren ist nicht notwendig, weshalb hier auf eine detaillierte Beschrei-
bung verzichtet wird (siehe auch [24, 52, 65]).
Schreibpuffer (write buffer). Ein Schreibpuffer ist mit einem Ringpuffer ( FiFo )
vergleichbar, in dem sich Schreibzugriffe auf den Hauptspeicher für kurze Zeit zwi-
schenspeichern lassen. Damit ist es möglich, die in Bearbeitung befindlichen oder
Search WWH ::




Custom Search