Uploaded by Евгения Трофимова

Обзор микропроцессора Intel803886EX

advertisement
2 Обзор микропроцессора Intel80386EX
Микропроцессоры
серии
80386
являются
первыми
32
разрядными
процессорами фирмы Intel с архитектурой x86. Первый микропроцессор из серии был
выпущен в 1985 году. Микропроцессор Intel80386EX, работающий с тактовой
частотой от 20 МГц до 25 МГц и напряжением питания 3 В, был выпущен в августе
1994 года.
Микропроцессор имеет непосредственный доступ к 4 Гбайт (2 32)
физического адресного пространства, имеет конвейер команд, который позволяет
одновременно реализовать выборку, кодирование и исполнение команд и может
выполнять 3–5 млн. команд в секунду.
Микропроцессор 80386 обладает совместимостью снизу-вверх с предыдущими
процессорами. То есть программы, написанные на более ранних процессорах, будут
выполняться
на
микропроцессоре
Intel80386,
потому
что
набор
команд
микропроцессора 80386 и его модули обработки являются расширениями набора
команд предшествующих моделей. Так же этот микропроцессор является
статическим, что позволяет понижать тактовую частоту с целью экономии энергии
вплоть до полной остановки.
2.1 Режимы работы микропроцессора
Микропроцессор 80386 имеет три режима работы: реальный режим,
защищенный режим и виртуальный режим.
Реальный режим. Этот режим устанавливается при включении питания или
при подаче сигнала сброса. Реальный режим является упрощенным для
микропроцессора 80386, он работает как очень быстрый микропроцессор 8086, но
имеет доступ к 32 разрядам регистров. Размер памяти, обработка прерываний и
механизм вычисления физического адреса полностью совпадают с аналогичными
функциями микропроцессора 8086.
Выйти из реального режима можно только явно переключившись в
защищенный режим, для этого необходимо установить специальный флаг во
флаговом регистре.
Защищенный режим. Этот режим позволяет использовать все возможности
32–разрядной архитектуры микропроцессора 80386, но программы, написанные для
8086 не будут работать в этом режиме. Защищенный режим предоставляет большое
адресное пространство и новые методы адресации, что позволяет писать более
сложные и более крупные программы.
Виртуальный режим (Режим виртуального 8086). В виртуальном режиме
можно работать только если микропроцессор находится в защищенном режиме. В
этом режиме возможна работа программ реального режима.
2.2 Регистры микропроцессора
Регистр — это сверхбыстрая память микропроцессора, предназначенная для
временного хранения адресов, данных и для облегчения арифметических и
логических операций. Регистры микропроцессора являются расширением регистров
более ранних микропроцессоров 8086, 80186, 80286. На рисунке 2.1 представлены
регистры микропроцессора 80386.
Микропроцессор имеет восемь регистров общего назначения. Это четыре
регистра общего назначения EAX, EBX, ECX, EDX, два регистра смещения BP, SP и
индексные регистры SI, DI. В микропроцессоре 80386 есть возможность отдельно
обращаться к младшим 16 разрядам этих регистров. А для регистров общего
назначения AX, BX, CX, DX, эти 16-разрядные регистры могут быть поделены на два
8-разрядных регистра, к которым также можно обращаться отдельно. Названия этих
регистров будут заканчиваться буквами H (High) — старшие разряды, и L (Low)
младшие.
Регистры общего назначения могут быть использованы для хранения операндов
или могут быть использованы в качестве базового или индексного для вычисления
адреса, но не для всех операций, поэтому каждый регистр имеет предпочтительное
применение.
Регистры общего назначения:
AX (accumulator register) — аккумулятор, применяется для хранения операндов.
BX (base register) — применяется для хранения базового адреса.
CX (count register) —применяется в циклических операциях.
DX (data register) —используется для хранения данных.
31
7
15
ah
0
15
al
cs (code)
ds (data)
ax 16-bit
eax
31
ss (stack)
32-bit
7
15
bh
0
es
0
bl
fs
gs
bx 16-bit
ebx
31
Сегментные регистры
32-bit
7
15
ch
0
cl
cx 16-bit
31
ecx
32-bit
15
7
dh
15
31
0
(e)
ip (Instruction Pointer)
(e)
bp (Base Pointer)
(e)
sp (Stack Pointer)
0
dl
Регистры смещения
dx 16-bit
edx
31
32-bit
Регистры общего назначения
31
15
flags
eflags
0
15
0
(e)
si (Source Index)
(e)
di (Destination Index)
Индексные регистры
32-bit
Регистр флагов
Рисунок 2.1 — Регистры микропроцессора 80386
Индексные регистры:
SI (source index register) — индекс источника.
DI (destination index register) — индекс приёмника.
Регистры смещения:
SP (Stack Pointer register) — используется как указатель вершины стека.
BP (Base Pointer register) — указатель базы.
Так же к регистрам смещения относится регистр IP (instruction pointer) —
указатель команд. Он содержит относительный адрес следующей команды,
подлежащей выполнению.
Микропроцессор 80386 имеет шесть сегментных регистров: CS, DS, SS, ES, FS,
GS. Эти регистры являются 16–разрядными.
CS (code segment register) — регистр сегмента кода. Хранит адрес сегмента,
содержащего машинные коды выполняемой программы.
DS (data segment register) — регистр сегмента данных. Хранит адрес сегмента,
содержащего обрабатываемые программой данные.
SS (stack segment register) — регистр сегмента стека. Хранит адрес текущего
сегмента стека.
ES, FS, GS — дополнительные сегменты данных.
Микропроцессор 80386 содержит регистр флагов EFLAGS. Он содержит
различные биты, отражающие текущее состояние процессора и частично
управляющие его работой. Флаги делятся на три группы: флаги состояний, и
системные флаги, и управляющий флаг.
Флаги состояний:
CF (0 бит) — флаг переноса.
PF (2 бит) — флаг четности.
AF (4 бит) — флаг вспомогательного переноса.
ZF (6 бит) — флаг нуля.
SF (7 бит) — флаг знака.
OF (11 бит) — флаг переполнения.
Управляющий флаг DF (10 бит) — флаг направления.
Системные флаги:
TF (8 бит) — флаг трассировки.
IF (9 бит) — разрешение аппаратных прерываний.
IOPL (12-13 биты) — уровень приоритета ввода-вывода.
RF (16 бит) — флаг возобновления.
VM (17 бит) — режим виртуального микропроцессора 8086.
NT (14 бит) — флаг вложенности задач.
Остальные биты зарезервированы фирмой Intel. Биты 31 — 18, 15, 5, 3, 1 всегда
содержат 0, а бит 1 всегда содержит 1.
Download