Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 2


СПОСОБЫ АДРЕСАЦИИ - часть 2


Обычно он используется для хранения различных констант.

Прямая адресация


Исполнительный адрес совпадает с адресной частью команды, т.е. адресный код совпадает с исполнительным адресом (рис. 5.4). Этот способ был основным в первых ЭВМ. В настоящее время используется в комбинации с другими способами.

Достоинства: быстрота исполнения и простота реализации. Недостатком является длинная адресная часть команды.

Относительная адресация, или базирование

Исполнительный адрес (АИ) определяется как сумма адресного кода команды (АК) и некоторого числа АБ, называемого базовым адресом. АИ = АБ + АК (рис. 5.5).

 

Для хранения АБ используются базовые регистры. Это или специальные внутренние регистры процессора и сверхоперативной памяти, или специально выделенные ячейки ОП с короткими начальными адресами. В команде выделяется поле "B" для указания номера базового регистра. Число разрядов в базовом адресе АБ выбирается таким, чтобы можно было адресовать любую ячейку ОП. Адресный код АК самой команды имеет мало разрядов и используется для представления лишь сравнительно короткого "смещения" (D). Это смещение определяет положение операнда относительно начала массива, задаваемого базовым адресом АБ (рис. 5.5, а).

Возможны два варианта формирования АИ при базировании.

  • Метод суммирования (рис. 5.5, б).

Этот метод прост и позволяет задавать в качестве АБ любой адрес ОП. Недостатком является то, что на операцию суммирования уходит время.

  • Метод совмещения (рис.5.5, в).

В этом случае АБ содержит старшие, а адресный код АК младшие разряды исполнительного адреса АИ, которые в регистре адреса ОП объединяются (операция конкатенации). При таком методе формирования АИ базовый адрес АБ может задавать не любую ячейку, а только ту, адрес которой содержит нули в младших разрядах, соответствующих смещению. Формирование адреса осуществляется быстрее, так как не требуется операции суммирования.

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


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



Книжный магазин