Вопрос № 16 Адресность команды, Понятие способов адресации и их влияние на формат команды. Основные способы адресации

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

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

Исполнительный адрес Аисп - адрес операнда в памяти (М) или в блоке РОНов (АХ, ВХ, СХ, DX и др.). Аисп - это целое двоичное число без знака, число разрядов n которого определяет возможное число ячеек памяти, к которым можно обращаться.

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

Прямая адресация. Физический адрес операнда совпадает с кодом в адресной части команды (рис. 11.4). Формальное обозначение:

Операндi = (Аi),

где Аi – код, содержащийся в i-м адресном поле команды. Вопрос № 16 Адресность команды, Понятие способов адресации и их влияние на формат команды. Основные способы адресации - student2.ru

Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд (рис. 11.5):

Операндi = Аi

Непосредственная адресация позволяет повысить скорость выполнения операции, так как в этом случае вся команда, включая операнд, считывается из памяти одновременно и на время выполнения команды хранится в процессоре в специальном регистре команд (РК). Однако при использовании непосредственной адресации появляется зависимость кодов команд от данных, что требует изменения программы при каждом изменении непосредственного операнда. Вопрос № 16 Адресность команды, Понятие способов адресации и их влияние на формат команды. Основные способы адресации - student2.ru

Косвенная адресация (рис. 11.6). Адресная часть команды указывает

адрес ячейки памяти (рис. 11.6,а) или номер регистра (рис. 11.6,б), в которых содержится адрес операнда:

Операндi = ((Аi))

Применение косвенной адресации операнда из оперативной памяти

при хранении его адреса в регистровой памяти существенно сокращает длину поля адреса, одновременно сохраняя возможность использовать

для указания физического адреса полную разрядность регистра.

Недостаток этого способа – необходимо дополнительное время для

чтения адреса операнда. Вместе с тем он существенно повышает гибкость

программирования. Изменяя содержимое ячейки памяти или регистра,

через которые осуществляется адресация, можно, не меняя команды в

программе, обрабатывать операнды, хранящиеся по разным адресам.

Косвенная адресация не применяется по отношению к операндам,

находящимся в регистровой памяти. Вопрос № 16 Адресность команды, Понятие способов адресации и их влияние на формат команды. Основные способы адресации - student2.ru

Относительная адресация. Этот способ используется тогда, когда па-

мять логически разбивается на блоки, называемые сегментами. В этом

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

операнда определяется как сумма базового адреса и смещения относи-

тельно этой базы:

Операндi = (базаi + смещениеi)

Для задания базового адреса и смещения могут применяться ранее

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

Рассмотрим два примера.

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

2. Первая часть адресного поля команды также определяет номер базового регистра, а вторая содержит номер регистра, в котором находится смещение (рис. 11.8). Такой способ адресации чаще всего называют базово-индексным.

Главный недостаток относительной адресации – большое время вычисления физического адреса операнда. Но существенное преимущество этого способа адресации заключается в возможности создания перемещаемых программ – программ, которые можно размещать в различных частях памяти без изменения команд программы. То же относится к программам, обрабатывающим по единому алгоритму информацию, расположенную в различных областях ЗУ. В этих случаях достаточно изменить содержимое базового адреса начала команд программы или массива данных, а не модифицировать сами команды. По этой причине относительная адресация облегчает распределение памяти при составлении сложных программ и широко используется при автоматическом распределении памяти в ультипрограммных вычислительных системах.

Вопрос № 16 Адресность команды, Понятие способов адресации и их влияние на формат команды. Основные способы адресации - student2.ru


Наши рекомендации