Home

CacheLatenz

CacheLatenz bezeichnet die Verzögerungszeit vom Zeitpunkt eines Cachezugriffs bis zur Bereitstellung der angeforderten Daten. Sie wird meist in CPU-Taktzyklen oder Nanosekunden gemessen. Die Latenz variiert je nach Cache-Level: L1-Daten liefern Daten extrem schnell, L2 langsamer, L3 noch langsamer, während Misses Daten aus dem Hauptspeicher nachholen müssen.

Moderne Systeme nutzen mehrere Cache-Ebenen: L1, L2 und L3. L1 ist klein und extrem schnell, getrennte Daten-

Die durchschnittliche Zugriffslatenz wird häufig über die durchschnittliche Speicherzugriffszeit (AMAT) beschrieben: AMAT = Latenz_L1 × Trefferquote_L1 + (1

Faktoren, die die Cache-Latenz beeinflussen, umfassen die Cache-Architektur (Assoziativität, Blockgröße), Adresskonflikte, Datenlokalität, Iterationsmuster, Prefetching und Cache-Kohärenz

Praxisrelevant ist das Profiling mit Cache-Metriken. Optimierungen zielen darauf ab, Trefferquoten zu erhöhen und Miss-Penalties zu

und
Anweisungs-Caches.
L2
ist
größer
und
langsamer,
oft
pro
Kern.
L3
ist
noch
größer,
oft
gemeinschaftlich.
Die
Latenz
ergibt
sich
aus
Tag-Checks,
Adressierungslogik
und
dem
Zugriff
auf
das
Cache-Datenwort.
Bei
einem
Cache-Miss
steigt
die
Latenz
deutlich
an,
da
weitere
Ebenen
oder
der
Hauptspeicher
konsultiert
werden
müssen.
−
Trefferquote_L1)
×
AMAT_nächste
Ebene.
Geringe
Latenz
bei
häufigerem
Zugriff
verbessert
die
Gesamtleistung,
besonders
bei
speicherintensiven
Anwendungen.
in
Mehrkern-Systemen.
Gute
Datenlokalität,
loop
tiling,
passende
Datenstrukturen
und
der
Verzicht
auf
große
Sprünge
durch
Speicheradressen
senken
die
effektive
Latenz.
verringern,
beispielsweise
durch
strukturierte
Arrays
statt
Array
von
Strukturen,
Datenalignment,
unroll-
oder
tiling-Techniken
und
gezieltes
Prefetching.