zuordnung cache hauptspeicher wie wirken cache und hsp-organisation zusammen? wie kann ich...
TRANSCRIPT
![Page 1: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/1.jpg)
Zuordnung CacheHauptspeicher
Wie wirken Cache und HSP-Organisation zusammen?
Wie kann ich ermitteln, was in den Cache geladen wird?
Copyright © 2009
Rainer [email protected]
![Page 2: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/2.jpg)
Warum Caches?
Hauptspeicher zu langsam Cache zu teuer Lösung: Teilmenge in Cache halten!
zeitliche Lokalitäträumliche Lokalität
![Page 3: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/3.jpg)
Organisation des Hauptspeichers
Beispielarchitektur Konzeptionell linearer
Adressraum Hauptspeichermatrix Adressdekoder für
Zeilen Spalten
.
.
.
.
.
.
![Page 4: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/4.jpg)
Cache Speicher ähnlich organisiert
.
.
.
.
.
.
Cache Hauptspeicher
![Page 5: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/5.jpg)
Zugriff auf ein Datum
.
.
.
.
.
.
Auswahl Zeile
Übertrag in Registerfür Wortselektion
Auswahl des gewünschtenSpeicherwortes
CPU-Register
Laden in CPU-Register
![Page 6: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/6.jpg)
Zugriff auf ein Datum – Cache!
.
.
.
.
.
.
Auswahl Zeile
Auswahl des gewünschtenSpeicherwortes
Übertragin Cache
Laden in CPU-Register
CPU-Register
![Page 7: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/7.jpg)
Aufteilung der phys. Adresse
Etikett (Tag) Index Wortbits
Beispiel:
20 Bit Adresse (1 MB), 1K Cache, Blockgröße 8 Byte
19 0
3 Bit
1024/8 Bytes =128 Einträge
Werte von0 bis 7
Speicher hat 1024 mal1024 Bytes
7 Bit
2310 9
10 Bit
![Page 8: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/8.jpg)
Wortbits…
.
.
.
.
.
.
CPU-Register
Wortbits sind immer 0!
Innerhalb der Zeile wirdmit Wortbits adresiert!
![Page 9: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/9.jpg)
Adressierung im Cache
.
.
.
.
.
.
CPU-Register
Tag Index
![Page 10: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/10.jpg)
Beispielrechnung
Etikett (Tag) Index Wortbits
19 02310 9
4 F 6 D 2Adresse
0100 1111 0110 1101 0010
1. In Binär umwandeln!
2. Einzelne Bitfelder abtragen!
![Page 11: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/11.jpg)
Beispielrechnung
Etikett (Tag) Index Wortbits
19 02310 9
4 F 6 D 2Adresse
0100 1111 0110 1101 0010
1. In Binär umwandeln!
010
2. Einzelne Bitfelder abtragen!
![Page 12: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/12.jpg)
Beispielrechnung
Etikett (Tag) Index Wortbits
19 02310 9
4 F 6 D 2Adresse
0100 1111 0110 1101 0010
1. In Binär umwandeln!
010
2. Einzelne Bitfelder abtragen!
10 1101
![Page 13: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/13.jpg)
Beispielrechnung
Etikett (Tag) Index Wortbits
19 02310 9
4 F 6 D 2Adresse
0100 1111 0110 1101 0010
1. In Binär umwandeln!
010
2. Einzelne Bitfelder abtragen!
10 110101 0011 1101
![Page 14: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/14.jpg)
Beispielrechnung
Etikett (Tag) Index Wortbits
19 02310 9
4 F 6 D 2Adresse
0100 1111 0110 1101 0010
01010 110101 0011 1101
Die Cache-Line beginnt aufAdresse 4F6D0.
Es muss nämlich zu Anfangder Cache-Line adressiert werden,die Wortbits werden daher auf 0 gesetzt.
![Page 15: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/15.jpg)
Ein Cache Miss…
.
.
.
.
.
.
Zugriff auf 4F6D2
Index10 1101
Tag: 00 1101 1000
ungleich 01 0011 1101
Cache-Miss!
![Page 16: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/16.jpg)
Also Cache-Line lesen…
.
.
.
.
.
.
Übertragin Cache
Zugriff auf 4F6D2
Auswahl Zeile 4F6D0
Tag auf 01 0011 1101 setzen
![Page 17: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/17.jpg)
Weiter wie bei Cache-Hit…
.
.
.
.
.
.
Auswahl des gewünschtenSpeicherwortes 010
Laden in CPU-Register
CPU-Register
Zugriff auf 4F6D2
![Page 18: Zuordnung Cache Hauptspeicher Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer](https://reader035.vdokument.com/reader035/viewer/2022062623/55204d7549795902118c9528/html5/thumbnails/18.jpg)
Fazit
Es wird immer eine ganze Cache-Line geladen
Die Adresse der Cache-Line erhält man, indem man die Wortbits auf 0 setzt
Bei assoziativen Caches ist Cache-Speicher n-fach je Index vorhanden