Vollassoziativer Cache-Speicher

Hallo,

in einem vollassoziativem Cache-Speicher kann ja jeder Sektor des Hauptspeichers in jeder Zeile des Cache-Speichers abgelegt werden. Soweit so gut. Leider habe ich zwei verschiedene Grafiken vor mir liegen und weiß nun leider nicht, welche die richtige ist oder ob beide Wege möglich sind:

Grafik A)

 HS CS TS
01 +---+ +---+ +----+
 | X | | Y |---| 02 |
02 +---+ +---+ +----+
 | Y | | Z |---| 03 |
03 +---+ +---+ +----+
 | Z |
 +---+

Grafik B)

 HS CS TS
01 +---+ A +---+ +----+---+
 | X | | Y | | 02 | A |
02 +---+ B +---+ +----+---+
 | Y | | Z | | 03 | B |
03 +---+ +---+ +----+---+
 | Z |
 +---+

(HS = Hauptspeicher, CS = Cache-Speicher, TS = Tag-Speicher)
(01 - 03 = Adresse im HS, A mit B = Adresse im Cache-Speicher)

Der Unterschied dieser beiden Grafiken, der mich irritiert, ist der, dass in A) nur die Adresse im HS durch den Tag-Speicher (TS) angegeben wird. Um welchen Eintrag im Cache-Speicher es sich handelt ist ja durch die Zeile eindeutig bestimmt. In Grafik B) hingegen ist keine Zuordnung von Zeile zu Zeile im Cache vorhanden. Hier wird Im Tagspeicher die Adresse des Cache-Speichers mit abgelegt unter der der gesuchte Wert gespeichert ist.

In der Grafik A) könnte man fast davon ausgehen, dass es sich hier um einen Direct-Mapped Cache-Speicher handelt. Dies ist aber nicht der Fall, da ja beliebige Sektoren im HS in beliebige Sektoren des CS abgelegt werden können.

Welcher der beiden gezeigten Arten ist die richtige? Falls beide Verwendung finden, welche Art ist die häufiger verwendete?

Vielen herzlichen Dank.

Grüsse

Hi,

ich hab das mal alles gewusst aber wieder teils vergessen. Habe aber trotzdem ein Tipp, nämlich ein Buch, in dem alles über Cachespeicher drinsteht (und noch viel mehr):

Henessey and Patterson.
Computer Architecture - A quantitative approach.

Das gibts in jeder Informatik-Bibliothek, will ich hoffen :wink:

Ciao,
Martin.