
- •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.4. Косвенная адресация
Структурная схема и информационные потоки, протекающие в машине при исполнении команд с косвенной адресацией, показана на рис. 5.5.
Косвенная адресация является одним из важнейших способов адресации в компьютерах вообще. При данном способе информация, расположенная в соответствующем поле команды, указывает на ячейку памяти, в которой хранится исполнительный адрес.
При исполнении
команды в данной структуре (рис. 5.5) адрес
адреса операнда из РК через MUXпересылается на ША компьютера. В
соответствии с адресной информациейDCпамяти активизирует на своем
выходе одну из линий(переводит ее в нулевое состояние) и
подключает соответствующий модуль ОЗУ
к шине данных компьютера. После этого
управляющий автомат формирует на линии
шины управления сигнал высокого уровня
– «чтение». В результате исполнительный
адрес по ШД принимается в один из
регистров процессора (например снова
в РК) и далее черезMUXпересылается на ША. Это позволяет извлечь
из ЗУ адресуемое значение и переслать
в аккумулятор. При отработке команды
возможна также и прямая коммутация
адреса с ШД на входMUX,
минуя структурные элементы процессора.
При этом системная память должна
содержать свой адресный регистр, так
как в режиме чтения операнда осуществляется
переадресация памяти.
Следует, однако, помнить, что разрядность прямого адреса в данном случае совпадает с разрядностью косвенного адреса, поэтому в чистом виде рассмотренный способ формирования адресов не применяется.
5.3.5. Косвенная регистровая адресация
В частном случае, когда в поле адреса операнда содержится адрес РОН, хранящего исполнительный адрес памяти, имеет место косвенная регистровая адресация (рис.5.6).
Процесс исполнения команды в данной структуре аналогичен изложенному выше. Так, после расшифровки поля КОП содержимое поля R передается на адресный вход РЗУ и исполнительный адрес (значение 800) пересылается на ША компьютера. После этого выполняется чтение операнда в БР (константа 850) и преобразование числа в АЛУ в соответствии с кодом операции. В некоторых случаях косвенная регистровая адресация задается неявно с помощью поля КОП. При этом данное поле определяет тип команды и указывает УА на специально отведенные регистры, предназначенные для хранения исполнительного адреса. Второй операнд в случае необходимости адресуется специальным полем, например полем А1 (рис. 5.2).
5.3.6. Регистровая автоинкрементная адресация
Этот метод адресации предполагает наличие в одном из РОН процессора адреса обрабатываемого операнда (рис. 5.7).
После использования содержимого регистра в качестве адреса хранимое
значение автоматически наращивается на константу 1 или 2. Например, в операциях с байтами содержимое РОН увеличивается на единицу.
При исполнении команд в данной структуре номер РОН из РК (например, значение 8) передается на адресный вход РЗУ. Содержимое РОН8 читается на входMUXи далее передается на адресный вход оперативной памяти. ОЗУ включается в режиме чтения, в результате чего операнд по ШД передается в один регистров процессора (например, в аккумулятор).
После исполнения команды адрес операнда пересылается на вход АЛУ, где выполняется его инкрементирование. Новое значение помещается на место старого, затем выполняется очередной цикл вычислений.
Рассмотренный способ адресации наиболее эффективно используется при обработке больших массивов данных. При этом выполняемая команда из памяти читается один раз, а отрабатывается в процессоре многократно. Изменяющимся параметром здесь является исполнительный адрес. Хранимое в регистре значение меняется при каждой очередной отработке команды, что приводит к существенной экономии машинного времени на фазе выборки управляющих слов.
Регистровая автодекрементная адресация является также разновидностью косвенной адресации. Однако в данном случае содержимое регистра, номер которого указан в команде, уменьшается на константу перед исполнением команды. После этого сформированный адрес передается на вход памяти.
Существенным здесь является то, что содержимое РОНi модифицируется до выполнения операции.