Speicherhierarchie und Leistung
Was ist der Hauptnutzen eines Victim Cache, der in einem kleinen voll assoziativen Puffer aus dem L1-Cache verdrängte Zeilen vorübergehend hält?
- AUnmittelbar nach dem Verdrängen erneut verwendete Zeilen können schnell zurückgeholt werden, und der Verlust durch Konflikt-Misses sinkt
- BKapazitäts-Misses sinken im gleichen Maß, wie wenn die Kapazität des L1-Caches vergrößert würde
- CCompulsory Misses entfallen, und Prefetch wird überflüssig
Antwort und Erläuterung anzeigen
Antwort: A. Unmittelbar nach dem Verdrängen erneut verwendete Zeilen können schnell zurückgeholt werden, und der Verlust durch Konflikt-Misses sinkt
Bei Direct-Mapped-Caches u. Ä. verdrängen sich Daten, die um denselben Satz konkurrieren, gegenseitig, und eben verdrängte Zeilen werden oft sofort wieder verwendet. Ein Victim Cache hält einige bis ein gutes Dutzend verdrängter Zeilen; ist bei einem L1-Miss die Zeile dort vorhanden, lässt sie sich schneller zurückholen als aus der unteren Ebene. Da er klein ist, senkt er Kapazitäts-Misses nicht nennenswert und wirkt auch nicht bei Compulsory Misses für noch nie geladene Daten.