Процессор Intel
8086. Учебный курс.
|
Часть 1. Структура микропроцессора. 1.1
Введение в архитектуру микропроцессора.
1.2 Структура микропроцессора. |
Введение в архитектуру
микропроцессора.
Схема образования адреса в процессоре.
Чтобы обеспечить гибкую базовую адресацию и
индексирование, адрес данных формируют путем
сложения содержимого регистров BX или BP,
содержимого регистров SI или DI и смещения.
Результат вычислений называют эффективным
адресом.
Так как регистры, участвующие в формировании
адреса имеют длину всего 16 бит, поэтому и
эффективный адрес имеет такую же длину. Но с
другой стороны, выдаваемый на шину адреса
физический адрес должен содержать 20 бит.
Дополнительные 4 бита образуются при сложении
содержимого регистров.
Сегментация памяти в процессоре.
В микропроцессоре Intel 8086 память разбивается на
сетменты:
CS - сегмент кода,
DS - сегмент данных,
SS - сегмент стека,
ES - дополнительный сегмент.
Сегменты в памяти могут располагаться как
последовательно, так и налагаясь друг на друга.
Поскольку при формировании эффективного адреса
содержимое сегментного регистра сдвигается на 4
бита, сегмент всегда начинается с адреса,
кратного 16, т.е. на границе 16-байтового блока
памяти (параграфа). Размер сегмента должен
находиться в пределах 0 байт - 64 Кбайт (допустимы и
иногда используются сегменты нулевой длины).
Структура микропроцессора.
Отличительной особенностью архитектуры
процессора Intel 8086 является наличие двух основных
асинхронно работающих устройств:
Устройство обработки состоит из:
Арифметико-логического устройства (ALU) с тремя
регистрами временного хранения операндов (RGB) и
регистром признаков (RS);
группы регистров общего назначения (R0 - R7);
микропрограммного устройства управления (MCU) для
управления выполнением команд.
Устройство сопряжения канала состоит из:
сумматора адреса (Sm), служащего для вычисления
20-разрядного физического адреса;
указателя команд (IP), выполняющего функции
программного счетчика;
сегментных регистров (RGS), содержащих базовые
адреса программ, данных и стека;
регистров очереди команд (RI), предназначенных для
формирования шестибайтовой очереди команд
готовых к исполнению.
Процессор Intel 8086 содержит двенадцать 16-разрядных
программно-адресуемых регистров, которые
принято объединять в три группы: регистры данных,
регистры-указатели и сегментные регистры. Кроме
того, в состав процессора входят счетчик команд и
регистр флагов.
В группу регистров данных включаются следующие
регистры:
AX - аккумулятор;
BX - базовый регистр;
CX - регистр счетчика;
DX - регистр данных.
Каждый из этих регистров состоит из двух 8-разрядных
частей, которые могут хранить данные независимо
друг от друга.
В группу регистров-указателей (индексных
регистров) входят:
SI - индекс источника;
DI - индекс приемника;
BP - указатель базы;
SP - указатель стека.
Группа сегментных регистров включает в себя:
SS - сегмент стека;
DS - сегмент данных;
ES - дополнительный сегмент;
CS - сегмент кода.
К прочим регистрам можно отнести регистр адреса
команд (IP) и регистр флагов (или регистр признаков).
Регистр признаков содержит 16 бит, но семь из них
не используются.
Флаги i8086 разделяются на условные, отражающие
результат предыдущей операции ALU, и управляющие,
от которых зависит выполнение специальных
функций. Ниже приведено описание флагов регистра
признаков:
0. CF (бит 0) - перенос;
1. PF (бит 2) - четность;
2. AF (бит 4) - вспомогательный перенос;
3. ZF (бит 6) - ноль;
4. SF (бит 7) - знак;
5. TF (бит 8) - пошаговый режим;
6. IF (бит 9) - разрешение прерываний;
7. DF (бит 10) - направление;
8. OF (бит 11) - переполнение.
Флаги TF, IF, DF относятся к управляющим флагам,
остальные - к условным (флагам состояния).
|