O memorie tampon de traducere ( TLB ) este o memorie cache specializată a CPU utilizată pentru a accelera traducerea unei adrese de memorie virtuală într-o adresă de memorie fizică.
TLB este folosit de toate procesoarele moderne cu suport pentru paginarea în memorie . TLB conține un set fix de intrări (de la 8 la 4096) și este o memorie asociativă . Fiecare intrare conține corespondența adresei paginii de memorie virtuală cu adresa memoriei fizice. Dacă adresa nu se află în TLB, procesorul ocolește tabelele de pagini și stochează adresa rezultată în TLB, ceea ce durează de 10 până la 60 de ori mai mult decât obținerea adresei dintr-o intrare deja stocată în cache de TLB. Probabilitatea unei rate de TLB este scăzută, cu o medie între 0,01% și 1%.
Dacă sarcina țintă folosește un context de memorie diferit (director de pagină și tabele de pagini) în timpul unei comutări de context , TLB este șters, reducând astfel performanța procesorului la accesările ulterioare la memorie (necesită ca intrările din tabelul de pagini să fie încărcate într-un TLB gol). Există mai multe strategii pentru a gestiona curățarea:
În procesoarele moderne, mai multe niveluri TLB pot fi implementate cu viteze și dimensiuni diferite. Cel mai de sus TLB va conține un număr mic de intrări, dar va funcționa la o viteză foarte mare, până la câteva cicluri. Nivelurile ulterioare devin mai lente, dar în același timp mai mari.
Uneori, TLB de nivel superior este împărțit în 2 buffere, unul pentru paginile care conțin cod executabil și unul pentru procesarea datelor.
Specificații tipice pentru procesoare în 2009 [1] :
Multe procesoare moderne acceptă 2 tipuri de pagini, normale și mari ( Huge Page ). De exemplu, procesoarele x86 funcționează de obicei cu pagini de 4 KB, dar permit pagini de 4 MB folosind PSE . Pentru procesoarele x86-64 , paginile mari sunt disponibile în 2 MB [2] (și 1 GB pentru unele modele).
Înregistrările de traducere pentru tabelele mari sunt, de asemenea, stocate în TLB, dar pe unele procesoare este folosit un TLB separat de 4 până la 8 înregistrări.
Tehnologii de procesoare digitale | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arhitectură | |||||||||
Arhitectura set de instrucțiuni | |||||||||
cuvânt mașină | |||||||||
Paralelism |
| ||||||||
Implementări | |||||||||
Componente | |||||||||
Gestionare a energiei |