Speicherhierarchie, Caches, Consistency Models · Cache CPU Main memory . Überprüfen des Caches...

21
Speicherhierarchie, Caches, Consistency Models Maximilian Langknecht Lehrstuhl für Rechnerarchitektur Betreuer: Prof. Dr. Ulrich Brüning 1

Transcript of Speicherhierarchie, Caches, Consistency Models · Cache CPU Main memory . Überprüfen des Caches...

Speicherhierarchie, Caches, Consistency

Models

Maximilian Langknecht

Lehrstuhl für Rechnerarchitektur Betreuer: Prof. Dr. Ulrich Brüning

1

Inhaltsverzeichnis • Speicherhierarchie

• Warum gibt es Speicherhierarchie?

• Speicherpyramide

• Caches • Ziele und Nutzen

• Beispiel der Arbeitsweise

• Konstruktion

• Einträge im Cache

• Consistency Models

2

Speicherhierachie

• Ziel: Idealer Speicher

• extem kostengünstig, unendlich groß, keine Zugriffszeit, nicht volatil

• Realitätsumsetzung

• Kompromiss zwischen Zugriffszeit, Speicherkapazität, Kosten und Persistenz

Wozu benötigt man eine Speicherhierarchie?

3

Speicherhierachie Pyramide

L=Level

4

Was ist ein Cache? Naive Definition:

Sehr schneller, sehr teurer Speicher, der benutzt wird um die Speicherabfrage zu

beschleunigen

Main Memory

Cache

CPU langsamer Datenaustausch

schneller Datenaustausch

5

Ziele und Nutzen von Caches

• Verringerung der:

• Zugriffszeit

• Anzahl der Zugriffe

• Bandbreitenanforderung an die Anbindung des Hintergrundmediums

auf das langsame Hintergrundmedium

6

Arbeitsweise eines Caches

Cache

CPU

Main memory

Überprüfen des Caches auf

angeforderte Daten falls Inhalt

nicht in Cache gespeichert

(Cache-miss)

Daten werden direkt an die CPU geleitet

Daten werden vom Hauptspeicher in

den Cache geladen

falls Inhalt in Cache

gespeichert (Cache-hit)

CPU verlangt nach Inhalten

eines Speicherplatzes

Löschen eines Eintrags im Cache zur Platzfreigabe

8

Konstruktion • Cache-Line

• Adress-Tags

• Blocknummer-Tags

• Block/Satz-Aufteilung der Tags

• direct mapped

• fully associative

• set associative

• Zugriffs-/Verwaltungsinformationen 9

Organisation DM FA SA

Assoziativität 1 m(=n) n

Anzahl der Sätze m 1 m/n

10

m= Gesamtanzahl der Blöcke(Cache-lines)

n= Anzahl der Blöcke pro Satz

Einträge im Cache • Neben den eigentlichen Daten und dem

Tag werden für jeden Cacheblock mehrere Statusbits im Cache gespeichert:

• modified/dirty

• owner

• shared

• exclusive

• invalid 11

Cachehierarchie

• inklusiver Cache

L1

L2

L3

Cache-Line x

Cache-Line y

Cache-Line z

• exklusiver Cache

12

Summe Cache-lines inklusiv = Größe L3 Summe Cache-lines exklusiv = Größe(L1+L2+L3)

Cache-hit/Cache-miss • Hit-ratio =

#Cache-hits/#(Cache-hits+Cache-misses)

• Miss-ratio = 1-Hit-ratio

Capacity Conflict Compulsory

Dabei gibt es 3 Arten von Cache-misses:

13

Lokalitätseigenschaft

• zeitliche/temporäre Lokalität

• „Daten, auf die bereits zugegriffen wurde, werden wahrscheinlich noch einmal abgerufen“

• räumliche/spatiale Lokalität

• Zunutzemachen der Speicherstruktur, die Programmcode und -daten „hintereinander“ im Speicher ablegt

14

Verwaltung • Verdrängungsalgorithmen:

• Optimal

• First-In-First-Out(FIFO)

• Least Recently Used(LRU)

• Least Frequently Used(LFU)

• Clock

• Random

15

First-In-First-Out

x y w z x u y w Input

x

y

w

z

y

w

z

x

w

z

x

u

y

x

u

Cache-lines

y

w

u

16

Least Frequently Used

x y w z x u y w Input

Cache-lines

x

y

w

z

y

w

z

x

w

y

x

u

z

x

u

y

x

w

17

Schreibstrategien

18

Block, der im Cache vorhanden ist

Block, der nicht im Cache vorhanden ist

write-back write-through

Ablage zunächst im

Cache

Ablage in nächsthöherer Speichereben

Inkonsistenz zwischen

Cache und Speicher

Konsistenz gesichert

MESI Pufferspeicher

write-allocate non-write-allocate

Block wird aus der

nächsthöheren Speicherebene

geholt

Schreiben in nächsthöhere Ebene ohne Laden des

Blocks in Cache

veränderte Bytes werden danach überschrieben

Reduktion der Miss-Rate

Consistency Models

...gewährleisten in distributed shared memory-systemen(DSM-systeme), dass Zugriffe auf den

Speicher korrekt verarbeitet werden und den erwarteten Rückgabewert liefern.

19

• http://de.wikipedia.org/wiki/Lokalit%C3%A4tseigenschaft

• https://de.wikipedia.org/wiki/Cache

• http://www-vs.informatik.uni-ulm.de/teach/ss05/dsm/arizona.pdf

• Vorlesung Rechnerarchitektur Prof. D. Ulrich Brüning

Quellen:

20

Vielen Dank für Ihre Aufmerksamkeit!