- •Раздел 4. Микропроцессоры семейства intel
- •Тема 4.1. Модели мп семейства intel и их сравнительная характеристика
- •Тема 4.2. Организация однокристальных 16-разрядных микропроцессоров
- •Стандартная архитектура 16-разрядного микропроцессора intel 8086.
- •Программная модель микропроцессора intel 8086.
- •Организация памяти.
- •Стандартная архитектура 16-разрядного микропроцессора intel 8086.
- •Программная модель микропроцессора intel 8086.
- •Сегментные регистры (cs, ds, ss, es),
- •Регистр адреса командIp,
- •Регистр флагов f.
- •Регистр флагов f
- •3. Организация памяти.
- •Тема 4.3. Система команд мп, форматы команд, классификация команд, способы адресации
- •Формат команды микропроцессора
- •Режимы адресации операндов
- •Тема 4.4. Система прерываний микроЭвм
- •Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
- •Механизм обработки прерываний
- •Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
- •Аппаратные прерывания
- •Программные прерывания
- •Исключительные ситуации
- •Механизм обработки прерываний
- •Тема 4.5. Сопроцессоры
- •Общие сведения и технические характеристики. Форматы команд и обрабатываемых данных. Система команд арифметического сопроцессора
- •Структура арифметического сопроцессора
- •Общие сведения и технические характеристики. Форматы команд и обрабатываемых данных. Система команд арифметического сопроцессора
- •Структура арифметического сопроцессора
- •Тема 4.6. Архитектура 32-разрядных мп
- •Регистровая структура мп 80486
- •Типы данных 32-разрядных мп
- •Система команд, форматы команд и способы адресации мп 80486
- •Тема 4.7. Реальный режим работы мп
- •Тема 4.8. Защищенный режим работы мп
- •Дескрипторы сегментов и их таблицы. Типы сегментов и дескрипторов
- •Страничная и сегментная организация памяти. Преобразование адресов в защищенном режиме
- •Средства поддержки мультизадачности и защиты. Механизмы защиты
- •Тема 4.9. Виртуальный режим работы мп
- •Виртуальная память. Средства поддержки виртуальной памяти
- •Пространство виртуальных адресов. Механизм преобразования адресов
- •Виртуальная память. Средства поддержки виртуальной памяти
- •Пространство виртуальных адресов. Механизм преобразования адресов
- •Сегментно - страничное распределение
-
Система команд, форматы команд и способы адресации мп 80486
Система команд микропроцессора 80486 – это расширенная система команд предыдущих моделей микропроцессоров фирмы Intel.
В набор команд микропроцессора 80486 входят безадресные, одно-, двух- и трехадресные команды, которые обеспечивают выполнение операций над операндами, находящимися в регистре, памяти или непосредственно в команде. Микропроцессор реализует следующие шесть типов двухадресных команд:
-
регистр – регистр,
-
память – регистр,
-
непосредственные данные – регистр,
-
регистр – память,
-
память – память,
-
непосредственные данные – память.
Обобщенный формат команды микропроцессора 80486 аналогичен формату предыдущих моделей.
-
КОП
MOD R/ M
SIB
Смещение
Операнд
1 или 2 байт
0 или 1 байт
0 или 1 байт
0, 1, 2 или 4 байт
0, 1, 2 или 4 байт
Рисунок - Обобщенный формат команды микропроцессора 80486
В среднем длина команды составляет 4-5 байт.
Код операции (КОП) содержится в одном или в двух первых байтах. В коде операции могут быть определены поля, определяющие направление операции, разрядность операндов и т. д. Формат КОП:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
К |
О |
П |
|
|
D |
W |
Во многих командах арифметико-логических операций и пересылок значение бита W определяет разрядность операндов: W=0 – операции с байтами, W=1 – операции с 16 или 32-разрядными операндами. Разрядность слов (16 или 32 бит) определяется режимом работы микропроцессора и устанавливается в дескрипторе сегмента команд.
Большинство команд, которые могут ссылаться на операнд в памяти, содержат байт режима адресации. Этот байт позволяет задать два операнда команды. Формат байта режима адресации:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
MOD |
REG/ КОП |
R/ M |
REG |
MOD |
R/ M |
операнд 1 |
операнд 2 |
Поля MOD и R/ M задают адрес одного из операндов, который хранится в регистре или в ячейке памяти. Поле MOD совместно с полем R/ M может принимать 32 возможных значения и служит для указания 8 регистров и 24 режимов адресации.
Поле REG определяет имя регистра операнда, либо содержит дополнительные разряды кода операции команды. Назначение этого поля определяется первым байтом команды (КОП).
Поле R/ M задает имя регистра операнда или вместе с полем MOD определяет режим адресации.
32-битные базовые и индексные формы адресации требуют наличия SIB-байта. Определенная кодировка MOD R/ M-байта сигнализирует о присутствии SIB-байта. Формат SIB-байта:
-
7
6
5
4
3
2
1
0
SS
INDEX
BASE
Поле INDEX определяет индексный регистр. Поле BASE определяет базовый регистр. SS – это масштабный множитель для модификации значения индекса.
Если поле MOD указывает, что при вычислении адреса операнда будет использовано смещение, в состав команды включается поле смещения. Смещение представляет собой 8-, 16- или 32-разрядное целое число со знаком.
Непосредственные операнды в команде могут быть 8-, 16- или 32-разрядными. Непосредственный операнд всегда находится в последнем поле команды.
Классификация команд:
-
команды перемещения данных – позволяют перемещать операнды любого типа из памяти в регистр, из регистра в память, из регистра в регистр, допускают операции со стеком, выполняют ввод-вывод, производят операции с адресами,
-
команды целочисленной арифметики – выполняют арифметические действия над операндами всех размеров, поддерживается знаковая и беззнаковая арифметика. Во всех командах, кроме деления, допускается использование непосредственных операндов. Все команды умножения используют алгоритм с ранним выходом для уменьшения времени исполнения команды пропорционально количеству нулей в старших разрядах.
-
логические команды доступны при любом размере операндов. Во всех командах могут быть использованы непосредственные данные.
-
команды вращения и сдвига,
-
команды манипуляции битами – с их помощью можно осуществлять действия над определенными битами РОН,
-
команды обработки строк. Строка может быть обработана в любом направлении; строки могут перемещаться, сравниваться и сканироваться для нахождения конкретного значения, они также могут передаваться в область или из области ввода-вывода.
-
команды десятичной арифметики,
-
команды управления программой - команды условного и безусловного переходов,
-
команды управления системой позволяют загрузить и прочитать системные регистры, обеспечивают установку режима микропроцессора, устанавливают атрибуты защиты.
-
команды синхронизации данных сопроцессора.