Hardware Reference
In-Depth Information
7.2.5 Caches in der Praxis
Die Große der praktisch eingesetzten Caches ist in den letzten Jahren stark
gewachsen. Auch ist die Komplexitat der Caches gestiegen, das heißt es wer-
den zunehmend assoziative Caches mit steigenden Assoziativitatsgraden ge-
baut.
Tabelle 7.3 fasst die Cache-Parameter einiger Beispielprozessoren zusammen.
Die Hersteller bauen oft mehrere Varianten ihrer Prozessoren mit unterschied-
lich großen Caches. Bei einem konkreten Prozessor einer der angegebenen
Serien konnen die Werte daher von denen der Tabelle abweichen.
7.2.6 Caches bei MMIX
Wie in den vorangegangenen Abschnitten, so wollen wir auch hier wieder
Hinweise zum Experimentieren mit dem MMIX -Meta-Simulator geben.
Insgesamt sind funf verschiedene Caches konfigurierbar. Zwei davon sind Ta-
bellen zum Ubersetzen von virtuellen 64-Bit-Adressen auf physische 48-Bit-
Adressen (siehe Abschnitt 8). Und zwar je eine Tabelle zum Ubersetzen von
Adressen von Instruktionen und von Daten, genannt Instruction Translation-
Cache (kurz IT-Cache ) und Data Translation Cache (kurz DT-Cache ). Diese
Tabellen werden oft auch Translation Lookaside Buffers genannt. Im Gegen-
satz zu den anderen Caches lassen sich die Translation Caches nicht abschal-
ten.
Ferner sind je ein First-Level Cache fur Befehle und Daten ( I-Cache und
D-Cache ) vorgesehen sowie ein Secondary Cache ( S-Cache ). Alle Caches las-
sen sich ausschalten. Allerdings setzt der S-Cache das Vorhandensein beider
First-Level Caches voraus.
Folgende Parameter lassen sich fur jeden Cache einstellen:
blocksize gibt die Anzahl der Bytes pro Cache-Line an. Dieser Wert
muss eine Zweier-Potenz und darf hochstens 8192 sein.
setsize ist die Anzahl der Sets in jeder Cache-Line. Auch dieser Wert
muss eine Zweier-Potenz sein.
assocativity legt den Assoziativitatsgrad fest. Muss wiederum eine Po-
tenz von Zwei sein.
accesstime ist die Anzahl an Taktzyklen, die benotigt werden, um aus
dem Cache auszulesen.
copyintime ist umgekehrt die Anzahl an erforderlichen Taktzyklen, um
anstehende Daten in den Cache zu schreiben.
ports bezeichnet die Anzahl der gleichzeitig moglichen Zugriffe auf einen
Cache. Ein S-Cache mit zwei Ports kann beispielsweise gleichzeititg D-
Cache und I-Cache mit Daten versorgen oder gleichzeitig Daten vom Spei-
cher erhalten und Daten an einen First-Level-Cache weiter geben.
Search WWH ::




Custom Search