Information Technology Reference
In-Depth Information
nen Werte beziehen sich auf den in Bild 3.9 für die sechste Verarbeitungseinheit
beschriebenen Zugriff.
In einem ersten Schritt wird durch Aktivierung des Signals init für die Zwischen-
speicherung der Vektorbasisadresse sowie der zu verwendenden Schrittweite
gesorgt. Dabei löscht man gleichzeitig auch das mit a markierte Zählregister. Es ist
erforderlich, um die zwischen den Elementregistern der Verarbeitungseinheit und
dem Cache zu transportierenden Elementnummern nacheinander aus der Reorgani-
sationstabelle zu lesen. Für den Zugriff auf den Cache müssen die Elementnummern
noch in absolute Hauptspeicheradressen umgewandelt werden. Dies geschieht,
indem sie zuerst mit der Schrittweite multipliziert (b) und anschließend die so
erzeugten basisrelativen Hauptspeicheradressen (145, 25, 65 und 105) auf die Vek-
torbasisadresse addiert werden (c).
stride
addr
0
init
+1
a
e
d
:
0
0
0
0
:
:
5
5
5
5
:
:
0
1
2
3
:
:
29
5
13
21
:
Reorganisations-
tabelle
c
b
Cache
Vector Register
Bild 3.10. Einfache Registertransferschaltung zur Erzeugung reorganisierter Adressen
Selbstverständlich sind die zu verwendenden Elementnummern von der Schrittweite
abhängig, mit der auf einen Vektor zugegriffen wird. Trotzdem ist es nicht notwen-
dig die Schrittweite vollständig an die Reorganisationstabelle zu führen, da sich die
Zugriffsmuster wiederholen, wenn man die Schrittweite um ein Vielfaches der ent-
lang der Bänke des Caches speicherbaren Elementanzahl vergrößert. Im konkreten
Fall müssen z.B. nur die unteren fünf Bits der Schrittweite berücksichtigt werden.
Unerwartet mag erscheinen, dass auch ein Teil der Vektoradresse für die Eintrags-
auswahl benötigt wird (e). Das Zugriffsmuster entsprechend Bild 3.9 ist nämlich
davon abhängig, mit welchem Wortindex man innerhalb einer Cache-Zeile das erste
Element des Vektors adressiert. Bei einem Wortindex von Eins verändern sich die
Verhältnisse z.B. so, als würde mit dem dritten Zugriff begonnen, wobei die relative
Hauptspeicheradresse 65 für das erste Vektorelement durch 0 zu ersetzen ist. Für die
sechste Verarbeitungseinheit bedeutet dies, dass statt der relativen Hauptspeichera-
dressen 145, 25, 65 und 105 nun 0, 40, 80 und 120 zu generieren sind, was den in
Search WWH ::




Custom Search