24.11.2012 Aufrufe

3 Arbeitsspeicher- und Bussysteme

3 Arbeitsspeicher- und Bussysteme

3 Arbeitsspeicher- und Bussysteme

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

C3.2 Caches 215<br />

Virtuelle Adressierung wird aus diesen Überlegungen überwiegend bei prozessorinternen<br />

Befehls-Caches eingesetzt.<br />

Bei sog. physischen Caches muß erst der Vorgang der Adreßumsetzung abgewartet<br />

werden, bis das Vorliegen des referenzierten Wortes im Cache an Hand der realen Adresse<br />

geprüft werden kann. Allerdings sind physische Caches bezüglich der Dateninkonsistenz<br />

wesentlich günstiger. Beispielsweise kann eine DMA-Einheit für die Konsistenz zwischen<br />

Haupt- <strong>und</strong> Cache-Speicher sorgen, da beide real adressiert sind. Ebenso kann in<br />

einem Multiprozessorsystem die Kohärenz mehrerer Caches sichergestellt werden (Verweis<br />

auf Volkert). Reale Adressierung ist daher meist bei prozessorexternen Caches vorzufinden.<br />

3.2.4 Organisationsformen<br />

Die Organisationsform eines Caches legt fest, in welchem Cache-Block ein Hauptspeicherblock<br />

abgelegt wird (Plazierungsproblem; mapping problem) <strong>und</strong> wie ein gewünschter<br />

Block im Cache aufzufinden ist (Identifikationsproblem; identification problem).<br />

Drei Organisationsformen sind gebräuchlich: direkte Abbildung (direct mapped), voll assoziative<br />

Abbildung (fully associative) <strong>und</strong> n-fach assoziative Abbildung (n-way set associative<br />

cache). Bild 3 verdeutlicht für diese Möglichkeiten beispielhaft, wo ein Hauptspeicherblock<br />

im Cache gespeichert werden kann.<br />

Blocknummern<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

Direkte<br />

Abbildung<br />

Vollassoziative<br />

Abbildung<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

Caches<br />

2-fach assoziative<br />

Abbildung<br />

0<br />

1<br />

Satz 0<br />

2<br />

3<br />

Satz 1<br />

4<br />

5<br />

Satz 2<br />

6<br />

Satz 3<br />

7<br />

Bild 3 Plazierung eines Hauptspeicherblocks für die drei Cache-Organisationsformen<br />

. . . . .<br />

. . . . .<br />

Hauptspeicher<br />

In einem direkt abbildenden Cache mit einer Kapazität von N Blöcken wird ein Hauptspeicherblock<br />

B im Cache-Block B mod N gespeichert. In einem voll assoziativen Cache<br />

kann ein Hauptspeicherblock in jede Cache-Zeile übernommen werden. Ein n-fach assoziativer<br />

Cache ist in M = N/n sog. Sätze (sets) mit jeweils n Blöcken untergliedert; Block<br />

B kann im Satz B mod M in jeder der darin enthaltenen n Cache-Zeilen abgelegt werden.<br />

Damit ist die n-fach assoziative Abbildung die allgemeine Organisationsform, die mit<br />

n=N (nur ein Satz) zur vollassoziativen <strong>und</strong> mit n=1 (M=N Sätze) zur direkten (auch: einfach<br />

assoziativen) Form wird.<br />

Jeder Cache-Zeile ist eine große Anzahl von Hauptspeicherblöcken zugeordnet, d.h., es<br />

können verschiedene Hauptspeicherblöcke in einer Cache-Zeile gespeichert werden.<br />

Daher wird ein Mechanismus benötigt, der einen Hauptspeicherblock eindeutig kennzeichnet<br />

<strong>und</strong> seine Identifikation im Cache erlaubt. Dies wird im weiteren für den allgemeinen<br />

Fall eines n-fach assoziativen Caches erläutert.<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

C3

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!