[ Der Hauptspeicher ] [ Paritätsprüfung ] [ Cache Speicher ] [ Speichermodule ]
[ Cache Strategien ]
Cache Speicher
Beim Caching versucht man die Vorteile von SRAMs (hohe Geschwindigkeit) und DRAMs (günstiger Preis)
zu kombinieren, um ein möglichst effektives Speichersystem zu erreichen. In der
folgenden Abbildung ist das Cache-Prinzip zu erkennen:
Zwischen der CPU und dem Hauptspeicher DRAM ist ein schneller Cache-SRAM geschaltet, der die häufig
benutzten Daten zwischenspeichert und der CPU viel schneller zur Verfügung
stellt. Gesteuert wird der ganze Vorgang durch einen Cache-Controller, der verschiedene Schreibstrategien
implementieren kann.
On-Chip- und Second-Level-Caches
CPUs ab dem 80486 besitzen einen Cache, der auf dem Prozessorchip selbst integriert ist. Dieser Cache
wird On-Chip Cache oder kurz L1-Cache genannt und hat z.B. beim Intel 80486 DX
4-100 eine Größe von 16KByte. Selbst dieser kleine Cache bringt eine recht ansehnliche Geschwindigkeitssteigerung,
vor allem für das Einlesen von CPU-Code.
Neben dem L1-Cache befindet sich auf dem Mainboard noch ein zusätzlicher Cache, der Second-Level
Cache oder kurz L2-Cache genannt wird. Gängige Mainboards weisen in der Regel
Platz für einen L2-Cache von 128KByte bis 512KByte SRAM auf, der aber zum Teil aus Kostengründen
nicht komplett bestückt ist und nachgerüstet werden kann.
Arbeitsweise
Wenn die CPU Daten liest, gibt sie gewöhnlich die entsprechende Speicheradresse aus. Hier ist aber
der Cache-Controller zwischen den Prozessor und den Hauptspeicher geschaltet. Er
ermittelt, ob die gewünschten Daten im Cache-SRAM vorliegen. Ist dies der Fall, so spricht man
von einem Cache-Hit oder Cache-Treffer. Sind die Daten dagegen nur im Hauptspeicher
vorhanden, bezeichnet man das als Cache-Miss oder Cache-Fehltreffer.
Im ersten Fall liest der Cache-Controller die Daten aus dem schnellen Cache-Speicher und gibt sie an
die CPU weiter. Das geschieht normalerweise ohne Wait State, d.h. mit der maximalen
Busgeschwindigkeit. Der Lesezugriff wird vom Cache vollkommen abgefangen, ohne dass
die CPU dies
bemerkt.
Tritt dagegen ein Cache-Miss auf, muss der Cache-Controller die Daten zuerst aus dem Hauptspeicher
lesen, also den Lesezugriff der CPU zum Hauptspeicher durchschalten.