Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры 2.doc
Скачиваний:
96
Добавлен:
15.06.2014
Размер:
411.14 Кб
Скачать

41 Общее понятие об адресациях в командном цикле. Адресация к операндам (индексная и непосредственная).

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

Индексная адресация является подвидом косвенной адресации, когда исполнительные адреса формируются в регистрах (блок индексных регистров).

В индексном регистре исполнительный адрес модифицируется как функция цикла (±Д) при каждом проходе (в частном случае +1), что позволяет работать с массивами данных: количество индексных регистров определяет мерность обрабатываемых массивов. В ходе команды в адресном поле указывается номер используемого индексного регистра (ИР) – по нему идёт обращение к памяти.

ИР1=(ИР)+1

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

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

ANI A,#32h

A:=(A)&32h

42 Общее понятие об адресациях в командном цикле. Адресация к операндам (регистровая, явная, неявная, автоинкрементная, комбинированная).

Регистровая адресация.

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

Команды типа RR IBM 360 обеспечивают максимальное быстродействие по выборке команды и их исполнению.

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

Автоинкрементная адресация подразумевает модификацию предыдущего адреса с использованием 2-х и более констант, когда следующий адрес формируется по принципу: Ai=Ai+constj. Одна из констант соответствует безусловному переходу, либо переходу по отрицательному результату анализа. Другие константы используются при иных результатах анализа. Например, при логическом анализе константы могут быть +1 и +2, тогда на линейных участках алгоритма, при отрицательном результате анализа Ai=Ai+1, при положительных результатах анализа Ai=Ai+2. Для разрешения возможных конфликтных ситуаций может использоваться команда передачи управления по определенному адресу. Автоинкрементная адресация может использоваться как при адресации к командам, так и при адресации к данным. Во втором случае она напоминает индексную адресацию: адрес используемого операнда при очередном проходе (цикле) модифицируется на определенную константу. Величина константы выбирается небольшой (в пределах ±1, ±2, ±4), так как при аппаратной реализации этой адресации логические условия заводятся в один из младших разрядов программного счетчика.

Если константы используются со знаком “–”, то адресация называется автодекрементной.

Сочетание нескольких адресаций из вышерассмотренных относится к комбинированным адресациям. Например: принудительно-автоинкрементная адресация, косвенно-регистровая адресация, базово-индексная адресация и т.п. Например, при косвенно-регистровой адресации в качестве блока косвенной памяти используется блок регистров, в частности – определенная группа регистров общего назначения. В процессорах intelx86 используется базово-индексная адресация со смещением, когда исполнительный адрес формируется в виде суммы базового адреса, индексного адреса и непосредственного смещения. Базовый адрес выбирается из базового регистра, индексный – из индексного, непосредственное смещение – из кода команды. Дополнительно может быть задействовано содержимое РОНа как смещение. Обычно в системе команд задействовано несколько адресаций, что создает определенное удобство как для разработчиков, так и для пользователей, позволяет повысить эффективность программирования для организации вычислительного процесса.

Соседние файлы в предмете Организация ЭВМ