Translation Lookaside Buffer

From Wikipedia, the free encyclopedia

Der Begriff Übersetzungspuffer oder englisch Translation Lookaside Buffer (TLB, vgl. auch Cache) bezeichnet eine funktionale Einheit der Speicherverwaltung von selbst nachladenden Speicherverwaltungseinheiten (MMU).

Technischer Ablauf eines Speicherzugriffs
Schematischer Ablauf der Umrechnung einer virtuellen in eine physische Adresse[1.1]

Wenn virtueller Speicher verwendet wird, muss zu den virtuellen Adressen die jeweils zugehörige physische Adresse ermittelt werden. Dabei wird die virtuelle Adresse bei der x86-Architektur in meist drei Arbeitsschritten mit Hilfe der Segment- und der meist baumartig organisierten Seitentabelle zur physischen Adresse umgesetzt; andere Architekturen (ARM, PowerPC, MIPS etc.) arbeiten ähnlich. Da diese Arbeitsschritte verhältnismäßig zeitintensiv sind, werden die zuletzt ermittelten Adressen der physischen Speicherseiten im TLB zwischengespeichert, wodurch erneute Zugriffe auf Adressen in diesen Seiten nicht aufwändig neu ermittelt werden müssen, sondern aus dieser Liste entnommen werden können. Der TLB kann eine begrenzte Menge dieser Referenzen halten (üblicherweise nicht mehr als 1024 Einträge) und kann dadurch die Ausführung von Speicherzugriffen deutlich beschleunigen. Dies wird über assoziative Ordnungsregister realisiert, die parallele Zugriffe erlauben. Durch seinen Aufbau ist der TLB pro Eintrag vergleichsweise teuer gegenüber anderen flüchtigen Speichern wie z. B. RAM.

Page Global

Seit dem Intel Pentium Pro ist mit Page Global Enable (PGE) auf der x86-Architektur ein Flag implementiert, das es erlaubt, eine Speicherseite (englisch page) mit gesetztem G-Bit (für „global“) nach erfolgter Speicherumsetzung permanent im TLB vorzuhalten. Dadurch wird die Adresse, z. B. bei einem Prozesswechsel, nicht aus dem TLB entfernt. Dafür muss „PGE“ im Steuerregister CR4 eines x86-Prozessors aktiviert werden.[2]

Einzelnachweise

Related Articles

Wikiwand AI