TLB (Translation Lookaside Buffer)

Auf einen Blick

Der TLB ist ein Cache für die MMU: Er merkt sich kürzlich umgesetzte Page → Frame-Zuordnungen, damit nicht jeder Zugriff die mehrstufige Page Table durchlaufen muss. Trefferraten über 95 %.

Warum überhaupt?

Ein VM-System braucht pro Speicherzugriff bei n-stufiger Page Table die Zeit:

tVM=tHS+ntPT=(n+1)tHSt_{VM} = t_{HS} + n \cdot t_{PT} = (n+1)\cdot t_{HS}

Das ist ein gewaltiger Overhead. Erst Caches reduzieren ihn auf eine mittlere Zugriffszeit:

tmean=p(tHS+tcache)+(1p)(tVM+tcache)t_{mean} = p\,(t_{HS}+t_{cache}) + (1-p)\,(t_{VM}+t_{cache})

mit p = Trefferwahrscheinlichkeit (Hit Ratio).

Eigenschaften

  • Caches für die MMU — werden bei jeder Adressumsetzung zuerst befragt.
  • typischerweise assoziative Speicher (können simultan durchsucht werden).
  • system- und häufig nicht prozess-spezifisch (daher beim Kontextwechsel oft Flush nötig).
  • nur wenige Hundert KB groß — erreichen dennoch >95 % Trefferrate.
Lokalität

Der TLB funktioniert dank Lokalität: Programme greifen meist wiederholt auf dieselben wenigen Pages zu. Genau dieses Prinzip nutzen auch die Paging-Algorithmen (LRU).

Im Adressumsetzungs-Diagramm siehst du den TLB als ersten Schritt vor der Page Table.

Verwandte Notes

Page Table & MMU · Virtual Memory · Speicherhierarchie · Paging-Algorithmen

← Kapitelübersicht


⬅️ Page Table & MMU · Page Faults ➡️

Built with LogoFlowershow