Cache Level 1,2 und 3 im zusammenhang mit flüchtigem Speicher

...komplette Frage anzeigen

2 Antworten

Caches sind immer flüchtige Speicher (von ganz besonderen Ausnahmen abgesehen, s.u.) Flüchtige Speicher sind solche, deren Inhalt bei Abschalten des Rechners weg ist, also Arbeitsspeicher. Nichtflüchtige Speicher sind Festplatten, Flashspeicher (SSD, Speicherkarten für Kameras, Festplatten, Disketten, CDs usw.).

Nichtflüchtige Speicher sind i.d.R. billiger (pro Bit) aber auch langsamer als flüchtige Speicher.

Caches sind Speicher, die zwischen einem den Hauptprozessor (CPU) und den Arbeitsspeicher (RAM) geschaltet sind. Sie sind kleiner als der Arbeitsspeicher, aber sehr viel schneller. Daten, die der Prozessor benötigt, werden erst im Cache gesucht, und nur, wenn sie dort nicht sind, wird auf den langsameren Arbeitsspeicher zurückgegriffen. Caches sind meistens direkt auf dem Die (Siliziumchip) der CPU mit untergebracht, oder auf einem separaten Chip im Gehäuse der CPU.

Wenn der Prozessor Daten schreibt, dann gibt es zwei Möglichkeiten: Write-Through=die Daten werden unmittelbar sowohl in den Cache als auch in den Arbeitsspeicher geschrieben, die CPU muss solange warten. Write-Back=die CPU schreibt nur in den Cache (muss nicht warten), der Cachecontroller kümmert sich darum, die Daten nachträglich in den Arbeitsspeicher zu kopieren.

Zum Teil wird eine ganze Hierarchie von Caches eingesetzt (Level 1 ist am nächsten an der CPU, am kleinsten und am schnellsten).

Die hohe Kunst der Chipdesigner liegt darin, bei Multiprozessorsystemen (mehrere Prozessoren oder mehrere Prozessorkerne=Cores) die Kohärenz der Caches sicherzustellen, d.h. das alle CPUs immer denselben Speicherinhalt "sehen" - sonst würde Chaos ausbrechen und die Rechenergebnisse wären falsch.

Analog zu den Caches im Arbeitsspeicher gibt es das auch bei Festplatten - jedes moderne Betriebssystem benutzt einen Teil des Arbeitsspeichers als Cache für die (vergleichsweise langsame) Festplatte. Bei PCs nimmt man meist Write-Through, damit die Daten auch bei Stromausfall auf der Festplatte sind; große Speichersysteme bei Servern nutzen auch Write-Back mit batteriegepuffertem Cache.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Dandechii
03.10.2013, 16:41

ich wollte gerade noch eine Frage verfassen, aber deine Antwort trifft den Nagel direkt auf dem Kopf. Du hast all die Fragen, die in meinem Kopf herumschwirren in deinem Kommentar beantwortet, sehr hilfreich - Danke!

0

der L1 cache enthält die wichtigsten instuktionen (sprungvorhersage etc) und ist der schnellste cache

im L2 cache befinden sich die restlichen instruktionen, auf die nicht ganz so schnell zugegriffen werden muss

der L3 oder Last Level cache steht für größere befehle und die igpu zur verfügung.

die caches sind über den ringbus (bei intel taktet dieser mit kernfrequenz, bei amd meist nur mit 1,8-2,2ghz) an die cpu angebunden

(fast) alle instuktionen werden nach ihrer ausführung gelöscht, da sonst keine kapazität für neue befehle mehr vorhanden wäre. die caches sind also flüchtiger speicher

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?