- •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.6.1. Форматы команд персональных компьютеров
Существенной особенностью архитектуры персональных компьютеров (ПК) является развитая система адресации, придающая программам большую эффективность и гибкость. Основные форматы, применяемые в компьютерных устройствах с фиксированной архитектурой, имеют следующую структуру.
Одноадресные команды (см. рис. 5.26 а) предполагают выполнение операций, как с полусловами, так и со словами полной длины. Как правило, признаком полуслова является единичный бит в левом разряде поля кода операции, используемый управляющим автоматом процессора при дешифрации.
Пример:
В отличие от одноадресных двухадресные команды (см. рис. 5.26 б) содержат в своем составе поля, необходимые для адресации первого и второго операндов. При этом подполе кодирует способ адресацииi–го операнда, а в подполе указывается номер РОН, через который осуществляется обращение к памяти. Единица в левом разряде поля КОП также, что и в предыдущем формате, является признаком операций с полусловом.
В общем случае в рассмотренных выше структурах указатель адреса определяет следующие способы адресации рис. 5.27.
Рис. 5.27
В системах команд ПК используются также и безадресные команды, которые содержат только поле КОП, определяющее функцию процессора (например: сдвиг, задание режима работы компьютера и т.д.).
5.6.3. Двухадресные команды со смещением (1810вм86)
Команды данного формата имеют следующую структуру рис.5.28:
Рис. 5.28
В данной структуре поля disp L и disp H есть младший и старший байты смещения, хотя в общем случае наличие этих полей в составе команды является не обязательным.
Первый байт команды содержит поле кода операции, а также два однобитных поля - d и w. При этом разряд d определяет направление передачи информации в системе: при d=1 выполняется передача операнда в процессор, при d=0 - пересылка данных из процессора. Разряд w - задаёт формат операнда. Так, если w=0, операнд имеет длину 0,5 слова, при w=1 процессор обрабатывает полные слова машины.
Второй байт команды (обычно называют постбайтом адресации) содержит модификатор смещения mod, который интерпретируется следующим образом:
Трёхразрядное поле reg кодирует один из 8-ми регистров процессорного модуля (табл.5.1):
Табл. 5.1
reg |
w=0 |
w=1 |
reg |
w=0 |
w=1 |
000 001 010 011 |
AL CL DL BL |
AX CX DX BX |
100 101 110 111 |
- - - - |
УС (SР) Рг. баз. (ВР) Рг. инд. ист. (SI) Рг. инд. пр. (DI) |
Таким образом, если mod=11, то первый операнд содержится в регистре, указанном в поле reg, второй – в регистре, указанном в поле r/m. При mod11 второй операнд содержится в памяти, и способ её адресации определяется полемr/m табл.5.2.
Табл. 5.2
-
r/m
Аисполнительный
000
001
010
011
100
101
110
111
Аисп = (ВХ)+(SI)+disp
Aисп= (BX)+(DI)+disp
Aисп= (BP)+(SI)+disp
Аисп= (BP)+(DI)+disp
Aисп= (SI)+disp
Аисп= (DI)+disp
Аисп= (BP)+disp
Аисп= (BX)+disp