Cache-Speicher
DRAM-Bausteine sind relativ langsam und können mit einem hochgetak- tetem Prozessor nicht
schritthalten. Dieser ist dann zu Wartezyklen (Waitstates) gezwungen, um mit dem Inhalt
des Hauptspeichers arbeiten zu können.
Kostengründe schließen den Einsatz statischer RAM-Bausteine (SRAM) für den gesamten
Hauptspeicher aus. Deshalb hilft man sich mit einem Zwischenspeicher aus SRAM-Bausteinen,
den Cache-Speicher. Er liegt außerhalb der CPU auf dem Motherboard und ist wie der
Hauptspeicher in Bänke (in der Regel zwei) aufgeteilt.
Für diese Lösung nutzt man die hohe Wahrscheinlichkeit, mit der gute Programme häufig
auf dieselben oder benachbarte Speicherinhalte zurückgreifen. Man übernimmt also einen
Speicherausschnitt aus dem Hauptspeicher in den Cache-Speicher, auf den der Prozessor
unter um- gehen des Hauptspeichers zugreifen kann. In einem gesonderten Bau- stein, den
TAG-RAM, wird die Adresse des übernommenen Speicher- inhaltes des Hauptspeichers
festgehalten.
Beim Vorhandensein eines Cache-Speichers wird der Prozessor den geforderten Speicherinhalt
erst einmal in diesem suchen. Ist der gesuchte Inhalt vorhanden, spricht man von
Cache-Hits, sonst von Cache-Misses.
Was passiert mit dem Speicherinhalt, wenn er geändert, d.h. über- schrieben wurde? Das
kann erfolgen, ohne daß auch der Speicherinhalt des Hauptspeichers geändert wird, wenn
ein Baustein sich "merkt", welcher Inhalt des Cache-Speichers geändert wurde.
Diese Möglichkeit ist gegeben durch den Dirty-TAG-RAM, der als zusätzlicher Speicher auf
dem Motherboard Platz findet - aber nicht immer vorhanden ist. Auch er ist ein
SRAM-Baustein und hat seinen Preis.
Fehlt er, kann der Sinn eines Cache-Speichers stark eingeschränkt wer- den. Denn bei
jedem Cache-Misses, wenn also ein neuer Speicherinhalt aus dem Hauptspeicher in den
Cache-Speicher übertragen werden muß, muß der alte Inhalt des Cache-Speichers vorher im
Hauptspeicher sichergestellt werden, unabhängig davon, ob er vorher verändert wurde oder
nicht. Und das kostet Zeit.
Eine wesentliche Erweiterung der Kapazität des Cache-Speichers gibt dann wenig Sinn, wenn
dadurch die Suchzeit in ihm ausgeweitet wird.
Auch das verwendete Betriebssystem setzt Grenzen, wenn bei ihm häufiger Sprünge in
entferntere Speicherbereiche(far jumps) erfolgen.