- •5. Архитектура компьютерных устройств
- •5.1. Понятие архитектуры
- •5.2. Выбор структуры и формата команды
- •5.3. Способы адресации операндов
- •5.3.1. Прямая адресация
- •5.3.2. Прямая регистровая адресация
- •5.3.3. Непосредственная адресация
- •5.3.4. Косвенная адресация
- •5.3.5. Косвенная регистровая адресация
- •5.3.6. Регистровая автоинкрементная адресация
- •5.3.7. Индексная адресация
- •5.3.8. Базовая адресация
- •5.3.9. Базово-индексная адресация
- •5.4. Адресация с использованием программного счетчика
- •5.4.1. Непосредственная адресация.
- •5.4.2. Абсолютная адресация
- •5.4.3. Относительная адресация
- •5.4.4. Косвенная относительная адресация
- •5.4.5. Стековая адресация
- •5.5. Типовые форматы команд компьютерных систем
- •5.5.1. Команды формата “регистр-регистр”(rr)
- •5.5.2.Команды формата “региcтр-индексируемая ячейка памяти” (rx)
- •5.5.3. Трёхадресные команды формата
- •5.5.4. Команды формата “память - непосредственный операнд” (si)
- •5.5.5. Команды формата “память - память” (ss)
- •5.6. Проектирование компьютерных устройств. Система команд.
- •5.6.1. Форматы команд персональных компьютеров
- •5.6.3. Двухадресные команды со смещением (1810вм86)
- •5.6.4. Двухадресные команды с непосредственным операндом
- •5.6.5. Одноадресные команды со смещением
- •5.6.6. Команды укороченного формата
- •5.7. Система команд компьютера
- •5.7.1. Выбор системы команд
- •5.7.2. Фазы выборки, дешифрации и выполнения команды
- •5.7.3. Команды арифметических операций
- •5.7.4. Команды передачи управления
- •5.7.5. Команды обращения к подпрограммам
5.3.7. Индексная адресация
При индексной адресации адрес операнда вычисляется путем суммирования содержимого регистра, указанного в поле ХРК со значением, указанным в полеD(рис. 5.8). Регистр, используемый для данного способа адресации, как правило, называют индекс-регистром. Процесс отработки команды в приведенной структуре предполагает реализацию следующих действий.

Во-первых, поле КОП из РК передается на вход управляющего автомата и инициирует выдачу требуемой последовательности управляющих сигналов. Адрес регистра указанный в поле индекса Хкоммутируется на адресный вход РЗУ, откуда на первый вход АЛУ читается индексное слово. На второй вход АЛУ передается значение (псевдосмещение)Dнепосредственно из разрядов РК. Исполнительный адрес операнда формируется на выходе схемы в виде арифметической суммы, после чего передается на адресный вход памяти.
Пример.Пусть <X>=8,D=130, <8>=500. Тогда адрес исполнительный будет определяться соотношением:
Аисп=D+ <8>=130+500=630.
Команды с индексной адресацией как правило используются для обработки массивов информации. При этом программа содержит циклические участки, вычисления на которых не изменяются от цикла к циклу. Изменяемым программным параметром здесь является адрес, модификация которого осуществляется путем инкрементирования регистра Х.
В некоторых случаях процессорная часть машины строится таким образом, что функция наращивания содержимого индекс-регистра реализуется аппаратно. Соответственно способ адресации при этом получил название автоиндексирование.
При использовании индексной адресации в программах следует помнить, что адрес начала информационного массива определяется полем D. Регистр, указанный в полеХ, используется для указания номера элементаiв обрабатываемом наборе данных.
5.3.8. Базовая адресация
При данном способе адресации ОП условно разбивается на секции. При этом начало каждой секции определяется адресом ее первого байта, получившего в литературе название базового.
При использовании базовой адресации каждый байт в секции адресуется относительно базового с помощью некоторого двоичного числа - так называемого смещения. С учетом базы и смещения исполнительные адреса вычисляются по формулеАисп = <B> +D. Если программы и данные располагаются в нескольких секциях ЗУ, то в РОНiмогут храниться несколько соответствующих базовых адресов, указывающих на начало каждой секции.
Очевидно, что по исполнению базовая и индексная адресации аналогичны. Однако в отличие от базовых наименование индексных регистров связано с тем, что первоначально они предназначались для хранения индекса iтекущего элемента массива. С течением времени назначение индексных регистров существенно расширилось, тем не менее, термин “индексная” сохранился до настоящего времени. Следует помнить, что в отличие от индексного содержимое базового регистра в программах не изменяется.
