Speicherhierarchie und Leistung

Welches Verfahren schreibt bei einem Cache-Miss beim Schreiben direkt in die untere Hierarchieebene, ohne die Zeile zu laden?

  1. AWrite-Allocate
  2. BWrite-Back
  3. CNo-Write-Allocate
Antwort und Erläuterung anzeigen

Antwort: C. No-Write-Allocate

Das Verfahren, bei einem Schreib-Miss direkt in die untere Ebene zu schreiben, ohne die Zeile zu laden, ist No-Write-Allocate und wird häufig mit Write-Through kombiniert. Bei Daten, die nach dem Schreiben nicht wieder gelesen werden, spart es unnötiges Laden. Write-Allocate lädt dagegen die Zeile vor dem Schreiben, ist vorteilhaft, wenn geschriebene Daten bald wieder verwendet werden, und wird häufig mit Write-Back kombiniert. Write-Back legt die Behandlung von Schreibtreffern fest und ist eine andere Achse als die Frage, ob bei einem Miss geladen wird.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Speicherhierarchie und Leistung

  1. Ein voll assoziativer Cache mit 2 Zeilen Kapazität und LRU-Ersetzung ist anfangs leer. Wie viele Misses treten auf, wenn die Blöcke in der Reihenfolge A, B, A, C, B, A referenziert werden?
  2. Bei welchem Zugriff entfaltet Hardware-Prefetch besonders leicht seine Wirkung?
  3. Welche Aussage zur Frage, wie weit im Voraus Daten gelesen werden sollen (Prefetch-Distanz), ist richtig, wenn Software-Prefetch-Anweisungen eingefügt werden?
  4. In der obigen Schleife ist int 4 Byte groß und die Cache-Zeile 64 Byte; das Array liegt nicht im Cache, und sein Anfang ist an der Zeilengrenze ausgerichtet. Wie hoch ist die Miss-Rate beim Lesen des Arrays ohne Prefetch?
  5. Was ist der Hauptzweck von Loop Blocking (Tiling), das z. B. beim Matrixprodukt verwendet wird?

Vergleiche zu diesem Thema