Cache [Zwischenspeicher]

Skip to main content
Du befindest dich hier:
Drucken

Ein Cache ist ein kleiner, schneller Puffer, der zum Zwischenspeichern von Daten oder Programmsequenzen dient. Der Grundgedanke eines Cache besteht darin dass wenige grosse Zugriffe auf eine bestimmte Menge von Daten eine geringere Zeitspanne benötigen als eine Vielzahl von kleinen Zugriffen auf die gleiche Datenmenge. Gelingt es, aus bestimmten Zusammenhängen zu erschliessen, welche Daten in der Zukunft benötigt werden, kann man bei Anforderung einiger weniger Datenblöcke gleich eine grosse Zahl in den Puffer einlesen. Lag man mit der Vorausschau richtig, kann man dadurch die Leistung des Computers stark erhöhen. War die Annahme falsch, muss man die anderen Datenblöcke erneut einlesen und verliert die Leistung. Je besser die Methoden zur Vorausschau sind, desto mehr erhöht ein Cache die Gesamtleistung des Computers.

Die amerikanische Bezeichnung Cash [Bargeld] klingt nicht nur gleich, sondern kann auch gut zum Verständnis eine Cache beitragen. Denn Bargeld (bzw. ein Portemonnaie) funktioniert im Prinzip auch als eine Art Cache zwischen Konto und Kasse im Supermarkt.

Beruht ein Cache auf eigenen, speziellen Speicherchips, spricht man von einem Hardwarecache. Dieses Prinzip wird beispielsweise zur Beschleunigung der Zusammenarbeit von Prozessor und Arbeitsspeicher in PCs verwendet. Denn die in modernen CPUs integrierten Cache-Bausteine bestehen aus besonders schnellen SRAM-Speicherchips (Static Random Access Memory). Diese benötigen mit Zugriffszeiten von 5 bis 15 ns keine oder deutlich weniger Wartezyklen als die langsameren DRAM-Speicherbausteine des Hauptarbeitsspeichers. Üblicherweise sind die CPU-Caches in sogenannten Leveln [Ebenen] hintereinandergeschaltet. Man spricht von First-Level-Cache (L1-Cache) und Second-Level-Cache (L2-Cache). Letzterer ist meistens grösser und verarbeitet die Daten des Arbeitsspeichers. Der L1-Cache sitzt wiederum zwischen Prozessor und L2-Cache. Beide Caches ergänzen sich in ihrer Wirkung und ermöglichen es, für den Arbeitsspeicher langsamere, dafür aber preiswertere DRAM-Chips zu verwenden, ohne dabei einen grossen Performanceverlust zu erleiden.

Softwarecaches werden dagegen von Programmen und insbesondere Betriebssysteme verwendet, um die Zugriffe auf Datenträger mithilfe des Arbeitsspeichers zwischenzuspeichern und somit zu beschleunigen (beim erneuten Zugriff). Der gängigste Fall ist das Cachen von Festplattenzugriffen (Dateisystemcache), das jedes moderne Betriebssystem einsetzt und das beim Arbeiten einen deutlichen Performanceeffekt bewirkt. Die Optimierung des Dateisystemcache ist eine der effektivsten Tuning-Massnahmen beim PC.

Windows-Betriebssysteme verwalten ihre Cache-Einstellungen automatisch und v. a. dynamisch, d. h., die Grösse des Dateisystemcache wird während des Arbeitens dem Bedarf bzw. der Situation angepasst. Ein manuelles Einrichten erscheint höchstens bei Verwendung von viel RAM (über 4 GByte) erwägenswert. Zu beachten ist, dass die in der Fachliteratur oft empfohlenen Werte von der Verwendung des Rechners und der installierten Menge des Arbeitsspeichers abhängen. Eine universelle Regel „so ist die beste Cache-Einstellung für alle PCs“ gibt es nicht. Vergleiche ausserdem die Angaben zur besonderen Situation beim Vorhandensein von 4 GByte RAM im System unter 64-Bit-Betriebssystem/-Prozessor.

Praxis-Tipp: Abschnitt für die Cache-Einstellung bzw. die Konfiguration des Speichermanagements in der Registry von Windows. Die in Zeitschriften und Internetforen am häufigsten genannten Parameter sind DisablePagingExecutive, LargeSystemCache und IoPageLockLimit. Über die Effektivität dieser Massnahmen herrscht grosse Ungenauigkeit, sie dürfte aber auf aktuellen Systemen höchstens marginal sein.

Kommentar hinterlassen