Hardware Reference
In-Depth Information
w − b Bits
b Bits
Adresse A
0011001000
1010110101
0
0011001000
1
Daten
Tags
Abbildung 7.10. Cache mit zwei Blocken und assoziativer Speicherung. Die
hochstwertigen w − b Bits der Adresse werden gleichzeitig mit allen Tags verglichen. Eine
Ubereinstimmung mit einem der Tags wird durch eine Eins im Trefferregister signalisiert
(hier beim zweiten Tag)
Interessanter, aber komplizierter und aufwandiger zu realisieren, ist die zwei-
te Variante. Hier kann jeder Block Daten von beliebigen Speicheradressen
aufnehmen. Wenn nach einer bestimmten Adresse gesucht wird, so mussen
die hochstwertigen Adressbits mit jedem einzelnen Tag verglichen werden.
Um den Cache nicht zu verlangsamen, mussen diese Vergleiche parallel aus-
gefuhrt werden. Eine Ubereinstimmung mit einem der Tags wird durch eine
1imsogenannten Trefferregister signalisiert. An diesem Trefferregister lasst
sich feststellen, ob ein Cache-Hit vorliegt, und die Daten an der entsprechen-
den Position werden aus dem Cache ausgelesen.
Fur einen Cache mit zwei Blocken ist dies in Abbildung 7.10 veranschaulicht.
Die Menge der gespeicherten Tags wird elementweise mit der gesuchten Adres-
se verglichen. Ein Cache-Block wird also nicht wie bei gewohnlichem Speicher
uber eine Adresse gefunden, sondern uber sein mitgespeichertes Tag. Diese
Form des Au ndens gespeicherter Daten nennt sich Content Addressable
Memory ,kurzCAM.Gebrauchlich ist auch der Begriff der assoziativen Spei-
cherung (von assoziieren“: Verknupfen, gedanklich zusammenschließen; ins-
besondere arbeitet auch das menschliche Gehirn assoziativ). Caches sind das
Hauptanwendungsgebiet solcher assoziativen Speicher.
Der Ubergang zu mehr als zwei Blocken ist bei direkt-abbildenden Caches
ganz einfach moglich. Bei assoziativ organisierten Caches ist fur jeden zu-
satzlichen Block eine eigene Logik zum schnellen Vergleich jedes einzelnen
Tags mit einer gegebenen Adresse erforderlich. Dadurch steigt der Aufwand
mit jedem Block erheblich an. In der Praxis hat sich daher ein Mittelweg zwi-
schen direkt abbildender und vollstandig assoziativer Speicherung etabliert:
Jeweils n =2 a Blocke werden zu einem so genannten Set zusammen gefasst.
Der ganze Cache besteht aus 2 c solcher Sets. Es werden c Bits einer Speicher-
adresse verwendet, um einer Adresse ein Set zuzuordnen. Die Nummer dieses
Sets bezeichnet man als Index oder Set-Adresse . Innerhalb des Sets kann ein
 
Search WWH ::




Custom Search