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.

INDEX