Lectures / 04
.pdfОрганизация ЭВМ и систем
Лекция 4
Программная модель микропроцессора Pentium
Программная модель МП Pentium
•Адресное пространство оперативной памяти и ввода-вывода
•Регистры общего назначения
•Сегментные регистры
•Регистр флагов EFLAGS
•Регистр указателя команды EIP
•Программно-доступные регистры специального назначения
Набор регистров общего назначения
31 |
15 |
7 |
0 |
31 |
15 |
0 |
Набор регистров общего назначения
•eax/ax/ah/al (Accumulator register) - аккумулятор
•ebx/bx/bh/bl (Base register) - базовый регистр
•ecx/cx/ch/cl (Count register) - регистр-счетчик
•edx/dx/dh/dl (Data register) - регистр данных
•esi/si (Source Index register) - индекс источника
•edi/di (Destination Index register) - индекс приемника
•esp/sp (Stack Pointer register) - указатель стека
•ebp/bp (Base Pointer register) - указатель базы кадра стека
Сегментные регистры
Шесть 16-битных регистров:
•cs (code segment register) сегментный регистр кода
•ds (data segment register) сегментный регистр данных
•ss (stack segment register) сегментный регистр стека
•es, fs, gs (extension data segment registers)
дополнительные сегментные регистры данных
Регистр флагов
EFLAGS
FLAGS
Флаги состояния: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• OF |
(Overflow Flag) |
Флаг переполнения |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||||||||
• SF |
(Sign Flag) |
Флаг знака |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||||||
• ZF |
(Zero Flag) |
Флаг нуля |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|||||||||
• AF |
(Auxiliary Carry Flag) Флаг вспомогательного |
|
переноса |
|
|||||||||||
|
|||||||||||||||
• PF |
(Parity Flag) |
Флаг четности |
|
|
|
|
|||||||||
|
|
|
|||||||||||||
• CF |
(Carry Flag) |
Флаг переноса |
|
|
|
|
|
||||||||
|
|
|
|
|
Регистр флагов
EFLAGS
FLAGS
Флаг управления:
• DF (Direction Flag) Флаг направления
Системные флаги: |
|
|
|
• IF (Interrupt Enable Flag) |
Флаг разрешения прерывания |
|
|
|
|||
• TF (Trap Flag) |
Флаг трассировки |
Регистры специального назначения
• 8 80-битных регистров FPU (ST0..ST7) и 8 64-битных
целочисленных регистров MMX-расширения (MM0..MM7):
79 |
63 |
0 |
ST0
MM0
ST1
MM1
ST2
MM2
ST3
MM3
ST4
MM4
ST5
MM5
ST6
MM6
ST7
MM7
• 8 128-битных вещественных регистров XMM-расширения
(XMM0..XMM7):
Сегментная организация памяти
|
|
|
|
|
|
|
|
|
|
Сегмент |
|||||
|
|
|
кода |
|
|
||
Сегментные регистры |
|||||||
|
|
|
|
|
|
||
|
|
Сегмент |
|
||||
|
|
|
|
||||
|
|||||||
|
|
|
данных |
|
|||
|
|
|
|
|
|||
|
|
|
|
Сегмент |
|||
|
|
|
|
стека |
Сегмент
данных
Сегмент
данных
Сегмент
данных
Вычисление физического адреса в
реальном режиме
Указатель адреса
сегмент : смещение
1) Умножить сегментную составляющую на 10h
2) Сложить со смещением
Физический адрес