Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стековая архитектура.docx
Скачиваний:
7
Добавлен:
01.08.2019
Размер:
330.14 Кб
Скачать

Базовая индексная адресация со смещением и масштабированием.

Эффективный адрес формируется сложением масштабированного индекса, базы и смещения d8 или d32.

Тема 5. Средства управления памятью в универсальных микропроцессорах

1. Управление памятью в универсальных микропроцессорах Линейная и сегментная адресации. Если число разрядов адреса превышает длину информационного слова, возникают задачи, в какой форме поместить такой адрес в регистр и каким образом осуществлять вычисление адреса? Для решения этих задач используют два способа адресации: линейную и сегментную адресации.

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

множество сегментов. Пространство, разбитое на такие сегменты, называется сегментированным пространством адресов. Начальный адрес сегмента называется базовым. За каждым сегментом закреплен соответствующий номер. Порядок разбиения пространства может быть произвольным, но, после того как он установлен, адрес можно представить с помощью номера сегмента и некоторого смещения внутри сегмента. При сегментной адресации такое разбиение позволяет представить адрес в виде двух целочисленных величин - номера сегмента и смещения, т.е. можно использовать два регистра меньшей разрядности, хранящих номера сегментов и значения смещений. Таким образом, вычисление адреса в принципе сводится только к вычислению смещения, т.е. для вычисления адреса можно воспользоваться тем же АЛУ, что и для обработки данных, не прибегая к помощи специальных регистров и сумматоров повышенной разрядности, что значительно упрощает структуру процессора.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]