Материал: А. Д. Чередов, А. Н. Мальчуков

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
производится фак- тическое обращение. В современных ЭВМ адресный код, как правило, не совпадает с исполнительным адресом. Таким образом, способ адресации можно определить как способ формирования исполнительного адреса операнда АИ по адресному коду команды АК.

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

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

Адресация операнда в команде может быть явной или неявной. При явной адресации в команде есть поле адреса операнда, в котором задается адресный код АК. Большинство методов адресации являются явными.

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

Способы формирования адресов ячеек памяти (АИ
) можно разде- лить на абсолютные и относительные.

      1. 1   ...   25   26   27   28   29   30   31   32   ...   76

Абсолютные способы формирования исполнительного адреса


Абсолютные способы формирования предполагают, что двоичный код адреса ячейки памяти (АИ) может быть извлечен целиком из адрес- ного поля команды или из какой-либо другой ячейки (регистра), ника- ких преобразований над кодом адреса не производится.

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

  1. к памяти.



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


При этом способе операнд располагается в адресном поле команды. Обращение к регистровой памяти (РП) или ОП за операндом не произ- водится (R= 0), он выбирается вместе с командой. Таким образом, уменьшается время выполнения операции, сокращается объем памяти. Непосредственная адресация удобна для задания констант, длина кото- рых меньше или равна длине адресного поля команды.

Прямая адресация операндов


При этом способе (рис. 2.19) адресации обращение за операндом в РП или ОП производится по адресному коду в поле команды (R = 1), т.е. исполнительный адрес операнда совпадает с адресным кодом ко- манды (АИ = АК).

РК

а


АИ РП







Операнд






mРП


mР







Операнд






РП

б

МРП


АИ ОП

mОП

ОП


МОП


Рис. 2.19. Схема прямой адресации:

а– к регистровой памяти; б– к основной памяти

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

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


При этом способе адресный код команды указывает адрес ячейки (регистра) памяти, в которой находится не сам операнд, а лишь адрес операнда, называемый указателем операнда. Адресация к операнду через цепочку указателей (косвенных адресов) называется косвенной (R 2).

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

Косвенная адресация также широко используется в ЭВМ, имеющих короткое машинное слово, для преодоления ограничений короткого формата. В этом случае первый указатель должен располагаться в РП (рис. 2.20).


Адрес указателя

.

.

.

Адрес операнда

.

.

.



РП
ОП АиОП





М =2mРП

оп

АиОП=mРП

.

.

.

Операнд

.

.

.



Рис. 2.20. Схема косвенной адресации

      1. Относительные способы формирования исполнительных адресов ячеек памяти


Относительные способы формирования АИ предполагают, что двоичный код адреса ячейки памяти образуется из нескольких состав- ляющих: Б – код базы, И – код индекса, С – код смещения, используе- мых в сочетаниях (Б и С), (И и С), (Б, И и С).

При относительной адресации применяются два способа вычисле- ния адреса АИ:
Источник: https://files.student-it.ru/previewfile/151041