Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_i_otvety_MPT.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.94 Mб
Скачать

Способы адресации операндов и команд

В адресной части команды находится код адресации (КАД), в котором могут указываться адреса операндов, значение операнда, а также адрес следующей команды (адрес перехода или передачи управления). Большинство команд МП работает с кодами данных (операндами). Одни команды требуют входных операндов (одного или двух), другие выдают выходной операнд. Входные операнды называются часто операндами-источниками, выходной – операндом-приемником. Коды операндов могут находиться во внутренних регистрах МП, памяти, регистрах устройств ввода/вывода. Существуют различные методы задания местоположения операндов в командах. Они называются способами адресации.

Способ адресации – это способ получения микропроцессором адреса операнда или перехода на основании информации из адресной части команды. Различают способы адресации операндов и адресации команд.

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

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

Регистровая адресация (по-другому, прямая регистровая). Это разновидность прямой адресации, когда в адресной части команды указывается код (номер или имя) внутреннего регистра МП, в котором размещается операнд.

Регистровая адресация является наиболее простой и быстрой. Так как количество внутренних регистров МП ограничено, то для задания номера регистра требуется всего несколько бит (обычно от 3 до 8). В связи с тем, что операции с регистровыми операндами реализуются операционным блоком МП без обращения к памяти, то они выполняются быстрее других типов команд. Однако объем регистрового запоминающего устройства ограничен (несколько десятков или сотен байт), поэтому необходимо периодическое обращение к системной памяти для сохранения результатов и получения новых операндов.

Непосредственная адресация. В этом случае операнд (только входной) непосредственно содержится в поступившей команде, размещаясь за кодом операции. Собственно адресация в данном случае отсутствует, и при обращении к операнду нет необходимости дополнительно обращаться к памяти. Этот способ адресации широко используется для введения различных констант, используемых при обработке данных. Недостатком непосредственной адресации является увеличение размера команды на число байт заданного операнда. Из-за этого возрастает объем памяти программ и время выборки команды.

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

Косвенная адресация – способ адресации, при котором адрес в команде является указателем ячейки, которая содержит исполнительный адрес операнда в памяти. Обычно для указания адреса используется внутренний регистр МП (один из РОН).

Косвенно-регистровая адресация. Операнд выбирается из ячейки памяти, адрес которой содержится в регистре МП (рис. 7.2).

Рис.7.2. Косвенно-регистровая адресация

Косвенно-регистровая адресация намного эффективнее прямой адресации с точки зрения затрачиваемых разрядов для представления адреса, так как в этом случае в адресной части команды указывается только номер регистра РОН, а он много короче полного адреса операнда в памяти, поэтому размер команды оказывается небольшим (как при регистровой адресации). Однако косвенно-регистровая адресация требует предварительной загрузки регистра косвенным адресом памяти и на это расходуется дополнительное время. Косвенно-регистровая адресация очень удобна для организации циклов в программах.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]