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

ключевой дифференциалМежду логическим адресом и физическим адресом CPU генерирует логический адрес во время выполнения программы, тогда как физический адрес - это место в блоке памяти.

Проще говоря, CPU генерирует логический адрес или виртуальный адрес. С точки зрения программы, которая работает, элемент, кажется, расположен по адресу, предоставленному логическим адресом. Блок памяти отслеживает физический адрес. Кроме того, он позволяет получить доступ к определенной ячейке памяти в основной памяти по шине данных.

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое логический адрес
3. Что такое физический адрес
4. Сравнение бок о бок - логический адрес против физического адреса в табличной форме
5. Резюме

Что такое логический адрес?

CPU генерирует логический адрес. С точки зрения программы, которая работает, элемент, кажется, расположен по адресу, предоставленному логическим адресом. Прикладные программы, работающие на компьютере, не видят физические адреса. Они всегда работают с использованием логических адресов. Логическое адресное пространство - это набор логических адресов, которые генерирует программа. Необходимо сопоставить логические адреса с физическими адресами перед их использованием. Аппаратное устройство управления памятью (MMU) управляет этим процессом отображения.

Схемы отображения MMU

MMU следует нескольким схемам отображения. В простейшей схеме отображения значение в регистре перемещения добавляется к каждому логическому адресу, созданному прикладными программами, перед отправкой их в память. Есть также некоторые другие сложные методы для генерации отображения. Привязка адресов (то есть распределение инструкций и данных в адресах памяти) может происходить в три разных момента времени..

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

Во-первых, это может произойти во время компиляции, если фактические области памяти известны заранее, и это сгенерирует абсолютный код во время компиляции. Это также может произойти во время загрузки, если места памяти заранее не известны. Для этого перекомпилируемый код должен быть сгенерирован во время компиляции. Кроме того, привязка адреса может происходить во время выполнения. Это требует аппаратной поддержки для сопоставления адресов. Во время компиляции и во время загрузки привязки адресов логические и физические адреса совпадают. Но эта процедура отличается, когда привязка адреса происходит во время выполнения.

Что такое физический адрес?

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

Кроме того, это также называется физическим адресным пространством этой программы. Все логические адреса должны быть сопоставлены с физическими адресами, прежде чем их можно будет использовать.

В чем разница между логическим адресом и физическим адресом?

 Логический адрес против физического адреса

Логический адрес - это адрес, по которому элемент находится в перспективе выполняемой прикладной программы.. Физический адрес - это адрес памяти, представленный в виде двоичного числа в схеме шины адреса, чтобы позволить шине данных получить доступ к конкретный ячейка памяти основной памяти или регистр устройства ввода-вывода с отображенной памятью.
видимость
Пользователь может просматривать логический адрес программы. Пользователь не может просматривать физический адрес программы.
Метод генерации
CPU генерирует логический адрес. MMU вычисляет физический адрес.
доступность
Пользователь может использовать логический адрес для доступа к физическому адресу. Пользователь не может напрямую получить доступ к физическому адресу.

Сводка - логический адрес против физического адреса

Разница между логическим адресом и физическим адресом заключается в том, что ЦП генерирует логический адрес при выполнении программы, тогда как физический адрес - это место в блоке памяти. Все логические адреса должны быть сопоставлены с физическими адресами, прежде чем MMU сможет их использовать. Физические и логические адреса одинаковы при использовании привязки адреса времени компиляции и времени загрузки, но они отличаются при использовании привязки адреса времени выполнения.

Ссылка:

1. «Логический адрес». Википедия, Фонд Викимедиа, 30 апреля 2018 г. Доступно здесь 
2. «Физический адрес». Википедия, Фонд Викимедиа, 30 апреля 2018 г. Доступно здесь 

Изображение предоставлено:

1. «Принцип MMU» Андре Шилеит - собственная работа, (общественное достояние) через Wikimedia Commons