1st und 2nd level Cache

 

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.

   
 
ENDE



Weitergabe nur vollständig und mit Namen erlaubt! (C) Eduard Dudkowski 1997,...,2003