Ce este Traducere Lookaside Buffer?

CPU-urile sunt fiare incredibil de complexe. Există un număr mare de piese interconectate care toate trebuie să funcționeze la unison perfect pentru a atinge nivelurile de performanță pe care le vedem. Performanța memoriei este un factor cheie în performanța procesoarelor moderne, în special ca factor limitator.

De ce este atât de importantă viteza memoriei?

Procesoarele sunt incredibil de rapide, cu ultimele generații care rulează la 5,7 GHz atunci când sunt răcite corespunzător. Acest lucru le permite să finalizeze 5,7 miliarde de operațiuni în fiecare secundă. Multe dintre aceste operațiuni efectuează o acțiune asupra unui anumit tip de date care trebuie stocate în memorie.

Memoria sistemului principal, cunoscută sub numele de RAM, este, de asemenea, foarte rapidă. Din păcate, este foarte rapid în comparație cu orice altceva decât CPU. Latența absolută a memoriei RAM moderne de vârf este de ordinul a 60 de nanosecunde. Din păcate, asta se traduce în aproximativ 342 de cicluri CPU. Pentru a accelera accesul la memorie, se folosește un cache al procesorului care memorează în cache datele în mod dinamic. Acest cache este situat pe matrița CPU și folosește celule SRAM mai degrabă decât celule DRAM, ceea ce face mult mai rapid. Din păcate, memoria cache a procesorului este, de asemenea, mult mai mică decât RAM de sistem, în general nu totalizează nici măcar 100 MB. Totuși, în ciuda dimensiunilor sale mici, sistemul de cache al procesorului în niveluri crește masiv performanța sistemului.

Aici vine memoria virtuală pentru a încurca totul

Calculatoarele moderne folosesc un sistem numit memorie virtuală. În loc să aloce adrese de memorie fizică proceselor, sunt folosite adrese de memorie virtuală. Fiecare proces are propriul spațiu de adrese de memorie virtuală. Acest lucru are două beneficii. În primul rând, oferă o separare ușoară între memoria care aparține unui proces și memoria care aparține altuia. Acest lucru ajută la prevenirea atacurilor în care software-ul rău intenționat citește date din memoria altor software-uri, accesând potențial informații sensibile. De asemenea, ascunde structura memoriei fizice de proces. Acest lucru permite procesorului să mute biți de memorie rar utilizați într-un fișier de paginare de pe stocare, fără a-l demonta neapărat din memoria RAM virtuală. Acest lucru permite computerului să gestioneze cu ușurință scenariile în care este necesară mai multă RAM decât este prezentă fizic. Fără memorie virtuală,

Din păcate, dacă utilizați adrese de memorie virtuală, computerul trebuie să traducă efectiv acele adrese de memorie virtuală în adrese de memorie fizică pentru a citi datele. Acest lucru necesită un tabel pentru a stoca toate traducerile adreselor de memorie virtuală în adrese de memorie fizică. Mărimea acestuia depinde direct de cantitatea de RAM utilizată. În general, este destul de mic, cel puțin în comparație cu capacitatea RAM de sistem. Din păcate, dacă stocați traducerea dintre adresele virtuale și adresele fizice în RAM, trebuie să faceți două solicitări către RAM pentru fiecare solicitare către RAM. Una pentru a găsi adresa fizică de solicitat și apoi alta pentru a accesa efectiv acea locație.

Introduceți memoria tampon de traducere

Soluția la această problemă este să stocați tabelul de traducere undeva mai rapid. Cache-ul CPU s-ar potrivi bine, cel puțin din perspectiva vitezei. Problema cu asta, totuși, este că memoria cache a procesorului este mică și deja utilizată intens. Nu numai că tabelul nu se potrivește în cache, dar acest lucru ar întrerupe utilizarea deja care definește performanța.

Desigur, dacă principiul cache-ului funcționează deja pentru accesul la memorie, de ce să nu îl repetați pentru tabelul de traducere? Și exact asta este Translation Lookaside Buffer, sau TLB. Este o memorie cache de mare viteză pentru traducerile recente de adrese. Nu este suficient de mare pentru a stoca întreaga masă, dar dimensiunea sa mică înseamnă că poate răspunde foarte rapid, într-un singur ciclu de ceas.

Orice solicitare de memorie trece prin TLB. Dacă există un hit TLB, acesta poate furniza adresa de memorie fizică pentru cererea reală, adăugând de obicei un singur ciclu de latență. Dacă există o pierdere TLB, căutarea trebuie efectuată din memoria principală. Există o mică penalizare de performanță pentru o pierdere TLB de aproximativ 5 cicluri, o pierdere mai mult decât eclipsată de latența accesului la memorie. Odată ce traducerea adresei este preluată din RAM de sistem, aceasta este împinsă în TLB și cererea este apoi repetată cu o lovitură imediată a TLB.

