Home

Cachezeile

Eine Cachezeile ist die kleinste Einheit, die zwischen dem Hauptspeicher und den Cache-Ebenen eines Prozessors transferiert wird. Typischerweise speichert sie einen zusammenhängenden Block von Speicheradressen, der bei modernen Prozessoren 64 Byte umfasst; Größen variieren und reichen oft von 32 bis 128 Byte. Der Zweck der Cachezeile ist die Ausnutzung räumlicher Lokalität: Nachdem eine Adresse geladen wurde, werden auch benachbarte Adressen der Zeile mitgeladen, um weitere aufeinanderfolgende Zugriffe schneller zu bedienen.

Eine Cachezeile enthält neben den Nutzdaten Metadaten wie Tag, gültiges Bit und ggf. Statusinformationen für die

Cachezeilen beeinflussen Leistungskennzahlen stark. Größere Zeilen verbessern die räumliche Lokalität, können aber auch zu Verschwendung führen,

Der Begriff Cachezeile wird häufig synonym mit Cache-Block oder Cache-Line verwendet; in der Praxis variiert die

Cache-Kohärenz.
Die
Zeilen
werden
in
Sets
gehalten
(set-associative
Cache).
Die
Adresse
wird
in
Index
(Set-Auswahl)
und
Tag
(Identifikation
der
Zeile)
zerlegt.
Bei
einem
Zugriff
wird
das
passende
Set
nach
der
Zeile
mit
dem
passenden
Tag
durchsucht;
bei
einem
Treffer
liegt
die
Zeile
im
Cache
(Cache-Hit),
ansonsten
kommt
es
zu
einem
Cache-Miss
und
die
Zeile
wird
aus
dem
nächsten
Speicherlevel
oder
dem
Hauptspeicher
nachgeladen.
Beim
Nachladen
kann
eine
bereits
belegte
Zeile
verdrängt
werden
(Replacement-Policy,
z.
B.
LRU).
wenn
benachbarte
Daten
nicht
genutzt
werden.
Gleichzeitig
kann
falsches
Teilen
(false
sharing)
zwischen
Threads,
die
verschiedene
Daten
in
derselben
Zeile
ändern,
zu
unnötigen
Cache-Kohärenz-Nachrichten
führen.
Speicherlayout-Optimierungen
wie
korrekte
Ausrichtung
und
Padding
helfen,
Zeilenkollisionen
zu
vermeiden.
In
Mehrkernsystemen
verwalten
Kohärenzprotokolle
wie
MESI
oder
MOESI
die
Konsistenz
der
Cachezeilen
über
Kerne
hinweg.
genaue
Größe
von
Architektur
zu
Architektur,
wodurch
Entwickler
Performance
optimieren,
indem
sie
Strukturen
so
anlegen,
dass
auf
wenige
Zeilen
pro
Zugriff
zugegriffen
wird.