Translation look-aside buffer: verschil tussen versies

Uit Wikipedia, de vrije encyclopedie
Verwijderde inhoud Toegevoegde inhoud
JAnDbot (overleg | bijdragen)
k robot Anders: zh:轉譯後備緩衝區
Loveless (overleg | bijdragen)
Regel 19: Regel 19:
[[pl:Translation Lookaside Buffer]]
[[pl:Translation Lookaside Buffer]]
[[pt:Translation Lookaside Buffer]]
[[pt:Translation Lookaside Buffer]]
[[ru:Translation lookaside buffer]]
[[zh:轉譯後備緩衝區]]
[[zh:轉譯後備緩衝區]]

Versie van 6 mei 2008 16:57

De Translation Look-aside Buffer is een cache in de CPU dat gedeeltes van de page table bevat die omgezet worden van virtuele naar fysieke adressen. De TLB heeft een vast aantal ingangen en wordt gebruikt om de snelheid te verhogen van de virtuele adres omzetting (dankzij zijn flashgeheugen).

Elke ingang in de TLB bestaat uit twee delen: een key (of tag) en een waarde. Als het associatieve geheugen een item krijgt, wordt dit vergeleken met alle keys tegelijk. Als het item wordt gevonden, wordt de bijhorende waarde teruggegeven. Zoeken naar items gaat hiermee snel, maar de hardware is duur (vandaar de kleine ruimte, en dus beperkt aantal items dat de TLB kan opslaan). Het aantal ingangen ligt meestal tussen de 64 en 1024 items.

De TLB wordt als volgt gebruikt: de TLB bevat een paar ingangen van de page-tabel: als een logisch adres wordt gegenereerd door de CPU gaat het page-nummer naar de TLB. Als het page-nummer wordt gevonden, is het framenummer onmiddellijk beschikbaar om het geheugen te benaderen.

Als het page-nummer niet in de TLB staat, wordt er verwezen naar de page-tabel (dit noemen we een TLB-miss). Als het framenummer is opgehaald, wordt het geheugen benaderd (als het niet in de page-tabel staat wordt er een page fault exception afgevuurd). Daarna worden dat page-nummer en framenummer in de TLB geplaatst, zodat ze sneller worden gevonden bij de volgende verwijzing. Als de TLB al vol is, vervangt het besturingssysteem een ingang. Het vervangingsbeleid varieert van least recently used (LRU) tot random (afhankelijk van de implementatie in het besturingssysteem). Ook kunnen er sommige TLB-ingangen vastgelegd worden, zodat ze niet verwijderd kunnen worden, voor kernelcode.

Het percentage dat een page-nummer wordt gevonden in de TLB is de TLB hit ratio. Een hit ratio van 70 procent betekent dat we het gewenste page-nummer 70 procent van de keren in de TLB terugvinden. Een hoge hit ratio is cruciaal voor de snelle verwerking van gegevens, immers duurt het veel langer om de juiste data terug te vinden bij een TLB-miss dan dat het direct beschikbaar is.