Cachetypen
Der 1st (First) Level Cache befindet sich, seit dem
"486", in der CPU. Auf diesen Cache kann die CPU ohne
Wartezyklen (Waitstates) zugreifen. Er arbeitet also mit der selben Taktrate wie
die CPU.
Der 2st (Second) Level Cache ('externer Cache') befindet sich,
als Spezialchips mit eigenem Controller, auf dem Mainboard oder beim Pentium Pro
und Pentium II ist er in das CPU Gehäuse integriert.
Der Cache auf einem Mainboard ist meistens 256 KB groß und kann auf 512 KB
aufgerüstet werden. Einige Chipsätze unterstützen sogar 1 MB
2nd Level Cache (z.B. SiS 551x).
Der 2nd Level Cache besteht aus SRAMs (Statischen
RAMs) mit 20, 15, 12 ns Zugriffszeit. Bei 66 MHz Boardtakt ist jeder
Takt nur ca. 15*10 -8 Sekunden = 15 ns.
Das heißt auch der Boardtakt liegt noch zu hoch, für herkömmliche
DRAMs mit 60ns (@ 16MHz) .. 80ns
(@ 12,5MHz) Zugriffszeit
Es ist leicht zu erkennen das die normalen (billigeren) Speicher nicht
mithalten können. Sie würden den Prozessor ausbremsen.
Also:
Der Prozessor holt seine Anweisungen und Daten aus den
1st- Level Cache,
dieser aus dem 2nd- Lvel Cache,
dieser aus dem Hauptspeicher und dieser wiederum von der
Festplatte
.
Programmteile die in den Cache passen müssen nicht jedesmal neu aus den
langsamen Speichern nachgeladen werden (z.B. Berechnungen mit Konstanten oder
Schleifen). Dabei werden komplizierte Cache-Strategien angewendet.
Beim Pentium Pro (P6) oder Pentium II ist der 2nd Level Cache in den
Chip integriert und wesentlich schneller, er läuft mit dem vollen
Prozessortakt (rund 100% in Vergleich zu Pipelined Burst Cache).
Neuere Chipsaetze wie Intels T-Chipsatz, SiS 551x, UMC, ... unterstützen
neben asynchronem Cache auch synchrone SRAMs ("Burst Cache"). Diese
sind zwar deutlich teurer als asynchrone Bausteine, jedoch mit ca. 7 ns
Zugriffszeit unschlagbar schnell.
Der ebenfalls unterstützte Pipelined Burst Cache ist nochmals schneller als
der Burst Cache.
Vereinfacht gesagt, spart er durch verlängerte Bursts, ohne erneutes Anlegen
der Adresse, Zeit (Wegfall des Lead off cycle: 3-1-1-1-1-1.... Burst
statt 3-1-1-1 Burst).
Bei Digital Alpha Rechnern gibt es zusätzlich zum dem in die CPU
integrierten 1st und 2nd Level Cache noch einen
3rd Level Cache auf dem Board.
Ach übrigens 3-1-1-1.. bedeutet für den ersten Zugriff drei
Buatakte und dann nur noch ein Bustakt.
Cachegroessen Der typische asynchrone
2nd Level Cache ist heute 256 KB groß.
Bei einer Aufrüstung - sofern sie möglich ist - muß auch das
Dirty Tag RAM entsprechend Vergrößert werden. Die Verbesserung
ist aber äußerst mager, meist nicht mehr als 2-3%.
Der Cache ist deshalb selten größer 512 KB.
Für den Fall, das der Hauptspeicher größer ist als die vom
Chipsatz gecachte bereich, muß der 2nd Level Cache
aufgerüstet werden, oder der zusätzliche Speicher entfernt Werdern,
andernfalls bremst jeder zugriff auf den ungecachten Teil des RAMs, den Rechner
aus.
Windows ist sehr Speicherhungrig und wird mit Sicherheit den gesamten RAM mit
Beschlag belegen. Die Größe des cachebaren Bereichs ist vom Chipsatz
auf dem Mainboard abhängig
Cachetechniken
Ein Write Thru - Cache reicht die Schreibzugriffe der CPU direkt
an den Hauptspeicher weiter. Zusätzlich wird überprüft ob der
Cacheinhalt ebenfalls aktualisiert werden muß.
Bein Write Back - Cache wird ein Datum das sich bereist im Cache
befindet nur dort aktualisiert und erst wenn dieser "voll" ist wird
in den Hauptspeicher geschrieben.
Das Tag RAM - speichert, welche Speicheradressen (d.h. welche
Daten) im Cache vorhanden sind. So kann der Cachecontroller die angeforderten
Daten entweder aus dem Cache lesen oder die Anfrage an den Hauptspeicher
weiterleiten. Es ist unentbehrlich für die Funktion des Cache.
Das optionale Dirty Tag RAM - (auch: Alter RAM) dient dem Write
Back Cache dazu, diejenigen Cachelines zu markieren, die 'Dirty' sind (d.h.
andere Daten als der Hauptspeicher enthalten). Fehlt es, kann der Cachecontroller
des Chipsatzes nicht wissen, welche Cachelines noch zurückgeschrieben werden
müssen und schreibt sicherheitshalber alle Lines, die überschrieben
werden sollen in den Hauptspeicher. Diese Verfahren sichert zwar die
Datenintegrität, kostet aber Performance.
Solche Cachestrategien bedeuten aber auch das
Programme oder Betriebssyteme die Cache verwenden nicht einfach abgeschaltet
werden dürfen, beim "Runterfahren" des Systems werden auch
alle Daten aus den Caches in den Hauptspeicher und dann auf die Festplatte
geschrieben.
Ach übrigens diese Cachestrategien können Sie im BIOS einstellen.
|
|
|