Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Zuordnung CacheHauptspeicher
Wie wirken Cache und HSP-Organisation zusammen? Wie kann ich ermitteln, was in den Cache geladen wird? Copyright © 2009 Rainer Gerhards
2
Warum Caches? Hauptspeicher zu langsam Cache zu teuer
Lösung: Teilmenge in Cache halten! zeitliche Lokalität räumliche Lokalität
3
Organisation des Hauptspeichers
Beispielarchitektur Konzeptionell linearer Adressraum Hauptspeichermatrix Adressdekoder für Zeilen Spalten . .
4
Cache Speicher ähnlich organisiert
. Cache Hauptspeicher .
5
Auswahl des gewünschten Speicherwortes
Zugriff auf ein Datum Auswahl des gewünschten Speicherwortes . Auswahl Zeile Übertrag in Register für Wortselektion CPU-Register . Laden in CPU-Register
6
Zugriff auf ein Datum – Cache!
Auswahl des gewünschten Speicherwortes . Übertrag in Cache Laden in CPU-Register CPU-Register . Auswahl Zeile
7
Aufteilung der phys. Adresse
Beispiel: 20 Bit Adresse (1 MB), 1K Cache, Blockgröße 8 Byte 19 10 9 3 2 Etikett (Tag) Index Wortbits 10 Bit 7 Bit 3 Bit Speicher hat 1024 mal 1024 Bytes 1024/8 Bytes = 128 Einträge Werte von 0 bis 7
8
Wortbits… . Innerhalb der Zeile wird mit Wortbits adresiert!
CPU-Register . Wortbits sind immer 0!
9
Adressierung im Cache Tag Index . CPU-Register .
10
Beispielrechnung 0100 1111 0110 1101 0010 4 F 6 D 2 Adresse 19 10 9 3
Etikett (Tag) Index Wortbits 1. In Binär umwandeln! 2. Einzelne Bitfelder abtragen! 4 F 6 D 2 Adresse
11
Beispielrechnung 0100 1111 0110 1101 0010 4 F 6 D 2 Adresse 19 10 9 3
Etikett (Tag) Index Wortbits 010 1. In Binär umwandeln! 2. Einzelne Bitfelder abtragen! 4 F 6 D 2 Adresse
12
Beispielrechnung 0100 1111 0110 1101 0010 4 F 6 D 2 Adresse 19 10 9 3
Etikett (Tag) Index Wortbits 010 1. In Binär umwandeln! 2. Einzelne Bitfelder abtragen! 4 F 6 D 2 Adresse
13
Beispielrechnung 0100 1111 0110 1101 0010 4 F 6 D 2 Adresse 19 10 9 3
Etikett (Tag) Index Wortbits 010 1. In Binär umwandeln! 2. Einzelne Bitfelder abtragen! 4 F 6 D 2 Adresse
14
Beispielrechnung 0100 1111 0110 1101 0010 4 F 6 D 2 Adresse 19 10 9 3
Etikett (Tag) Index Wortbits 010 Die Cache-Line beginnt auf Adresse 4F6D0. Es muss nämlich zu Anfang der Cache-Line adressiert werden, die Wortbits werden daher auf 0 gesetzt. 4 F 6 D 2 Adresse
15
Ein Cache Miss… Zugriff auf 4F6D2 Index 10 1101 . Tag: 00 1101 1000
ungleich Cache-Miss! .
16
Also Cache-Line lesen…
Zugriff auf 4F6D2 . Übertrag in Cache Tag auf setzen . Auswahl Zeile 4F6D0
17
Weiter wie bei Cache-Hit…
Zugriff auf 4F6D2 . Auswahl des gewünschten Speicherwortes 010 Laden in CPU-Register CPU-Register .
18
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.