Hardware Reference
In-Depth Information
w
-Bit-breite Hauptspeicheradresse
Blockadresse
Offset
Tag
Index (Set-Adresse)
im Block
w − c − b
Bits
c
Bits
b
Bits
Abbildung 7.11.
Von einer
w
-Bit-breiten Speicheradresse werden
w − c − b
Bits als Tag im
Cache mit abgespeichert. Weitere
c
Bits dienen zur Bestimmung des zugeordneten Set
Block nach dem Prinzip der assoziativen Speicherung an jeder beliebigen Po-
sition abgelegt werden. Man spricht von
n-Wege assoziativem Cache
(
n
-Way
Set Associative).
Ein Cache besteht also aus 2
c
Sets zu je
n
=2
a
Blocken der Große
m
=2
b
Bytes. Die Zerlegung einer Speicheradresse
A
in die Komponenten, die zum
Au
nden im Cache erforderlich sind, zeigt Abbildung 7.11.
Zusammenfassend wollen wir anhand eines Beispiels mit acht Cache-Blocken
die drei Arten von Caches noch einmal vorstellen. Wir beobachten den vier-
zehnten Block des Hauptspeichers (d.h.
= 14).
1. Der voll-assoziative Cache besteht aus nur einem Set, d.h. es gilt
c
=0.
Der Block kann an jede beliebige Position des Cache gespeichert werden
(verdeutlicht durch die graue Schraffur aller Blocke).
Set
A/m
0
Block
0
1
2
3
4
5
6
7
Daten
Tag
2. Der andere Extremfall ist der direkt abbildende Cache. Er enthalt je Set
nur einen Block, also gilt hier
a
= 0 d.h.
n
= 1. Der Block kann nur an die
feste Position 14 mod 8 = 6 geschrieben werden (graue Schraffur).
Set
0
1
2
3
4
5
6
7
Block
0
0
0
0
0
0
0
0
Daten
Tag
3. Ein n-Wege assoziativer Cache besteht aus Sets zu je
n
Blocken. Wir geben
das Beispiel fur
n
= 2 an, also einen Zwei-Wege assoziativen Cache. Das
Set ist durch die Adresse selbst festgelegt zu 14 mod 4 = 2. Innerhalb des