Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПЭВМ.doc
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
10.46 Mб
Скачать

2) Сегментные регистры

Рисунок 30 - Сегментные регистры

Сегментные регистры независимо от модели МП 16 разрядные и определяют сегменты памяти – блоки смежных ячеек ОП.

а) RM

Содержимое сегментного регистра явно определяет сегмент памяти, так как каждый сегмент равен 64К=const. В сегментный регистр загружается база сегмента.

б) PM

ША=32, ОП=4Гб

Содержимое сегментного регистра определяет сегмент косвенно через дескрипторную таблицу, так как размеры сегментов разные, и для работы МП с данным сегментом нужна полная характеристика сегмента, называемая дескриптором (базовый адрес, размер сегмента, тип сегмента, где находится и т. д.). Все дескрипторы собраны в дескрипторную таблицу, и в сегментный регистр загружается селектор, который выбирает из дескрип-

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

CS – сегментный регистр кода. Определяет текущий сегмент, содержащий машинные коды текущей программы.

SS – сегментный регистр стека, задающий текущий сегмента стека.

DS – сегментный регистр данных, указывает на главный сегмент, содержащий данные текущей программы, ES, FS, GS – дополнительные сегментные регистры, указывающие на 3 дополнительных сегмента данных текущей программы.

3) Указатель команды eip/ip

EIP

IP

Рисунок 31 - Указатель команды EIP/IP

Служит для адресации команд внутри текущего сегмента кода. В EIP/IP образуется адрес следующей по порядку команды.

В операциях с EIP участвуют двойные слова, с IP – слова.

4) Регистр флагов

EFlags

Flags

Рисунок 32 - Регистр флагов

Содержит 8 флагов состояния и 6 флагов управления

а) Флаги состояния

Сообщают об особенностях выполнения команд обработки данных

CF – флаг переноса

PF – чётность

AF – вспомогательный перенос

ZF – флаг нуля

SF – флаг знака

OF – флаг переполнения

IOPL – I/O Privilege level

Каждая ОС имеет 4 уровня привилегий. Это двухбитное поле, показывает уровень привилегий выполняемой задачи.

NT – вложенной задач

Устанавливается в единицу, когда текущая задача производит переключение на другую задачу. Этот флаг проверяет команда возврата iret,и при NT = 1 идёт переключение задач, а при NT=0 обычный возврат из прерывания.

б) Флаги управления

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

TF – флаг трассировки или покомандной работы или ловушки. При TF = 1 после каждой команды генерируется прерывание с переходом к отладчику, то есть TF используется для отладки программ.

IF – флаг прерывания

DF – флаг направления обработки цепочки

RF – флаг возобновления. Действует тоже в процессе отладки. Установив RF в 1, можно маскировать некоторые особые случаи в отладки программ.

VM – флаг виртуального режима. При VM = 0 МП в RM или PM. При VM = 1 МП переводится в режим, который эмулирует программную среду МП 86 с режимом многозадачности.

AC – контроль выравнивания при обращении к памяти. AC=1 разрешает контроль выравнивания.