Der Cache-Speicher ist ein sehr schneller Puffer-Speicher, welcher zwischen dem Prozessor und dem Arbeitsspeicher (RAM) liegt.
Er dient als "Zwischenstation" und empfängt Daten von der CPU, welche er anschliessend ins RAM schreibt. Damit die CPU nicht jedesmal
auf das langsamere RAM zugreifen muss, speichert der Cache die Daten und gibt sie bei Bedarf wieder an die CPU. Erst wenn eine neue
Adresse adressiert werden muss, muss die CPU wieder auf das RAM zugreifen. Der Cache empfängt die Daten im BURST-Mode, was bewirkt.
dass die Daten nicht einzeln, sondern in 64-Bit-grossen Blöcken geliefert werden.
Grundsätzlich werden 3 Arten von Cache unterschieden:
First Level Cache
Der L1-Cache, wie er auch genannt wird, ist der schnellste Cache-Speicher und ist seit der 80486-DX CPU direkt im Prozessor eingebaut. In diesem Cache-Speicher
werden Befehle und Daten und zwischengespeichert. Je schneller die CPU ist, umso schneller ist auch der Cache-Speicher, da er mit der gleichen
Taktfrequenz wie die CPU angesprochen wird. Dafür ist jedoch nur 64 KB gross.
Second Level Cache
Der L2-Cache, wie er auch genannt wird, befindet sich ausserhalb der CPU und ist der eigentliche Cache-Speicher. Er ist seit dem Pentium pro-Prozessor integriert.
Er kann bis zu 2 MB gross sein und wird von der Northbridge des Chipsatzes gesteuert.
Bei den heutigen Prozessoren ist jedoch der L2-Cache meistens 512 KB gross und wird, im Gegensatz zu den früheren PII-Prozessoren, ebenfalls mit der vollen
Taktfrequenz des Prozessors angesprochen. Der L2-Cache ist für das Zwischenspeichern der Daten zwischen CPU / RAM verantwortlich. Auch der L2-Cache empfängt die Daten im
Burst-Mode.
Third Level Cache
Der Third-Level-Cache wird von AMD bei den Prozessoren K6-3 verwendet. Er kann bis zu 2 MB gross sein und liegt auch ausserhalb des Prozessors.
Im Zusammenhang mit dem Cache-Speicher treten häufig noch folgende Begriffe auf:
Cache-Hit
Wenn die CPU Daten benötigt, holt sie diese via
Cache-Controller im Cache. Sind die Daten noch vorhanden, so bezeichnet man dies
als Cache-Hit.
Cache-Miss
Wenn nun die benötigten Daten nicht mehr im Cache stehen,
muss die CPU auf die langsamen RAM-Bausteine zurückgreifen. Dies wird dann als
Cache-Miss bezeichnet.
Tag-Ram
Ist das Inhaltsverzeichnis des gesamten Cache. In ihm sind
die Adressen aller Cache-Lines gespeichert.
Dirty Data
Daten, die im Cache bereits mit neuen Daten überschrieben
worden sind, aber im RAM noch nicht aktualisiert worden sind.
Stale Data
Daten, die sich im RAM geändert haben, aber noch keine
aktuelle Kopie im Cache angefertigt haben.
Write Through
Cache-Verfahren, bei dem der 2nd-Level-Cache die Daten sofort
ins RAM schreibt. Die CPU muss somit warten, bis der Cache mit dem Schreiben
fertig ist.
Write Back
Der 2nd-Level-Cache meldet der CPU sofort die Bestätigung des
Schreibens ins RAM, obwohl dies noch nicht geschehen ist. Der Cache bestimmt den
Zeitpunkt des Schreibens selbst. So entsteht ein Zeitgewinn für die
CPU.
Pipelined Burst Cache
Gleich wie Write-Back. Jedoch werden schon die neuen Adressen
übermittelt, während die vorangegangenen Daten noch gar nicht von der CPU
eingelesen wurden.