Achtung: Dies ist eine historische Web-Site. Aktuell ist https://rainer.gerhards.net/ (engl) bzw https://www.rainer-gerhards.de/ (deutsch). Alle dynamischen Funktionen, Formulare etc auf dieser Seite sind abgeschaltet.
Datenschutzerklärung Impressum

Astronomy and Space Flight, Astronomie und Raumfahrt und dies und das...

Rechenanlagen - Was ist das Cache "Dirty Bit"?

rgerhards - 06.03.2009, 19:08 Uhr
Titel: Was ist das Cache "Dirty Bit"?
Das Dirty Bit wird bei einem Cache genutzt, der bei Schreibvorgängen verzögert geschrieben wird (also erst in den Cache, später erst in den Hautpspeicher).

Der Begriff "Dirty Bit" ist typisches technisches Englisch (oder besser: Amerkanisch). Das ist blumig gesprochen. Trockener, aber treffend, könnte man dieses Bit "Write needed" nennen.

Es bestimmt nämlich, ob ein Zurückschreiben des Cache-Blocks notwendig ist, bevor er mit neuen Daten überschrieben werden darf.

Das "dirty"/"write needed" Bit wird immer dann auf 1 gesetzt, wenn im Cache-Block Daten stehen, die noch in den Hauptspeicher geschrieben werden müssen. Wird der Block dann verdrängt, wird dieses Bit geprüft. Ist es auf 1, wird der Cache-Block zuerst zurückgeschrieben. Dann wird der neue Block aus dem Hauptspeicher gelesen, und dabei das Bit auf 0 gesetzt (denn nun ist kein "write needed").

Im Pseudocode sieht der Zugriff auf den Cache ungefähr so aus:

Code:

if cachemiss then
   if dirty bit == 1 then
      schreibe cache block zurück
   end if
   lese cache block aus hauptspeicher
   dirty bit = 0
end if
# jetzt ist die cache line gültig
if cache-write then
   schreibe datum aus register in cache
   dirty bit = 1
else
   lese Datum aus cache in register
end if


Schau Dir dazu vielleicht auch noch einmal in meiner Präsentation das
"Zugriff auf Datum" an, das ist so ungefähr bei einem Drittel der
Präsentation:

http://www.gerhards.net/module-Pagesett ... -204.phtml

Ich sage da zwar nichts zum Schreibzugriff, aber ich denke, man kann den
Algorithmus oben ganz gut darin wiederfinden und sich dann auch entsprechend
reindenken. Evtl. auch die PPS-Dateien runterladen und das selbst mal
langsam ablaufen lassen.

Hoffe, das hilft.

Rainer
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007