Speicherhierarchie und Leistung

Was ist der Hauptvorteil von Stores, die den Cache umgehen (Non-Temporal Stores), wenn große Datenmengen geschrieben werden, die danach vorerst nicht wieder gelesen werden?

  1. ADie geschriebenen Daten bleiben lange im Cache und werden beim späteren Lesen schneller
  2. BDer Cache wird nicht mit Daten gefüllt, die nicht wiederverwendet werden
  3. CDie Schreibreihenfolge wird nicht mehr garantiert, sodass sich Programmfehler leichter finden lassen
Antwort und Erläuterung anzeigen

Antwort: B. Der Cache wird nicht mit Daten gefüllt, die nicht wiederverwendet werden

Bei gewöhnlichen Schreibzugriffen wird per Write-Allocate die Zeile erst aus dem Hauptspeicher geladen und dann beschrieben; selbst bei Daten, die nur geschrieben werden, entsteht daher Ladeverkehr, und andere Daten, die wiederverwendet würden, werden verdrängt. Non-Temporal Stores senden Schreibzugriffe gebündelt direkt an den Hauptspeicher, verschmutzen den Cache nicht und sparen unnötiges Laden. Geschriebene Daten bleiben nicht im Cache, sodass es bei sofortigem Zurücklesen eher langsamer wird. Dass sich der Umgang mit der Reihenfolge ändert, ist ein Nebeneffekt und kein Vorteil.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Speicherhierarchie und Leistung

  1. Wie hoch ist die Miss-Rate, wenn die Trefferrate des Caches 95 % beträgt?
  2. Welches Verfahren sendet beim Laden einer Miss-Zeile aus dem Hauptspeicher zuerst das von der CPU benötigte Wort und den Rest später?
  3. Warum wird es tendenziell schneller, die beiden obigen Schleifen zu einer zusammenzufassen (Loop Fusion), wenn N groß ist?
  4. Welche Kombination aus Grund und typischer Gegenmaßnahme ist richtig, warum beim Transponieren einer großen Matrix (b[j][i] = a[i][j]) leicht viele Cache-Misses auftreten?
  5. Welche Eigenschaft gilt in der Speicherhierarchie eines üblichen Computers umso mehr, je höher die Ebene liegt (je näher an der CPU)?

Vergleiche zu diesem Thema