Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FoxPro / Методички_по_БД / ОрганизациЭВМ и систем_Учеб_пособие.doc
Скачиваний:
150
Добавлен:
11.05.2015
Размер:
2.4 Mб
Скачать

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

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

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

max{ nБ; nC}.

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

MОП==,

т. е. максимальная адресуемая емкость ОП определяется разрядностью РП. Длина поля кода команды, задающего адрес регистра базы АБ, определяется через емкость РП MРПпо формуле

³log2MРП.

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

log2МРП+ nС.

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

Для того, чтобы увеличить МОП, необходимо выполнить условие:³, т.е mРП³log2MРП+ nС.

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

Относительная адресация с совмещением составляющих аи

Для увеличения емкости адресной ОП (МОП) без увеличения длины адресного поля командыможно использовать для формирования исполнительного адреса совмещение (конкатенацию) кодов базы и смещения (рис. 2.8).

При совмещении кодов базы и смещения

.

Таким образом, MОП==.

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

Индексная адресация

Для работы программ с массивами, требующими однотипных операций над элементами массива, удобно использовать индексную адресацию. Схема индексной адресации аналогична базированию путем суммирования (см. рис. 2.7). В этом случае адрес i-го операнда в массиве определяется как сумма начального адреса массива (задаваемого полем смещения С) и индекса И, записанного в одном из регистров РП, называемом теперь индексным регистром. Адрес индексного регистра задается в команде полем адреса индекса — АИН(аналогично АБ).

В каждом i-м цикле содержимое индексного регистра изменяется на величину постоянную (часто равную 1). Использование индексной адресации значительно упрощает программирование циклических алгоритмов.

Для эффективной работы при относительной адресации применяется комбинированная индексация с базированием, при которой адрес операнда вычисляется как сумма трех величин (рис. 2.9):

АИОП = Б + И + С.

Соседние файлы в папке Методички_по_БД