Aufgabe 6.7

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe 6.7
Hallo zusammen,

ich hab ein paar Probleme mit der Aufgabe 6.7. Leider verstehe ich die Aufgabenstellung nicht so ganz. Mir ist nicht klar, ob beginnend ab der Adresse 0xc nur 4 Byte als Daten geladen werden oder doch 8 Byte (beginnend ab der Adresse z.B. 0xc) in den Cache wandern?
Außerdem weiß ich nicht, wie ich den Tag und den Index berechnen soll, zumal ich nicht weiß, auf welche Adresse sich der Tag und Index beziehen. Ich vermute, dass man aus der ersten Adresse der 4 bzw. 8 ausgelesenen Bytes den Tag und Index-Teil berechnen soll?
Die Blockzuordnung erfolgt ja über den Index.

Wisst ihr dort vielleicht Rat?

Vielen Dank!

Schönen Abend noch!
Froschigon


Der Hinweis, dass 4 Byte gelesen werden, hat hier laut meinem Tutor keine Auswirkung.
Selbst wenn du nur ein Byte lesen würdest, würde der Cache die Daten in einen Cacheblock hineinladen.
Du liest also das 1. Byte, der Cacheblock wird geladen. Du liest das 2. Byte, dies führt zu einem Cache Hit. Dasselbe mit dem 3. und 4. Byte. Dies liegt daran, dass ein Cacheblock 8 Byte groß ist und sich die 4 gelesenen Bytes (z. B. bei 0xc) immer innerhalb eines Cache-Blocks befinden. Deswegen sind Tag und Index auch immer gleich.