Программная модель МП PentiumIV. Совокупность всех программно доступных регистров микропроцессора

Страницы работы

Содержание работы

16. Программная модель МП PentiumIV.

Совокупность всех программно доступных регистров микропроцессора образует его программную или регистровую модель. Она включает те ресурсы процессора, которыми может пользоваться программист, привлекая его систему команд.

Программная модель МП-системы на основе процессора Pentium состоит из:

-  регистровой модели процессора;

-  4-Гбайтного адресного пространства памяти;

-  64-Кбайтного адресного пространства ввода-вывода.

В состав элементов прикладной программной модели (Рис.1.) включают:

-  полный набор программно доступных регистров, с которыми оперирует пользователь при написании прикладных программ;

-  особенности организации памяти и допустимые способы адресации;

-  типы данных и команды.

Системная программная модель в основном используется системными программистами. Она объединяет программно доступные системные  ресурсы процессора, с помощью которых обеспечивается доступ к встроенным механизмам защиты и многозадачности.

Рис.1.

Отличительная особенность данной программной модели - возможность  использования  регистров  общего  назначения  в  формате  байт,  слово  или  двойное  слово,  а  остальных  регистров -  в  формате  слово  или  двойное  слово.  Это  сделано  для  обеспечения  программной  совместимости  процессора Pentium с 16-разрядными  МП  х86 . 

8-  и  16-разрядные  РОН  имеют  стандартное  обозначение: AHALDHDLCHCLBHBLAXDXCXBXBPSPSIDI. При обозначении  32-разрядных регистров в наименование 16-разрядных регистров  добавляется  буква E (Extension).

Назначение регистров:

1.  РОН, регистры-указатели и индексные регистры могут использоваться при выполнении большинства арифметических и логических операций;

2.  Регистры  ЕAХ (AХ), ЕВХ (ВХ), ЕСХ (СХ), ЕDХ (DХ)  - для хранения данных и результатов арифметических и логических операций. В ряде команд эти же регистры используются для выполнения специальных функций и адресуются неявно. Регистр ЕАХ (АХ) в определенном смысле выполняет функции аккумулятора;

3.  Регистр ЕВХ (ВХ) - указатель адреса при косвенной адресации;

4.  Регистр СХ выполняет функции счетчика циклов в командах управления циклом или счетчика числа повторений в командах строковых операций. Регистр СL определяет число сдвигов в командах сдвиговых операций;

5.  Регистр ЕDХ (DХ) – расширитель аккумулятора  в командах “*” и “/” 32-битовых (16-битовых) слов. При “*”в этом регистре размещаются старшие 32 бита (16 бит)  64-разрядного (32-разрядного) результата, а при “/”в регистре ЕDХ (DХ) формируется остаток; при реализации косвенной адресации к портам ввода-вывода в командах IN и OUT регистр используется для хранения адреса порта;

6.  Регистры ЕSP(SP), ЕBP(BP), ЕSI(SI), ЕDI(DI) обычно используются при формировании внутрисегментных смещений адресуемых операндов (их исполнительных адресов ЕА). Указательные регистры ЕSP (SP), ЕBP (BP) хранят смещение в пределах текущего стекового сегмента. Т.к. ЕSP (SP) – указатель вершины стека и его содержимое автоматически изменяется при выполнении команд с участием стека, его НЕЛЬЗЯ использовать как общедоступный;

7.  Индексные ЕSI (SI), ЕDI (DI) при выполнении строковых команд хранят внутрисегментные смещения соответств. в текущем сегменте данных, определяемом DS, и в текущем дополнительном сегменте, адресуемом с помощью селектора ES;

8.  32-разрядный указатель команд  EIP (ExtensionInstructionPointer) предназначен для  задания  внутрисегментного смещения  кодового сегмента CS.  Младшие 16  бит  регистра  EIP содержат  16-разрядный  указатель команд IP, который используется  при адресации  команд  в  программах, написанных для 16-разрядных процессоров  х86. Указатель команд EIP программно недоступен. Его  содержимое  изменяется  при  выполнении  команд передачи управления и  при  вызове обработчиков прерываний.

9.  32-разрядный  регистр  признаков EFLAGSсодержит флаги: результата, управления и системные. 6 флагов результата CF (переноса), PF (паритета), AF (межтетрадного переноса), ZF (нуля), SF (знака) и OF (переполнения) фиксируют признаки АЛУ. Флаг AF используется только в командах двоично-десятичной коррекции результата арифметических операций с двоично-десятичными операндами. 3 флага управления DF, IF и TF - для управления работой микропроцессора. Флаг направления DF (DirectionFlag)  - для автоматического инкремента при DF=0 или декремента при DF=1 содержимого регистров SI и DI при строковых операциях. Флаг разрешения прерываний IF (InterruptenableFlag) управляет реакцией процессора на поступающие запросы маскируемых прерываний по входу INTR. IF=1 МП воспринимает запросы маскируемых прерываний по входу INTR, при IF=0 - маскирование прерываний по входу INTR. Флаг пошагового выполнения TF (TrapFlag) переводит микропроцессор в пошаговый режим, который используется только при отладке.

Системные флаги управляют обработкой исключений, последовательностью вызываемых задач, вводом-выводом и др. Каждая последующая модификация процессора х86 для обеспечения программной совместимости включает все системные флаги предыдущих моделей. Для исключения возможного изменения системных флагов прикладными программами может быть использована система защиты процессора.

Похожие материалы

Информация о работе

Тип:
Ответы на экзаменационные билеты
Размер файла:
468 Kb
Скачали:
0