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

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002052.docx

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

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

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

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

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


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

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

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

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

показана на рисунке 5.

 

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

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

 

Рис.5.

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

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

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

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

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

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

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