Cache wortadressierter HS statt byte addressiert?
Kann mir hier jemand weiterhelfen?
... und dem wortadressierten Hauptspeicher a DW = 2 Byte
1 Antwort
Da es deine Hausaufgaben sind nur ein Ansatz: du hast ein Kapazität (16 Blöcke) und unterschiedliche Satzgrößen = daraus errechnet du doch ganz einfach die Satzzahlen...
Bei den Bits kläre die Aufgabe der einzelnen Typen und wieviele Bits du dazu jeweils brauchst ..
Danken für deinen Tipp:
Wenn der Hauptspeicher Byteadressiert ist, ist mir das klar.
Hier steht allerdings wortaddressierter Hauptprozessor
Datenwort a 2 Byte
Im Cache stehen ja jetzt auch die Adressen der Datenwörter
Spielen wir es bei a) mal für Assozität 1-fach durch:
n = 1 Anzahl der Blöcke pro Satz. Der Cache hat insgesamt 16 Blöcke
c = n * s c = Anzahl aller Blöcke s= Anzahl der Sätze
n = 1, daher c = s somit Anzahl Sets 16
Index-Bits: ich habe 16 Sätze also 2^4 = 4 Bits für den Index
Off-Set: ich ein Block umfasst 4 Datenwörter, 2^2 = 2 Bits für den Off-Set
Tag-Bits: Alle Cachspeicher werden mit 32-Bit addressiert laut Aufgabe
32 - 4 - 2 = 26 Bit für den Tag ????
Wäre dies soweit richtig?
Das hier jetzt im Speicher ein Datenwort a 2 Byte verwendet wird. Das verwirt mich. Jetzt adressressiere ich ja mit dem Offset nicht mehr jedes Byte sondern die Datenworte? Deshalb denke ich das der Offset hier 2^2 a 2 Bit sein müsste, da 4 Datenwörter in einem Block stehen.
Adressiere ich Byteweise 4 DW a 2 Byte = 8 Byte brauch ich einen Offset von 2^3 a 3 Bit.
- Tag-Bits sind der Rest zur Länge - hier 32 Bit
- Indexbits brauchste ab 2 Sets: sind die Hochzahl in Setzahl=2^x...
- ist die Hochzahl innerhalb des Blocks: hier immer 2, wie Du schon angegeben hast
Also
- 1-fach = 1 Blocks/Set = 16 Sets = 26 Tagbits, 4 Indexbits, 2 Offsetbits
- 2-fach = 2 Blocks/Set = 8 Sets = 27 Tagbits, 3 Indexbits, 2 Offsetbits
- 4-fach = 4 Blocks/Set = 4 Sets = 28 Tagbits, 2 Indexbits, 2 Offsetbits
die Tagbitzahl kommt mir zwar hoch vor, aber wenn der Prozessor mit 32 bit arbeitet...
aber ich mir das hier letztlich auch erst heute angelesen...
...von daher keine Gewähr! ;o)
b) wie verändern sich die Werte bei Byt-weiser-Adressierung
1-fach: Anzahl Sets bleibt gleich 16, Index--Bits bleibt gleich, Off-Sett 2^3 = 3 Bits jetzt, da 4 Datenwörter a 2 Byte = 8 Byte.
Tag 32 - 4- 3 = 27 . Richtig?