Най- ключов диференциалe между логически адрес и физически адрес е това CPU генерира логичен адрес по време на изпълнение на програмата, докато физическият адрес е място в паметта.
Казано по-просто, CPU генерира логическия адрес или виртуален адрес. От гледна точка на програма, която се изпълнява, елемент изглежда се намира на адреса, предоставен от логическия адрес. Единицата с памет наблюдава физическия адрес. Освен това, той позволява достъп до определена клетка памет в основната памет чрез шината на данните.
1. Преглед и ключова разлика
2. Какво е логически адрес
3. Какво е физически адрес
4. Паралелно сравнение - логически адрес срещу физически адрес в таблична форма
5. Резюме
CPU генерира логичен адрес. От гледна точка на програма, която се изпълнява, елемент изглежда се намира на адреса, предоставен от логическия адрес. Приложните програми, които работят на компютъра, не виждат физическите адреси. Те винаги работят с помощта на логическите адреси. Логическото адресно пространство е набор от логически адреси, програма генерира. Необходимо е да се картографират логическите адреси към физическите адреси, преди да ги използвате. Хардуерното устройство за управление на паметта (MMU) управлява този процес на картографиране.
MMU следва няколко схеми за картографиране. В най-простата схема на картографиране стойността в регистъра за преместване се добавя към всеки логически адрес, генериран от приложни програми, преди да ги изпратите в паметта. Има и някои други сложни методи за генериране на картографирането. Обвързването на адреса (т.е. разпределяне на инструкции и данни в адреси на паметта) може да се случи в три различни времена.
Фигура 01: Логически и физически адрес
Първо, това може да се случи по време на компилиране, ако действителните местоположения в паметта са известни предварително и това би генерирало абсолютния код за времето на компилиране. Това може да се случи и по време на зареждане, ако местата на паметта не са известни предварително. За това трябва да се генерира повторно локализиращ код по време на компилиране. Освен това обвързването на адреса може да се случи по време на изпълнение. Това изисква хардуерна поддръжка за картографиране на адреси. При свързване на адреса за време и време за зареждане, логическите и физическите адреси са еднакви. Но тази процедура е различна, когато свързването на адреса се случи във времето за изпълнение.
Единицата с памет наблюдава физическия или реалния адрес. Тя позволява на шината за данни да получи достъп до определена клетка с памет в основната памет. MMU картографира логическия адрес към физическия адрес. Например, използвайки най-простата схема за картографиране, която добавя регистъра за преместване (приемете, че стойността в регистъра е y) стойност към логическия адрес, логически адрес варира от 0 до x, ще се преобразува във физически диапазон на адрес y до x + ш.
Освен това, това се нарича и физическото адресно пространство на тази програма. Всички логически адреси трябва да бъдат картографирани във физически адреси, преди да могат да бъдат използвани.
Логически адрес срещу физически адрес | |
Логически адрес е адресът, на който изглежда, че даден обект се намира в перспективата на изпълняваща приложна програма. | Физическият адрес е адрес на паметта, който е представен под формата на двоичен номер в схемата на адресната шина, за да може шината за данни да получи достъп до особен клетка за съхранение на основната памет или регистър на паметта, картографиран I / O устройство. |
видимост | |
Потребителят може да види логическия адрес на програма. | Потребителят не може да гледа физическия адрес на програмата. |
Метод на генериране | |
CPU генерира логическия адрес. | MMU изчислява физическия адрес. |
Достъпност | |
Потребителят може да използва логическия адрес за достъп до физическия адрес. | Потребителят не може директно да получи достъп до физически адрес. |
Разликата между логически адрес и физически адрес е, че процесорът генерира логичен адрес при изпълнение на програмата, докато физическият адрес е място в паметта. Всички логически адреси трябва да бъдат картографирани във физически адреси, преди MMU да може да ги използва. Физическите и логическите адреси са едни и същи, когато се използва свързване на адрес за време на компилиране и време за зареждане, но те се различават при използване на обвързване на адрес за време за изпълнение.
1. „Логически адрес.“ Уикипедия, Фондация Уикимедия, 30 април 2018 г. Достъпно тук
2. "Физически адрес." Уикипедия, Фондация Уикимедия, 30 април 2018 г. Достъпно тук
1.'MMU принцип 'от Andre Schieleit - Собствена работа, (Public Domain) чрез Commons Wikimedia