Speicherhierarchie und Leistung

Welche Rolle spielt das Dirty-Bit, das bei einem Write-Back-Cache an jede Zeile angefügt wird?

  1. AEs zeigt an, ob die Daten der Zeile gültig und lesbar sind
  2. BEs zeigt an, dass sie überschrieben wurde und sich ihr Inhalt vom Hauptspeicher unterscheidet
  3. CEs zeigt den Zeitpunkt des letzten Zugriffs auf die Zeile an
Antwort und Erläuterung anzeigen

Antwort: B. Es zeigt an, dass sie überschrieben wurde und sich ihr Inhalt vom Hauptspeicher unterscheidet

Beim Write-Back wird nur im Cache geschrieben, sodass Zeilen entstehen, deren Hauptspeicherinhalt veraltet ist. Das Dirty-Bit zeigt an, dass die Zeile überschrieben wurde, sodass beim Verdrängen nur dirty-Zeilen in den Hauptspeicher zurückgeschrieben werden müssen. Nicht überschriebene Zeilen werden einfach verworfen, wodurch unnötige Schreibzugriffe verringert werden. Ob eine Zeile gültig ist, zeigt das Valid-Bit an, und die Zugriffsreihenfolge wird mit Informationen für die Ersetzung wie LRU verwaltet.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Speicherhierarchie und Leistung

  1. Welches Verfahren schreibt bei einem Cache-Miss beim Schreiben direkt in die untere Hierarchieebene, ohne die Zeile zu laden?
  2. 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?
  3. Bei welchem Zugriff entfaltet Hardware-Prefetch besonders leicht seine Wirkung?
  4. Welche Aussage zur Frage, wie weit im Voraus Daten gelesen werden sollen (Prefetch-Distanz), ist richtig, wenn Software-Prefetch-Anweisungen eingefügt werden?
  5. 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?

Vergleiche zu diesem Thema