- •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. Способы адресации операндов
Вопрос выбора способа адресации и методов формирования исполнительных адресов является важнейшим аспектом процесса проектирования любого компьютерного устройства.
При проектировании следует различать понятия адресный код в поле адреса операнда и исполнительный адрес оперативной памяти. Адресный код – это информация об адресе операнда, содержащаяся в соответствующих полях команды и требующая специальной обработки. Исполнительный адрес представляет собой номер ячейки в оперативном ЗУ, к которой производится фактическое обращение.
Эффективность применяемого способа адресации характеризуется двумя показателями:
затратами оборудования на обработку адресов в процессоре и затратами памяти, используемой для хранения адресов;
затратами времени на формирование исполнительных адресов и обращение к памяти.
5.3.1. Прямая адресация
Под прямым адресом, как правило, понимают номер ячейки памяти, в которой хранится адресуемый в команде операнд. Прямой адрес представляется в командеm-разрядным полем, гдеm=log2E,Е- емкость памяти, исчисляемая в машинных словах. При использовании данного способа следует помнить, что второй операнд, участвующий в преобразовании, должен быть адресован в ЗУ косвенно или неявно. Это связано с тем, что хранение в структуре команды двух прямых значений приводит к существенному увеличению длины формата, что свою очередь ведет к увеличению общего объема оперативной памяти, используемой для хранения программ. Аппаратные средства компьютера, предназначенные для реализации прямой адресации, приведены на рис. 5.2.
При исполнении команд с данным способом адресации на первом этапе выполняется расшифровка поля КОП управляющим автоматом. В результате определяется алгоритм следования управляющих сигналов и характер выполняемых действий. В рассматриваемом случае эти сигналы определяют:
передачу адреса А1через мультиплексор адресаMUXна ША компьютера. При этом дешифратор ОЗУ активизирует на своем выходе соответствующую линию выборки, что позволяет переключить шину данных модуля памяти из третьего состояния в рабочий режим;
2) формирование схемой управляющего автомата (УА) требуемого уровня сигнала (в данном случае сигнала) и прием в аккумулятор первого операнда.
В соответствии с адресным кодом второго операнда из ОЗУ читается заданное значение, после чего выполняется преобразование данных в АЛУ. Результат операции помещается в приемник. Адрес приемника, в общем случае, определяется системой команд используемого процессора.
5.3.2. Прямая регистровая адресация
П
Рис.
5.3
5.3.3. Непосредственная адресация
При этом виде адресации операнд является частью команды, то есть в поле адреса располагается не адрес, а непосредственно операнд.
Структура аппаратных средств, используемых для реализации данного способа, приведена на рис. 5.4.
Рассмотрим процесс отработки команды с данным способом адресации на примере исполнения одноадресной команды. Пусть, например, требуется выполнить операцию инкрементирования некоторого числового значения, хранимого в одном из полей команды.
При отработке схемой УА алгоритма выборки команды из ОЗУ на первом этапе выполняется чтение поля КОП и непосредственного операнда по адресам АiиАi+1 соответственно. Командное слово помещается в регистр команд – РК (RG C) процессора, и поле КОП передается на вход управляющего автомата. В соответствии с кодом команды операнд пересылается в аккумулятор, после чего выполняется его преобразование (в данном случае инкрементирование) в
DO
арифметико-логическом устройстве. Результат операции пересылается на ШД компьютера и размещается в ОЗУ по месту исходного значения.
Если команда предполагает обработку двух операндов, то второе значение в структуре, как правило, не указывается, а адресация операнда осуществляется неявно с помощью поля КОП. Как правило, второй операнд располагается в аккумуляторе, и результат преобразования также помещается в регистр-аккумулятор.