Assembling Pi

A.1 Einführung

1.2.4 Grundlagen der Computerarchitektur: Cache

Da der direkte Zugriff auf den Hauptspeicher jedoch vergleichsweise langsam ist, verwenden moderne CPUs einen schnellen Zwischenspeicher, den sogenannten Cache. Der Cache speichert häufig verwendete Daten, sodass sie ohne Verzögerung zur Verfügung stehen. Er verhindert so, dass der langsame Hauptspeicher zum Engpass bei der Datenverarbeitung wird.

Räumliche und zeitliche Lokalität

Die Effektivität eines Caches beruht auf zwei Prinzipien, die sich auf typische Datenzugriffsmuster beziehen: räumliche und zeitliche Lokalität.

1.2.2 Cache-Arten

Die Daten im Cache sind in kleine Einheiten, sogenannte Cache-Lines, organisiert. Abhängig davon, wie flexibel Speicherblöcke diesen Cache-Lines zugeordnet werden können, gibt es unterschiedliche Cache-Architekturen: direct-mapped, fully associative und set-associative. Die Flexibilität der Zuordnung beschreibt, wie viele Möglichkeiten ein Speicherblock hat, in einer bestimmten Cache-Line gespeichert zu werden. Ein Cache in einer CPU verwendet stets eine dieser Architekturen, die je nach Systemanforderung gewählt wird:

Diese Cache-Typen bieten verschiedene Balancepunkte zwischen Effizienz und Flexibilität. Der direct-mapped Cache ist einfach und schnell, der fully associative Cache flexibel, aber komplex, und der set-associative Cache vereint Flexibilität und Effizienz und wird daher häufig verwendet.

Cache-Größen und Cache-Line-Größen

Die Leistung und Effizienz des Caches hängen maßgeblich von seiner Größe und der Größe der Cache-Lines ab:

Write Policy

Die Write Policy eines Caches bestimmt, wie Schreibzugriffe auf den Cache gehandhabt und mit dem Hauptspeicher synchronisiert werden. Diese Entscheidung beeinflusst sowohl die Leistung als auch die Datenkonsistenz:

Die Wahl zwischen Write-Through und Write-Back hängt von den Anwendungsanforderungen ab. Write-Through wird oft verwendet, wenn Datenkonsistenz für andere Systemkomponenten wichtig ist, während Write-Back bei Anwendungen bevorzugt wird, die hohe Leistung erfordern.

Cache-Replacement-Policy

Da der Cache kleiner ist als der Hauptspeicher, können nicht alle Daten gleichzeitig gespeichert werden. Wenn der Cache voll ist und neue Daten geladen werden müssen, bestimmt eine Cache-Replacement-Policy, welche Daten ersetzt werden sollen. Diese Policy ist entscheidend für die Cache-Effizienz und die Wahrscheinlichkeit eines Cache Hits. Je nach Systemanforderungen gibt es verschiedene Strategien:

Die Wahl der Replacement-Policy hängt von der Cache-Architektur und den Systemanforderungen ab. Jede dieser Strategien zielt darauf ab, die Wahrscheinlichkeit zu erhöhen, dass die CPU beim nächsten Zugriff die benötigten Daten im Cache vorfindet.

zurück Hauptmenü weiter
1.2 Grundlagen der Computerarchitektur
1.2.1 Die Ausführung von Programmen durch den Computer
1.2.2 Von-Neumann-Architektur
1.2.3 Der Speicher
1.2.4 Cache
1.2.5 Ein- und Ausgabegeräte
1.2.6 Der Systembus
1.2.7 Der Befehlszyklus