Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СиФО часть 5.1.doc
Скачиваний:
52
Добавлен:
15.09.2014
Размер:
771.07 Кб
Скачать

5.3. Способы адресации операндов

Вопрос выбора способа адресации и методов формирования исполнительных адресов является важнейшим аспектом процесса проектирования любого компьютерного устройства.

При проектировании следует различать понятия адресный код в поле адреса операнда и исполнительный адрес оперативной памяти. Адресный код – это информация об адресе операнда, содержащаяся в соответствующих полях команды и требующая специальной обработки. Исполнительный адрес представляет собой номер ячейки в оперативном ЗУ, к которой производится фактическое обращение.

Эффективность применяемого способа адресации характеризуется двумя показателями:

  1. затратами оборудования на обработку адресов в процессоре и затратами памяти, используемой для хранения адресов;

  2. затратами времени на формирование исполнительных адресов и обращение к памяти.

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

Под прямым адресом, как правило, понимают номер ячейки памяти, в которой хранится адресуемый в команде операнд. Прямой адрес представляется в командеm-разрядным полем, гдеm=log2E,Е- емкость памяти, исчисляемая в машинных словах. При использовании данного способа следует помнить, что второй операнд, участвующий в преобразовании, должен быть адресован в ЗУ косвенно или неявно. Это связано с тем, что хранение в структуре команды двух прямых значений приводит к существенному увеличению длины формата, что свою очередь ведет к увеличению общего объема оперативной памяти, используемой для хранения программ. Аппаратные средства компьютера, предназначенные для реализации прямой адресации, приведены на рис. 5.2.

При исполнении команд с данным способом адресации на первом этапе выполняется расшифровка поля КОП управляющим автоматом. В результате определяется алгоритм следования управляющих сигналов и характер выполняемых действий. В рассматриваемом случае эти сигналы определяют:

  1. передачу адреса А1через мультиплексор адресаMUXна ША компьютера. При этом дешифратор ОЗУ активизирует на своем выходе соответствующую линию выборки, что позволяет переключить шину данных модуля памяти из третьего состояния в рабочий режим;

2) формирование схемой управляющего автомата (УА) требуемого уровня сигнала (в данном случае сигнала) и прием в аккумулятор первого операнда.

В соответствии с адресным кодом второго операнда из ОЗУ читается заданное значение, после чего выполняется преобразование данных в АЛУ. Результат операции помещается в приемник. Адрес приемника, в общем случае, определяется системой команд используемого процессора.

5.3.2. Прямая регистровая адресация

П

Рис. 5.3

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

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

При этом виде адресации операнд является частью команды, то есть в поле адреса располагается не адрес, а непосредственно операнд.

Структура аппаратных средств, используемых для реализации данного способа, приведена на рис. 5.4.

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

При отработке схемой УА алгоритма выборки команды из ОЗУ на первом этапе выполняется чтение поля КОП и непосредственного операнда по адресам АiиАi+1 соответственно. Командное слово помещается в регистр команд – РК (RG C) процессора, и поле КОП передается на вход управляющего автомата. В соответствии с кодом команды операнд пересылается в аккумулятор, после чего выполняется его преобразование (в данном случае инкрементирование) в

DO

арифметико-логическом устройстве. Результат операции пересылается на ШД компьютера и размещается в ОЗУ по месту исходного значения.

Если команда предполагает обработку двух операндов, то второе значение в структуре, как правило, не указывается, а адресация операнда осуществляется неявно с помощью поля КОП. Как правило, второй операнд располагается в аккумуляторе, и результат преобразования также помещается в регистр-аккумулятор.