- •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.4.2. Абсолютная адресация
Метод абсолютной адресации предполагает наличие адреса операнда в одном из полей команды. При этом в режиме выборки операнда осуществляется передача адрес из РК на адресный вход оперативной памяти, в результате чего данные могут быть пересланы в аккумулятор. По исполнению метод эквивалентен автоинкрементной косвенной адресации через IP, при котором:
А`исп =< IP >, Аисп=<А`исп>,
где А`исп– прямой адрес операнда, располагаемый во 2-й части команды.
При данном способе формирования исполнительного адреса в качестве источника косвенного адреса используется IP(рис. 5.13).
При отработке команды в данной структуре вначале выполняется пересылка адреса из IPна соответствующие входы оперативной памяти. Поле КОП читается из ОЗУ в РК процессора, а значения вIPнаращивается на единицу. По новому адресу читается очередное слово (адрес операнда) в РК, после чего выполняется его пересылка на адресный вход памяти. ОЗУ включается в режим чтения, и адресуемое значение по ШД пересылается в РОН процессора.

При рассмотренном способе адресации счетчик IPпроцессора выполняет функцию, аналогичную функции автоинкрементного регистра при реализации гипотетического метода “косвенной автоинкрементной“ адресации (рис. 5.14). Однако алгоритм выборки операнда позволяет заключить, что абсолютная адресация также не является самостоятельным способом. Хотя по исполнению она эквивалентна косвенной автоинкрементной адресации черезIP, на самом деле это особый взгляд на рассмотренную выше прямую адресацию.


Гипотетический
способ автоинкрементной косвенной
адресации через РОН Прямая
адресация или способ автоинкрементной
косвенной адресации через IP
Рис.
5.14
5.4.3. Относительная адресация
Этот метод формирования адресов эквивалентен индексному способу. Однако в качестве индексного регистра при данном методе вычисления адресов используется счетчик команд процессора IP. При этом в режиме трансляции и загрузки в память программы определяется смещениеDпо формуле (рис. 5.15):
D = A - <IP>,
где А- содержимое поля адреса в мнемонической записи команды, <IP> - адрес следующей команды.

к АЛУ
При формировании адресов с помощью относительной адресации выполняются следующие действия.
Пусть, например, в процессоре отрабатывается некоторая абстрактная команда INR(E)55610. При трансляции данной команды вычисляется смещение:
D=A- <IP> = 556 – 502 = 54.
В процессе выборки команды содержимое < IP>=500 передается на входAоперативной памяти, в результате чего первая часть команды принимается в РК. СодержимоеIPинкрементируется, и в РК выбирается величина смещенияD. После этого содержимое <IP> наращивается еще раз и передается на вход АЛУ. На второй вход поступает смещение из РК, что в сумме дает исполнительный адрес, равный 556. Сформированное значение передается на адресный вход ОЗУ, и адресуемое значение принимается в аккумулятор процессора.
Значение вычитаемого адреса <IP>=502 в данном примере обусловлено тем, что после чтения команды в РК содержимоеIPавтоматически увеличивается до следующего адреса, равного 502.
Очевидно, что команды прямой и относительной адресации похожи по мнемонической записи, однако отличаются по сути и процедуре трансляции.
