Разлика между логически адрес и физически адрес

Съдържание:

Разлика между логически адрес и физически адрес
Разлика между логически адрес и физически адрес

Видео: Разлика между логически адрес и физически адрес

Видео: Разлика между логически адрес и физически адрес
Видео: Юридический и физический адрес предприятия (юридична та фізична адреса) 2024, Юли
Anonim

Ключовата разлика между логическия адрес и физическия адрес е, че процесорът генерира логически адрес по време на изпълнение на програмата, докато физическият адрес е място в паметта.

С прости думи, процесорът генерира логически адрес или виртуален адрес. От гледна точка на изпълнявана програма изглежда, че даден елемент се намира на адреса, предоставен от логическия адрес. Блокът памет наблюдава физическия адрес. Освен това позволява достъп до определена клетка от паметта в основната памет чрез шината за данни.

Разлика между логически адрес и физически адрес - Резюме на сравнението
Разлика между логически адрес и физически адрес - Резюме на сравнението
Разлика между логически адрес и физически адрес - Резюме на сравнението
Разлика между логически адрес и физически адрес - Резюме на сравнението

Какво е логически адрес?

CPU генерира логически адрес. От гледна точка на изпълнявана програма изглежда, че даден елемент се намира на адреса, предоставен от логическия адрес. Приложните програми, които се изпълняват на компютъра, не виждат физическите адреси. Те винаги работят с логическите адреси. Логическото адресно пространство е набор от логически адреси, генерирани от програма. Необходимо е да картографирате логическите адреси към физически адреси, преди да ги използвате. Устройството за управление на паметта на хардуерното устройство (MMU) обработва този процес на картографиране.

Схеми за картографиране на MMU

MMU следва няколко схеми за картографиране. В най-простата схема за картографиране стойността в регистъра за преместване се добавя към всеки логически адрес, произведен от приложни програми, преди да ги изпрати в паметта. Има и някои други сложни методи за генериране на картографирането. Свързването на адрес (т.е. разпределяне на инструкции и данни в адреси на паметта) може да се случи в три различни момента.

Разлика между логически адрес и физически адрес
Разлика между логически адрес и физически адрес
Разлика между логически адрес и физически адрес
Разлика между логически адрес и физически адрес

Фигура 01: Логически и физически адрес

Първо, това може да се случи по време на компилиране, ако действителните местоположения на паметта са известни предварително, и това ще генерира абсолютния код по време на компилиране. Това може да се случи и по време на зареждане, ако местоположенията на паметта не са известни предварително. За тази цел по време на компилиране трябва да се генерира пренасочващ код. Освен това обвързването на адреса може да се случи по време на изпълнение. Това изисква хардуерна поддръжка за картографиране на адреси. При обвързването на адреса по време на компилиране и време на зареждане логическите и физическите адреси са еднакви. Но тази процедура е различна, когато обвързването на адреса става по време на изпълнение.

Какво е физически адрес?

Паметта спазва физическия адрес или реалния адрес. Той позволява на шината за данни да има достъп до определена клетка от паметта в основната памет. MMU преобразува логическия адрес във физическия адрес. Например, използвайки най-простата схема за картографиране, която добавя стойността на регистъра за преместване (да приемем, че стойността в регистъра е y) към логическия адрес, диапазонът на логически адрес от 0 до x ще се картографира към диапазон на физически адрес y до x+ г.

Освен това, това също се нарича физическо адресно пространство на тази програма. Всички логически адреси трябва да бъдат картографирани във физически адреси, преди да могат да бъдат използвани.

Каква е разликата между логически адрес и физически адрес?

Логически адрес срещу физически адрес

Логическият адрес е адресът, на който изглежда, че се намира даден елемент от гледна точка на изпълняваща се приложна програма. Физическият адрес е адрес на паметта, който е представен под формата на двоично число в схемата на адресната шина, за да позволи на шината за данни достъп до определена клетка за съхранение на основната памет или регистър на паметта, картографирана I /O устройство.
Видимост
Потребителят може да види логическия адрес на програма. Потребителят не може да види физическия адрес на програмата.
Метод на генериране
CPU генерира логическия адрес. MMU изчислява физическия адрес.
Достъпност
Потребителят може да използва логическия адрес за достъп до физическия адрес. Потребителят няма директен достъп до физически адрес.

Резюме – Логически адрес срещу физически адрес

Разликата между логическия адрес и физическия адрес е, че процесорът генерира логически адрес, когато програмата се изпълнява, докато физическият адрес е място в паметта. Всички логически адреси трябва да бъдат картографирани във физически адреси, преди MMU да може да ги използва. Физическият и логическият адрес са едни и същи, когато се използва обвързване с адреси по време на компилиране и време на зареждане, но се различават, когато се използва обвързване на адреси по време на изпълнение.

Препоръчано: