Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Адресация памяти



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

Прямая адресация объединяет в одном слове код команды и исполнительный адрес, что позволяет команде с обращением к памяти выполняться за две машинные фазы: выборки и выполнения. Местоположение операнда команды определяет вид операнда: регистр-источник или регистр-приемник. Обычно прямой адресации доступны только две страницы (нулевая и первая) статического или динамического ОЗУ.

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

Преобразование виртуальных адресов в реальные выполняется при каждом обращении к памяти в режиме пользователя. Для этого в микропроцессоре должны иметься соответствующие аппаратные средства, связывающие ЦП и память. Наиболее эффективные аппаратные средства имеют в своем составе регистры базы и границы, позволяющие выполнять преобразование и проверку на границу. На рис. 13.3 показана характерная структура такой аппаратуры.

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





Дата публикования: 2014-10-19; Прочитано: 1383 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...