Unitatea de gestionare a memoriei

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

L 'unității de gestionare a memoriei (în engleză memory management unit, în acronim MMU) este o clasă de componente hardware care gestionează cererile de acces la memorie de către procesorul generat.

fundal

În primele variante de realizare, gestionarea memoriei a fost efectuată într-un circuit integrat separat de CPU, cum ar fi MC 68851 utilizat de CPU Motorola 68020 în Macintosh II sau Z8010 [1] utilizat de familia de procesoare ZiLOG Z8000 . Procesoarele mai moderne precum Motorola 68030 și Zilog Z280 au MMU-uri integrate în același cip .

Majoritatea MMU-urilor funcționează cu sisteme de memorie paginate . Cu toate acestea, există și alte modalități de organizare a memoriei, cum ar fi segmentarea și adresarea de bază-limită, care este o dezvoltare. Unele MMU-uri funcționează și cu aceste sisteme de memorie, care, deși mai puțin frecvente, sunt utilizate în unele arhitecturi moderne de o importanță considerabilă. De exemplu, arhitectura x86 poate funcționa atât cu memoria segmentată, cât și cu cea paginată.

Descriere și caracteristici

MMU-urile moderne împart în general spațiul de adrese virtuale (gama de adrese accesibilă de procesor) în pagini de memorie de dimensiunea 2 N , de obicei câțiva kiloocteți. N cei mai puțini biți semnificativi ai adresei ( decalajul din pagină) rămân neschimbate, în timp ce biții rămași reprezintă numărul virtual al paginii. MMU conține un tabel de pagini indexat (posibil asociativ) după numărul paginii. Fiecare element al acestui tabel (numit PTE sau Page Table Entry ) returnează numărul fizic al paginii corespunzătoare celei virtuale, care, combinat cu offset-ul paginii, formează adresa fizică completă. Un PTE poate include, de asemenea, informații despre data ultimei utilizări a paginii (pentru algoritmul de substituție LRU ), ce tip de procese (utilizator sau supraveghetor) o poate citi și scrie și dacă ar trebui să fie stocată în cache.

Este posibil să nu existe memorie fizică ( RAM ) alocată unei anumite pagini virtuale. În acest caz, MMU raportează o stare de eroare a paginii către CPU. Sistemul de operare intervine pentru a gestiona această condiție, încearcă să găsească o pagină gratuită în RAM și să creeze un nou PTE în care să mapeze adresa virtuală solicitată în adresa fizică a paginii găsite. Când nu există spațiu RAM disponibil pentru o nouă pagină de memorie, poate fi necesar să alegeți o pagină existentă folosind un algoritm de înlocuire, să faceți o copie a acesteia pe hard disk și să o înlocuiți cu cea nouă. În mod similar, atunci când nu există PTE-uri neutilizate disponibile, sistemul de operare trebuie să elibereze unul.

În unele cazuri, o eroare de pagină poate indica o eroare de software. Unul dintre avantajele MMU este protecția memoriei: un sistem de operare o poate folosi pentru a proteja memoria de procesele eronate, împiedicând un proces să acceseze locații de memorie neautorizate. De obicei, sistemul de operare atribuie fiecărui proces propriul spațiu de adrese virtuale.

Utilizare

MMU poate avea diverse sarcini, inclusiv traducerea (sau traducerea) adreselor logice și simbolice în adrese fizice (necesare pentru gestionarea memoriei virtuale ), protecția memoriei , controlul cache-ului CPU, arbitrajul magistralei și, în arhitecturi mai simple (în special pe 8 biți sisteme), comutarea băncilor de memorie.

MMU reduce, de asemenea, problema fragmentării memoriei. După ce blocurile de memorie alocate anterior au fost eliberate, memoria liberă poate deveni fragmentată (discontinuă), astfel încât cel mai mare bloc de memorie liberă contiguă poate fi mult mai mic decât totalul. Cu memoria virtuală, blocurile non-contigue de memorie fizică pot fi mapate la adrese virtuale contigue.

Notă

  1. ^ Z8010_mmu Z8010 Mmu , pe UserManual.wiki . Adus la 11 ianuarie 2021 .

Bibliografie

Elemente conexe

Alte proiecte

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT