Speicherhierarchie und Leistung
Was ist der Hauptvorteil eines nichtblockierenden Caches (eines Caches, der auch während der Behandlung eines Misses weitere Zugriffe annimmt)?
- ADie Zahl der Cache-Misses selbst lässt sich gegenüber blockierenden Verfahren verringern
- BDie Miss-Daten lassen sich schneller aus dem Hauptspeicher lesen
- 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.