Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к УК и ПУСТ 1-17 вопрос.docx
Скачиваний:
5
Добавлен:
08.09.2019
Размер:
76.24 Кб
Скачать

13. Пояснить способы адресации команд и данных: непосредственная, прямая, косвенная, относительная адресация

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

В адресную часть команды записан исполнительный адрес (рис.1). Количество адресов, которое можно получить при данном типе адресации, зависит от длины адресной части. Например, если под адресную часть отведено 12 разрядов, то адресный диапазон процессора при прямой адресации Апрц= 212 = 4096 адресов.

Прямая адресации используется в ЭВМ в комбинации с другими типами адресации.

Для определения адресного диапазона процессора при прямой адресации необходимы данные о разрядности адресной части команды и основной памяти. Например: поле КОП — 3 разряда, адресная часть команды — 4 разряда (рисунок 1). Основная память 16- разрядная. Количество реализуемых операций и адресный диапазон процессора равны:

КОП = 23 =8 операций;

АПР = 24 слов

Адресный диапазон процессора можно определять в битах, байтах, килобитах и т.д. В этом случае его часто называют объемом памяти процессора. Объем памяти равен

NПРЦ = Апр ×Роп , бит;

где Роп – разрядность ячеек основной памяти

NПРЦ = 24 ×216 = 220 бит;

NПРЦ = 220 / 220 = 1 Мбит.

Также по адресному диапазону процессора и по количеству реализуемых операций можно определить разрядность адресной части команды и разрядность поля КОП:

Радр = log2 Апрц

РКОП = log2 Коп

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

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

Косвенная адресация

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

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

АПРЦ = 2n × 2m слов,

где n – разрядность поля №РОН команды,

m – разрядность самих РОН

Относительная адресация

При данном типе адресации для определения исполнительного адреса необходимо задать начальный (базовый) адрес массива, в пределах которого работает программа или обрабатываются данные, и положение ячейки в данном массиве (адрес ячейки относительно начала массива – относительный адрес). Базовый адрес массива программно заносится в специальный регистр базовых адресов РБА. Номер регистра, который используется в качестве РБА, указывается в команде в поле №РБА (номер регистра базовых адресов). В адресной части команды в поле СМЕЩЕНИЕ указывается относительный адрес ячейки. Исполнительный адрес находится суммированием базового адреса и относительного или, иначе говоря, смещением от базового на величину, равную относительному адресу (рис. 5). Для определения исполнительного адреса может использоваться АЛУ или специальный сумматор. Использование относительной адресации позволяет значительно расширить адресный диапазон процессора, т.к. количество разрядов, отводимое в РБА под запись базовых адресов массивов значительно больше длины адресной части команды.

Определение адресного диапазона процессора происходит по формуле

АПРЦ = 2n × 2m × 2к слов,

где n – разрядность,

m – разрядность поля НРБА команды.

к - разрядность самих регистров базовых адресов РБА

Объем памяти процессора можно определить по формуле

Nпр = Апрц×Роп, бит

где Роп – разрядность ячеек основной памяти, чаще всего Роп=16