Різниця між логічною адресою та фізичною адресою

The ключовий диференцe між логічною адресою та фізичною адресою ЦП генерує логічну адресу під час виконання програми, тоді як фізична адреса - це місце в блоці пам'яті.

Простіше кажучи, процесор генерує логічну адресу або віртуальну адресу. З точки зору програми, яка працює, елемент, здається, розташований за адресою, наданою логічною адресою. Блок пам'яті спостерігає за фізичною адресою. Крім того, це дозволяє отримати доступ до певної комірки пам'яті в основній пам'яті за допомогою шини даних.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке логічна адреса
3. Що таке фізична адреса
4. Порівняльне порівняння - логічна адреса та фізична адреса в табличній формі
5. Підсумок

Що таке логічна адреса?

ЦП генерує логічну адресу. З точки зору програми, яка працює, елемент, здається, розташований за адресою, наданою логічною адресою. Прикладні програми, що працюють на комп'ютері, не бачать фізичних адрес. Вони завжди працюють з використанням логічних адрес. Логічний адресний простір - це набір логічних адрес, що створює програма. Необхідно зіставити логічні адреси до фізичних адрес перед їх використанням. Блок управління пам'яттю пристрою (MMU) обробляє цей процес відображення.

Схеми картування MMU

MMU дотримується декількох схем картографування. У найпростішій схемі відображення значення в регістрі переміщення додається до кожної логічної адреси, що створюється прикладними програмами, перш ніж надсилати їх у пам'ять. Існують також деякі інші складні методи генерування відображення. Прив’язка адреси (тобто розподіл інструкцій та даних у адреси пам'яті) може відбуватися у три різні часи.

Малюнок 01: Логічна та фізична адреса

По-перше, це може статися за час компіляції, якщо фактичні місця пам'яті відомі заздалегідь, і це генерує абсолютний код за час компіляції. Це також може статися під час завантаження, якщо місця пам'яті не відомі заздалегідь. Для цього потрібно повторно розміщувати код під час компіляції. Крім того, прив'язка адреси може статися під час виконання. Для цього потрібна апаратна підтримка для відображення адрес. У прив'язці адреси часу та часу завантаження, логічні та фізичні адреси однакові. Але ця процедура відрізняється, коли прив'язка адреси відбувається у час виконання.

Що таке фізична адреса?

Блок пам'яті спостерігає фізичну або реальну адресу. Це дозволяє шині даних отримати доступ до певної комірки пам'яті в основній пам'яті. MMU позначає логічну адресу на фізичну адресу. Наприклад, використовуючи найпростішу схему відображення, яка додає до регістру переміщення (припустимо, що значення в регістрі є y) значення логічної адреси, логічна адреса коливається від 0 до x, буде відображатись у діапазон фізичної адреси y до x + у.

Крім того, це також називається фізичним адресним простором цієї програми. Усі логічні адреси перед тим, як вони можуть бути використані, потрібно зіставити у фізичні адреси.

Яка різниця між логічною адресою та фізичною адресою?

 Логічна адреса проти фізична адреса

Логічна адреса - це адреса, за якою елемент, як видається, знаходиться з точки зору виконавчої програми. Фізична адреса - це адреса пам'яті, яка представлена ​​у вигляді двійкового числа на схемі шини адреси, щоб дозволити шині даних отримати доступ до зокрема комірка пам'яті основної пам'яті або реєстр пам'яті, відображений на пристрої вводу / виводу.
Видимість
Користувач може переглянути логічну адресу програми. Користувач не може переглянути фізичну адресу програми.
Спосіб генерації
ЦП генерує логічну адресу. MMU обчислює фізичну адресу.
Доступність
Користувач може використовувати логічну адресу для доступу до фізичної адреси. Користувач не може безпосередньо отримати доступ до фізичної адреси.

Підсумок - Логічна адреса та фізична адреса

Різниця між логічною адресою та фізичною адресою полягає в тому, що процесор генерує логічну адресу при виконанні програми, тоді як фізична адреса - це місце в блоці пам'яті. Всі логічні адреси потрібно зіставити у фізичні адреси, перш ніж MMU зможе їх використовувати. Фізичні та логічні адреси однакові при використанні прив'язки адреси часу компіляції та часу завантаження, але вони відрізняються при використанні прив'язки адрес часу виконання.

Довідка:

1. "Логічна адреса." Wikipedia, Фонд Вікімедіа, 30 квітня 2018. Доступний тут 
2. "Фізична адреса". Wikipedia, Фонд Вікімедіа, 30 квітня 2018. Доступний тут 

Надано зображення:

1. 'Принцип MMU' від Andre Schieleit - Власна робота, (Public Domain) через Wikimedia Commons