Vorlesung 3 ¨ bungen ab sofort im M3! • Raum¨ anderung: U 2.4. CACHES UND S PEICHERHIERARCHIEN
VON
CACHES : A LLGEMEINES S CHEMA
¨ eine Kopie von Teilen der im Hauptspeicher ➜ Cache enthalt abgelegten Daten, die vom Prozessor als Worte gelesen werden ➜ Kopie wird als ganzer Block (sog. cache line) geladen
Cache ist ein kleiner schneller Speicher, der zwischen Hauptspeicher und Prozessor eingefugt ¨ wird
➜ Cache-Kontrolle wird vom Prozessor abgekoppelt und vom cache controller bewerkstelligt
M OTIVATION : ¨ ➜ Prozessorgeschwindigkeit wachst sehr schnell ¨ ➜ Speicherzugriffs-Geschwindigkeit wachst ebenfalls, jedoch viel langsamer ➜ Dieses Auseinanderdriften erschwert die volle Ausnutzung der Prozessor-Performance ➜ Die Zugriffszeiten von (kleinen) Caches sind i.d.R. um ca. eine ¨ Großenordnung geringer als die des (großen) Hauptspeichers
Cache
Slide 3
. . . Prozessor
I DEE VON CACHES : Benutzung eines kleinen Cache-Speichers, ¨ um die Zugriffs-Geschwindigkeit zu erhohen.
➜ Cache controller macht folgendes: • Beim hit wird das Wort dem Prozessor ubergeben ¨
➜ Beim Suchen eines Datums:
• Beim miss wird ein neuer Block in den Cache geladen (ein “alter” evtl. ausgelagert)
• im Cache gefunden = Cache-Treffer = hit • im Cache nicht gefunden = Cache-Fehler = miss ➜ Cache-Verwaltung: Strategien zum Nachladen bzw. Auslagern, um misses zu minimieren ¨ ➜ Problem der Konsistenz/Koharenz fur ¨ Werte eines Datums:
Slide 4
¨ ➜ Fur ¨ den Prozessor lauft alles transparent ab: er “sieht” nur den Unterschied in Zugriffszeiten zwischen hit- und miss-Situationen ➜ Der Zeitunterschied kommt daher, daß das Laden des Blockes ¨ wesentlich langer dauert als der Cache-Zugriff
• Wert im Hauptspeicher vs. Wert im Cache • Werte in Caches zweier/mehrerer Prozessoren
¨ ➜ Wahrend des Wartens kann der Prozessor andere Berechnungen durchfuhren, ¨ fur ¨ die die Operanden vorhanden sind ¨ (durch mehrere FUs und andere Moglichkeiten, siehe Vorl. 2)
➜ Speicher und (evtl. mehrstufige) Caches ⇒ Speicherhierarchie
D IE CACHE -P ROBLEMATIK BEFASST SICH MIT :
➜ Trotz dieser Berechnungen fuhren ¨ viele NachladeOperationen i.d.R. zu niedriger Performance
➀ Entwickeln effizienter Aktualisierungs- und Nachladestrategien ¨ ➁ Garantieren der Datenkonsistenz/Koharenz
S ERGEI G ORLATCH · U NI M U¨ NSTER · PARALLELE S YSTEME · VORLESUNG 3
Hauptspeicher
C ACHE C ONTROLLER
➜ Ein Teil des Hauptspeichers wird in den Cache geladen/kopiert ¨ ➜ Die vom Programm benotigten Daten sollten sich zum Zeitpunkt ¨ des Zugriffs moglichst im Cache befinden
BY
Block
Cache Controller
U MSETZUNG DER CACHE -I DEE :
c
2006
Wort
. . .
1
c
2006
BY
S ERGEI G ORLATCH · U NI M U¨ NSTER · PARALLELE S YSTEME · VORLESUNG 3
2
de 5
de 6
¨T L OKALIT A
DER
B EISPIEL : AUSNUTZUNG
S PEICHERZUGRIFFE
Die Cache-Effizienz (hit/miss ratio) wird beeinflußt durch: