Speicherhierarchie und Leistung

Was ist der Hauptvorteil eines nichtblockierenden Caches (eines Caches, der auch während der Behandlung eines Misses weitere Zugriffe annimmt)?

  1. ADie Zahl der Cache-Misses selbst lässt sich gegenüber blockierenden Verfahren verringern
  2. BDie Miss-Daten lassen sich schneller aus dem Hauptspeicher lesen
  3. CDie Wartezeiten mehrerer Misses überlappen sich, und währenddessen können Treffer bearbeitet werden
Antwort und Erläuterung anzeigen

Antwort: C. Die Wartezeiten mehrerer Misses überlappen sich, und währenddessen können Treffer bearbeitet werden

Bei einem blockierenden Cache müssen alle folgenden Zugriffe warten, bis ein Miss abgearbeitet ist. Ein nichtblockierender Cache besitzt spezielle Register zur Aufzeichnung von Miss-Informationen (MSHR), kann auch während der Verarbeitung Zugriffe mit Treffer beantworten und andere Misses gleichzeitig vom Hauptspeicher anfordern. So überlappen und verbergen sich Wartezeiten; die Zahl der Misses selbst sinkt dadurch jedoch nicht, und auch die Zeit zum Lesen aus dem Hauptspeicher bei einem Miss ändert sich nicht. Die Wirkung entfaltet sich in Kombination mit Out-of-Order-Ausführung.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Speicherhierarchie und Leistung

  1. Die Miss-Rate des L1-Caches (Anteil an allen Zugriffen) beträgt 4 %, die globale Miss-Rate des L2-Caches (Anteil an allen Zugriffen, die auch in L2 ein Miss sind) 1 %. Wie hoch ist die lokale Miss-Rate von L2?
  2. Ein TLB hat 64 Einträge, die Seitengröße beträgt 4 KB. Welchen Speicherbereich kann man ohne TLB-Miss ansprechen (TLB-Reichweite)?
  3. Welche Kombination aus Hauptvorteil und Nachteil bei der Verwendung großer Seiten (Huge Pages) ist richtig?
  4. Ist eine Zeile eines zweidimensionalen Arrays genau 4096 Byte (Zweierpotenz) groß, kann es beim Durchlaufen von Elementen in Spaltenrichtung auch bei ausreichender Cache-Kapazität zu vielen Misses kommen. Welche Gegenmaßnahme ist wirksam?
  5. Um das Wievielfache der Trefferzeit des L1-Caches dauert ein Zugriff auf den DRAM-Hauptspeicher ungefähr (bei der CPU üblicher PCs und Server)?

Vergleiche zu diesem Thema