Speicherhierarchie und Leistung

Bei einem Cache mit 64 Byte Zeilengröße und 64 Sätzen: Welche Nummer hat der Satz, in den das Datum an der Adresse 0x1234 gelangt?

  1. A4
  2. B52
  3. C8
Antwort und Erläuterung anzeigen

Antwort: C. 8

Der Offset sind wegen 64 = 2⁶ die unteren 6 Bit, der Index sind wegen der Satzzahl 64 = 2⁶ die darüberliegenden 6 Bit. 0x1234 = 4660, geteilt durch 64: 4660 ÷ 64 = 72 Rest 52; die Zeilennummer ist also 72. Die Satznummer ist der Rest der Zeilennummer geteilt durch die Satzzahl: 72 mod 64 = 8. 52 ist der Rest bei der Division durch 64 und stellt die Position in der Zeile (Offset) dar. 4 ist lediglich die letzte Stelle der hexadezimalen Adresse und hat mit dem Satz nichts zu tun.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Speicherhierarchie und Leistung

  1. Was ist der Hauptgrund, weshalb Write-Back bei einer Verarbeitung, die wiederholt in dieselbe Zeile schreibt, gegenüber Write-Through vorteilhaft ist?
  2. Welche Aussage zum Ersetzungsverfahren, das im Gegensatz zu LRU (verdrängt das am längsten nicht benutzte Element) dasjenige verdrängt, das am längsten nicht mehr benutzt wird (optimale Ersetzung, OPT), ist richtig?
  3. Was geschieht im Allgemeinen mit der Trefferzeit, wenn die Cache-Kapazität erhöht wird, und welche Begründung ist richtig?
  4. Warum wird das Durchlaufen der obigen verketteten Liste tendenziell deutlich langsamer als das Lesen eines Arrays mit gleich vielen Elementen?
  5. Pro Miss wird eine 64-Byte-Zeile gelesen, die Wartezeit auf den Hauptspeicher beträgt 100 ns; kann nur ein Miss gleichzeitig bearbeitet werden, bleibt die Lesebandbreite bei etwa 0,64 GB/s. Wie hoch wird die Bandbreite ungefähr, wenn 10 Misses gleichzeitig bearbeitet werden können (andere Einschränkungen seien nicht vorhanden)?

Vergleiche zu diesem Thema