cheie diference între adresa logică și adresa fizică este asta CPU generează adresa logică în timpul executării programului, în timp ce adresa fizică este o locație în unitatea de memorie.
În termeni simpli, CPU generează adresa logică sau adresa virtuală. Din perspectiva unui program care rulează, un element pare să fie localizat la adresa furnizată de adresa logică. Unitatea de memorie respectă adresa fizică. În plus, permite accesarea unei celule de memorie particulară din memoria principală de către magistrala de date.
1. Prezentare generală și diferență cheie
2. Ce este adresa logică
3. Ce este adresa fizică
4. Comparație comparativă - Adresa logică vs. adresa fizică în formă tabelară
5. rezumat
CPU generează o adresă logică. Din perspectiva unui program care rulează, un element pare să fie localizat la adresa furnizată de adresa logică. Aplicațiile care rulează pe computer nu văd adresele fizice. Ei lucrează întotdeauna folosind adresele logice. Spațiul de adrese logic este setul de adrese logice pe care un program le generează. Este necesar ca adresele logice să fie mapate adreselor fizice înainte de a le utiliza. Dispozitivul hardware Unitatea de gestionare a memoriei (MMU) gestionează acest proces de cartografiere.
MMU urmează mai multe scheme de cartografiere. În cea mai simplă schemă de mapare, valoarea din registrul de relocare este adăugată la fiecare adresă logică produsă de programele de aplicație înainte de a le trimite în memorie. Există, de asemenea, și alte metode complexe pentru generarea cartografierii. Legarea adreselor (adică alocarea instrucțiunilor și datelor în adresele de memorie) se poate întâmpla la trei momente diferite.
Figura 01: Adresa logică și fizică
În primul rând, se poate întâmpla în timpul compilării dacă locațiile de memorie reale sunt cunoscute în avans și acest lucru ar genera codul absolut în timpul de compilare. Se poate întâmpla și în timpul încărcării dacă locațiile de memorie nu sunt cunoscute în prealabil. Pentru aceasta, codul care trebuie localizat trebuie să fie generat la momentul compilării. Mai mult, legarea adreselor se poate întâmpla la timpul de execuție. Acest lucru necesită suport hardware pentru maparea adreselor. În timpul de compilare și a timpului de încărcare, legăturile adreselor logice și fizice sunt aceleași. Dar această procedură este diferită atunci când legarea adreselor are loc în timpul de execuție.
Unitatea de memorie observă adresa fizică sau adresa reală. Permite busului de date să acceseze o anumită celulă de memorie din memoria principală. MMU cartografiază adresa logică la adresa fizică. De exemplu, folosindu-se cea mai simplă schemă de mapare, care adaugă la adresa logică registrul de relocare (presupunem că valoarea din registru este y), o adresă logică cuprinsă între 0 și x ar fi mapată la un interval fizic de adrese y la x + y.
Mai mult, acest lucru se mai numește și spațiul de adresă fizică a acelui program. Toate adresele logice trebuie să fie cartografiate în adrese fizice înainte ca acestea să poată fi utilizate.
Adresa logică vs. adresa fizică | |
Adresa logică este adresa la care un obiect pare să locuiască din perspectiva unui program de aplicație executant. | Adresa fizică este o adresă de memorie care este reprezentată sub forma unui număr binar pe circuitele magistralei de adrese pentru a permite busului de date să acceseze o special o celulă de stocare a memoriei principale sau un registru de dispozitiv I / O mapat în memorie. |
Vizibilitate | |
Utilizatorul poate vizualiza adresa logică a unui program. | Utilizatorul nu poate vedea adresa fizică a programului. |
Metoda de generare | |
CPU generează adresa logică. | MMU calculează adresa fizică. |
Accesibilitate | |
Utilizatorul poate folosi adresa logică pentru a accesa adresa fizică. | Utilizatorul nu poate accesa direct adresa fizică. |
Diferența dintre adresa logică și adresa fizică este că CPU generează o adresă logică atunci când programul este executat, în timp ce adresa fizică este o locație în unitatea de memorie. Toate adresele logice trebuie să fie cartografiate în adrese fizice înainte ca MMU să le poată folosi. Adresele fizice și logice sunt aceleași atunci când se utilizează timpul de compilare și legarea adresei de timp de încărcare, dar ele diferă atunci când se utilizează legarea adresei de timp de execuție.
1. "Adresa logică". Wikipedia, Fundația Wikimedia, 30 aprilie 2018. Disponibil aici
2. "Adresa fizică" Wikipedia, Fundația Wikimedia, 30 aprilie 2018. Disponibil aici
1. Principiul AMMU prin Andre Schieleit - Lucrare proprie, (Domeniul Public) prin Commons Wikimedia