Понятие способа адресации


Способ адресации – это правила записи в команде логического адреса и правила вычисления на его основе исполнительного адреса. Применение того или иного способа адресации во многом зависит от требований к размещению программы в основной памяти.

Специализированные ЭВМ имеют фиксированный набор программ. Размещение программ в основной памяти можно спланировать заранее. Основной целью кодирования адресов является сокращение длины команды.

Набор программ для ЭВМ общего назначения заранее не известен. Предварительно спланировать размещение программ в памяти невозможно. Кодирование адресов должно обеспечить размещение программы в любом месте памяти без внесения изменений в программу. Это свойство называют перемещаемостью программы. Другими словами, изменение результата вычисления АИ=F(АЛ) должно достигаться без изменения логического адреса.

Дадим краткое описание наиболее используемых способов адресации.

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

Косвенная адресация. В команде указывается адрес, по которому хранится исполнительный адрес. Правило декодирования: АИ = (АЛ). Поддерживается перемещаемость программ. При хранении исполнительного адреса в основной памяти длина логического адреса максимальна. Для получения исполнительного адреса необходимо дополнительное обращение в память. При хранении исполнительного адреса в регистре общего назначения сокращается длина логического адреса и время получения исполнительного адреса.

Относительная адресация

Относительная адресация в различных вариантах реализации является основной в ЭВМ общего значения и изначально ориентирована на поддержку перемещаемости программ. Суть относительной адресации показана на рисунке 5.

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

При вычислении исполнительного адреса логический адрес рассматривается как смещение D от базы АИ = База + D.

 

Рис.5.

Изменение базы при неизменных логических адресах в командах позволяет “привязать” программу к любому месту основной памяти.

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

Разновидностью относительной адресации является индексная адресация:

АИ = База + Индекс + D.

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

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

Операнд записывается непосредственно в команде на месте логического адреса. Декодирование логического адреса не требуется, так как Операнд=АЛ. Непосредственная адресация применяется для записи констант.




Дата добавления: 2019-02-08; просмотров: 669;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.