Konventionell wird ein Cache nach der Menge an Daten benannt, die er fassen kann: Ein 4-KiB-Cache kann 4 KiB Daten enthalten. Allerdings benötigen Caches auch SRAM, um Metadaten wie Tags und Gültigkeits-Bits zu speichern. In dieser Aufgabe sehen wir uns an, wie die Konfiguration eines Caches beeinflusst, wie viel SRAM insgesamt für die Implementierung benötigt wird – und wie dies die Performance des Caches beeinflusst.
Unser System nutzt 64-Bit-Adressen. Die Adressierung erfolgt byteweise.
Diese Aufgabe stammt aus Kapitel 5.3 von "Computer Organization and Design. The Hardware/Software Interface. RISC-V Edition" (Patterson & Hennessy, 2018).
Berechnen Sie die Gesamtanzahl der Bits, die benötigt werden, um einen direkt abgebildeten 32-KiB-Cache mit zwei Worte breiten Blöcken zu implementieren.
Lösung
die Wortgröße entspricht der Adressgröße, also 64 Bit oder 8 Byte
Blockgröße von zwei Worten zu 8 Byte → 16 Byte pro Block
Berechnen Sie die Gesamtzahl der Bits, die benötigt werden, um einen direkt abgebildeten 64-KiB-Cache mit 16 Worte breiten Blöcken zu implementieren. Wie viel größer ist dieser im Vergleich zum 32-KiB-Cache der vorherigen Aufgabe? (Beachten Sie, dass sich mit der Änderung der Blockgröße die Menge der Daten verdoppelt hat, ohne dass sich die Gesamtgröße des Caches verdoppelt hat.)
Lösung
Blockgröße von 16 Worten zu 8 Byte → 128 Byte pro Block
Erzeugen Sie eine Reihe von Lesezugriffen, die auf einem mengenassoziativen 32-KiB-Cache mit zwei Wegen eine niedrigere Miss Rate haben als auf dem Cache, der in der ersten Teilaufgabe beschrieben wird.
Lösung
aufeinanderfolgende Anfragen mit gleichem Index, aber unterschiedlichen Tags rufen bei direkter Abbildung viele Misses hervor
Beispiel: 0, 32768, 0, 32768, 0, 32768, …
assoziative Caches reduzieren potenziell diese Conflict Miss Rate
Cold Miss: erster Zugriff auf einen Block
Capacity Miss: nicht genug Platz vorhanden
Conflict Miss: zu viele Blöcke verweisen auf dieselbe Cachemenge
selbst bei viel kleinerer Gesamtkapazität wäre ein mengenassoziativer Cache mit LRU-Policy und zwei Wegen im genannten Beispiel somit hilfreicher
Lernziele
In dieser Aufgabe …
erschließen sich die Studierenden aus Angaben zu Aufbau und Größe des Caches die interne Struktur des Caches.
analysieren die Studierenden die Vorteile mengenasosziativer Caches gegenüber direkt abgebildeten Caches.