Ub8-Cache

Motivation

截屏2020-08-05 23.40.21
  • Ausnutzung der räumlichen und zeitlichen Lokalität von Anwendungen

  • 90/10-Regel

    Die 90/10 Regel besagt, dass bei 90 % der Speicherzugriffe innerhalb eines Programms nur etwa10% der Daten benötigt werden, die das Programm insgesamt während seiner Laufzeit benötigt. Somit ist also ein deutlich kleinerer Speicher ausreichend, um die meisten Anfragen beantworten zu können.

Parameter

Organisation

  • Direkt abgebildet (direct mapped)
  • Satzassoziativ (set associative)
  • Vollassoziativ (fully associative)

Hierarchie

  • Mehrere Level (L1, L2, L3)

  • im Multiprozessorfall: private vs. shared

  • inclusive vs. exclusive

Größe

  • Cacheline-Size

  • (# Cachelines bzw. Assoziativität) * # Sätzen

Ersetzungsstrategie

  • least recently used (LRU)

  • least frequently used (LFU)

  • Round Robin

  • Random

Schreibstrategie

  • write-through vs. write-back
  • write-allocation vs. no write-allocation

Cachekohärenzprotokoll (im Multiprozessorfall)

  • Busbasiert
  • Verzeichnisbasiert

Eigenschaften

Bei Caches kann zwischen unterschiedlichen auftretenden Fehlzugriffen unterschieden werden

  • Compulsory Miss

    • Miss, der durch ersten Zugriff auf ein Datum entsteht
    • Daten also noch nicht im Cache und daher Miss nicht vermeidbar
  • Capacity Miss

    • Kapazität des Caches zu klein, weshalb bereits gecachtes Datum aus Cache entfernt werden musste
  • Conflict Miss

    • Set zu klein und bereits gecachtes Datum wurde aus Set entfernt (Cache nicht zwangsläufig voll)
    • Nur bei nicht-vollassoziativem Cache
  • Coherency Miss

    • Nur bei Multiprozessor-Systemen mit Kohärenzprotokoll
    • Unterscheidung zwischen False- und True-Sharing
    • False-Sharing, falls nicht eigentliches Wort sondern anderes Wort in Cache-Block geändert wurde

Cacheleistung

  • Gegeben

    • Hit-Rate: $r_H$
    • Miss-Rate: $r_M = 1 - r_H$
    • Zugriffszeit bei Hit: $t_H$
    • Zugriffszeit Hauptspeicher (fall Miss): $t_{Mem}$
  • Mittlere Zugriffszeit $$ t_{a}=\underbrace{r_{H} * t_{H}}_{\text {Hit }}+\underbrace{r_{M} * t_{M e m}}_{\text {Miss }} $$

  • Mehrstufige Hierarchie: Konkretisierung des Miss-Zweigs $$ t_{a}=\underbrace{r_{H 1} * t_{L 1}}_{\text {Hit L1 }}+\underbrace{r_{M 1} *(\underbrace{r_{H 2} * t_{L 2}}_{\text {Hit L2 }}+\underbrace{r_{M 2} * t_{M e m}}_{\text {Miss L2 }})}_{\text {Miss L1 }} $$

Previous
Next