Notă: Există diferite scheme pentru evacuarea TLB. Unii pot folosi o schemă First In, First Out sau FIFO. Alții pot folosi o schemă cel mai puțin utilizată sau LFU.

În cazul rar în care nu există nicio intrare în tabelul de traducere a adreselor, este cauzată o eroare a paginii, deoarece datele solicitate nu sunt în RAM. Sistemul de operare trebuie apoi să gestioneze defecțiunea și să transfere datele din stocare în RAM înainte ca cererea să poată continua.

Concluzie

Traducere Lookaside Buffer, sau TLB, este o memorie cache a CPU de mare viteză dedicată stocării în cache a traducerilor recente de adrese din fișierul de pagină din RAM de sistem. Acest lucru este necesar deoarece sistemele de memorie virtuală, așa cum sunt implementate în toate computerele moderne, ar necesita două solicitări către RAM pentru fiecare cerere către RAM. Una pentru a traduce adresa de memorie virtuală într-o adresă de memorie fizică și alta pentru a accesa efectiv adresa fizică. Prin memorarea în cache a traducerilor recente, latența memoriei poate fi redusă foarte mult pentru accesările TLB.

Trebuie avut grijă să vă asigurați că traducerile stocate în cache sunt relevante pentru procesul activ în prezent. Deoarece fiecare proces are un spațiu de adrese virtual diferit, ele nu pot fi reutilizate. Nelimitarea strictă a acestui lucru a fost cauza din spatele vulnerabilității Meltdown.



Leave a Comment

Ce să faci dacă Powerbeats Pro nu se încarcă în carcasă

Ce să faci dacă Powerbeats Pro nu se încarcă în carcasă

Dacă Powerbeats Pro nu se încarcă, folosește o altă sursă de alimentare și curăță-ți căștile. Lasă carcasa deschisă în timp ce încarci căștile.

Canon Pixma MG5220: Scanare Fără Cerneală

Canon Pixma MG5220: Scanare Fără Cerneală

Cum să activezi scanarea pe Canon Pixma MG5220 când ai rămas fără cerneală.

5 Motive pentru care laptopul tău se supraîncălzește

5 Motive pentru care laptopul tău se supraîncălzește

Află care sunt unele dintre posibilele motive pentru care laptopul tău se supraîncălzește, împreună cu sfaturi și trucuri pentru a evita această problemă și a menține dispozitivul răcoros.

Cum să rezolvi codul de eroare GeForce Now 0xC272008F

Cum să rezolvi codul de eroare GeForce Now 0xC272008F

Te pregătești pentru o seară de gaming și va fi una mare – tocmai ai achiziționat „Star Wars Outlaws” pe serviciul de streaming GeForce Now. Descoperă singura soluție cunoscută care îți arată cum să repari codul de eroare GeForce Now 0xC272008F pentru a putea începe din nou să joci jocurile Ubisoft.

Elementele de bază ale imprimării 3D: Sfaturi de întreținere pentru imprimanta ta 3D

Elementele de bază ale imprimării 3D: Sfaturi de întreținere pentru imprimanta ta 3D

Întreținerea imprimantelor 3D este foarte importantă pentru a obține cele mai bune rezultate. Iată câteva sfaturi importante de reținut.

Cum să găsești adresa IP a unei imprimante

Cum să găsești adresa IP a unei imprimante

Ai probleme în a descoperi ce adresă IP folosește imprimanta ta? Te vom învăța cum să o găsești.

Principiile Imprimării 3D: O listă de verificare esențială pentru întreținere

Principiile Imprimării 3D: O listă de verificare esențială pentru întreținere

Menținerea echipamentului tău într-o stare bună este esențială. Iată câteva sfaturi utile pentru a-ți menține imprimanta 3D în condiții de vârf.

Cum să folosești AirPods cu telefoanele Samsung

Cum să folosești AirPods cu telefoanele Samsung

Dacă ești nesigur dacă să cumperi AirPods pentru telefonul tău Samsung, acest ghid te poate ajuta cu siguranță. Întrebarea cea mai evidentă este dacă cele două sunt

Cum se clonează un hard disk

Cum se clonează un hard disk

În era digitală modernă, în care datele sunt un bun valoros, clonarea unui hard disk pe Windows poate fi un proces crucial pentru mulți. Acest ghid cuprinzător

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

În timpul pornirii computerului, vă confruntați cu mesajul de eroare care spune că driverul WUDFRd nu s-a încărcat pe computer?