Организация ЭВМ и систем

buy cards

Относительная адресация ячейки ОП Базирование способом суммирования


В команде адресный код Ак разделяется на две составляющие: Aб - ад­рес регистра в регистровой памяти , в котором хранится база Б (базовый ад­рес); С - код смещения относительно базового адреса (рис. 2.7).

Рис. 2.7. Схема формирования относительного адреса способом суммирования кодов базы и смещения: СМ - сумматор; РАОП - регистр адреса ОП;

Б - база (базовый адрес); С - смещение; Aб- адрес регистра базы;

nб - длина кода базы; nc - длина поля смешения

Для определения максимальной емкости ОП, адресуемой с помощью ба­зирования, способом суммирования, определим длину кода исполнительного адреса

Так как nб

= mрп и обычно больше, чем Пс, то справедливо следующее выражение:

т. е. максимальная адресуемая емкость ОП определяется разрядностью РП. Длина NаБ

поля кода команды, задающего адрес регистра базы Aб, опреде­ляется через емкость РП Мрп, по формуле

 

Таким образом, можно определить количество NаБ

двоичных разрядов в адресном поле команды, необходимое для формирования Аи с размещени­ем базы в РП:

Приведенные выражения позволяют определить числовые значения па­раметров относительной адресации (базирование способов суммирования). Для того, чтобы увеличить Моп, необходимо выполнить условие:

С помощью метода относительной адресации удается получить так на­зываемый перемещаемый программный модуль, который одинаково выпол­няется процессором независимо от адресов, в которых он расположен. На­чальный адрес программного модуля (база) загружается, при входе в модуль, в базовый регистр. Все остальные адреса программного модуля формируются через смещение относительно начального адреса (базы) модуля. Таким обра­зом, одна и та же программа может работать с данными, расположенными в любой области памяти, без перемещения данных и без изменения текста про­граммы только за счет изменения содержания всего одного базового регист­ра. Однако время выполнения каждой операции при этом возрастает.




- Начало -  - Назад -  - Вперед -