Diferența dintre adresa logică și adresa fizică

Cuprins:

Diferența dintre adresa logică și adresa fizică
Diferența dintre adresa logică și adresa fizică

Video: Diferența dintre adresa logică și adresa fizică

Video: Diferența dintre adresa logică și adresa fizică
Video: Google Pixel 3 și Pixel 3 XL | Vârfurile de gamă de la Google | Unboxing & Review CEL.ro 2024, Noiembrie
Anonim

Diferența cheie dintre adresa logică și adresa fizică este că CPU generează o adresă logică în timpul execuției 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 articol pare să fie localizat la adresa furnizată de adresa logică. Unitatea de memorie observă adresa fizică. În plus, permite accesarea unei anumite celule de memorie din memoria principală prin magistrala de date.

Diferența dintre adresa logică și adresa fizică - Rezumatul comparației
Diferența dintre adresa logică și adresa fizică - Rezumatul comparației
Diferența dintre adresa logică și adresa fizică - Rezumatul comparației
Diferența dintre adresa logică și adresa fizică - Rezumatul comparației

Ce este adresa logică?

CPU generează adresa logică. Din perspectiva unui program care rulează, un articol pare să fie localizat la adresa furnizată de adresa logică. Programele de aplicație care rulează pe computer nu văd adresele fizice. Ele funcționează întotdeauna folosind adresele logice. Spațiul de adrese logice este setul de adrese logice pe care le generează un program. Este necesar să mapați adresele logice la adresele fizice înainte de a le utiliza. Dispozitivul hardware Memory Management Unit (MMU) se ocupă de acest proces de mapare.

Scheme de cartografiere MMU

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ă și alte metode complexe de a genera maparea. Legarea adreselor (adică alocarea de instrucțiuni și date în adrese de memorie) poate avea loc în trei momente diferite.

Diferența dintre adresa logică și adresa fizică
Diferența dintre adresa logică și adresa fizică
Diferența dintre adresa logică și adresa fizică
Diferența dintre adresa logică și adresa fizică

Figura 01: Adresă logică și fizică

În primul rând, se poate întâmpla în timpul compilării dacă locațiile reale de memorie sunt cunoscute în avans, iar acest lucru ar genera codul absolut în timpul compilării. Se poate întâmpla și în timpul încărcării dacă locațiile de memorie nu sunt cunoscute în avans. Pentru aceasta, codul relocabil trebuie generat în timpul compilării. În plus, legarea adresei poate avea loc în momentul execuției. Acest lucru necesită suport hardware pentru maparea adreselor. În timpul de compilare și timpul de încărcare, adresele logice și fizice sunt aceleași. Dar această procedură este diferită atunci când legarea adresei are loc în timpul execuției.

Ce este adresa fizică?

Unitatea de memorie observă adresa fizică sau adresa reală. Acesta permite magistralei de date să acceseze o anumită celulă de memorie din memoria principală. MMU mapează adresa logică la adresa fizică. De exemplu, folosind cea mai simplă schemă de mapare, care adaugă valoarea registrului de relocare (presupunem că valoarea din registru este y) la adresa logică, o adresă logică variază de la 0 la x ar fi mapată la un interval de adrese fizice de la y la x+ a.

În plus, acesta se mai numește și spațiul de adrese fizice al programului respectiv. Toate adresele logice trebuie mapate în adrese fizice înainte de a putea fi utilizate.

Care este diferența dintre adresa logică și adresa fizică?

Adresă logică vs adresa fizică

Adresa logică este adresa la care apare un articol din perspectiva unui program de aplicație care execută. Adresa fizică este o adresă de memorie care este reprezentată sub forma unui număr binar pe circuitul magistralei de adrese pentru a permite magistralei de date să acceseze o anumită celulă de stocare a memoriei principale sau un registru de memorie mapat I /O dispozitiv.
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ă.

Rezumat – Adresă logică versus adresa fizică

Diferența dintre adresa logică și adresa fizică este că CPU generează o adresă logică atunci când programul se execută, în timp ce adresa fizică este o locație în unitatea de memorie. Toate adresele logice trebuie mapate în adrese fizice înainte ca MMU să le poată utiliza. Adresele fizice și logice sunt aceleași atunci când se utilizează legarea adresei de timp de compilare și de încărcare, dar diferă când se utilizează legarea de adrese de timp de execuție.

Recomandat: