Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Org_EVM-_lektsionnaya_knizhka.docx
Скачиваний:
16
Добавлен:
18.11.2019
Размер:
2.63 Mб
Скачать

2.5.2 Регистровая адресация

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

Рисунок 2.5 - Порядок выборки операндов при регистровой адресации: R1- адрес 1-го операнда, R2- адрес второго операнда

      1. Косвенная адресация

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

Рисунок 2.6 - Порядок выборки операнда при косвенной адресации

Команда с косвенной адресацией является укороченной, поэтому часто используется в микропроцессорах и микроконтроллерах, имеющих малую разрядность. Она позволяет при малой длине разрядной сетки перекрывать всё адресное пространство оперативной памяти.

      1. Непосредственная адресация

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

Непосредственный операнд может иметь любую длину (байт, слово, 2-е слово). Этим и определяется длина команды. Формат команды при непосредственной адресации следующий:

КОП

Операнд

      1. Неявная адресация

Неявная (подразумеваемая) адресация является модификацией регистровой адресации. В команде нет явных указаний на адреса операндов, они подразумеваются, поскольку заключены непосредственно в коде операции команды. Такая команда является самой короткой. Используется в простейших микропроцессорах и микроконтроллерах.

      1. Относительная (базовая) адресация

Адрес операнда определяется как сумма содержимого адресного поля команды и некоторого числа, называемого базовым адресом. Базовый адрес является косвенным. Для указания его адреса в команде предусмотрено поле В. Ещё одно поле команды, в котором находится адрес операнда, называют смещением.

Рисунок 2.7 - Формирование адреса операнда при относительной адресации

Полученный адрес EA=[B]+D называется эффективным или исполнительным адресом. Прямые скобки при B ([B]) – означают, что первое слагаемое берется по адресу, указанному в поле В. При выборке некоторого участка данных базовый адрес является неизменным. Адресация ячеек памяти относительно базового адреса осуществляется полем смещения.

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

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