Программная модель МП Intel ( IA -32). Система регистров МП. Назначение, типы регистров. Регистры прикладного программиста. Флаги.
Intel IA-32:
- ЦП 8086
- ЦП 80286
1) ЦП 8086 – билет 12
2) ЦП 80286:
Программная модель процессора 80286 включает 14 регистров ЦП 8086, пять новых регистров:
GDTR - 40-разрядный регистр определяет размер и положение глобальной дескрипторной таблицы;
LDTR - 16-разрядный регистр определяет базовый адрес локальной дескрипторной таблицы;
IDTR - 40-разрядный регистр определяет начало и размер таблицы векторов прерываний;
MSW - слово состояния программы (, если флаг PE = 1 в MSW, то процессор переключается в защищенный режим).;
TR - 16-разрядный регистр содержит селектор сегмента состояния задачи, используется для многозадачности,
и шесть программно недоступных регистров, связанных с CS, DS, ES, SS, GDTR, IDTR.
Режимы работы
С появлением Inte-l286 впервые стали говорить о различных режимах работы IA-32. Это первый представитель данного семейства микропроцессоров, в котором были реализованы многозадачность и защищенная архитектура. Чтобы обеспечить совместимость с предыдущими представителями этого семейства (8086/88, 80186/188), в Intel-286 было реализовано два режима функционирования: режим реального адреса (режим эмуляции 8086) и защищенный режим, в котором используются все возможности МП. В последующих поколениях МП этого семейства защищенный режим становится основным режимом работы.
Формирование линейного адреса без участия селекторов
В режиме реального адреса используется упрощенная схема формирования линейного адреса.
|
|
В этом случае базовый адрес сегмента берется из сегментного регистра. Значение в сегментном регистре представляет собой биты 4-19 базового адреса сегмента. Из этого следует, что сегменты в этих режимах выровнены по 16-битной границе и все сегменты начинаются в пределах нижнего мегабайта линейного адресного пространства. Действительный физический адрес получается умножением на 16 базового адреса сегмента. Предел для всех сегментов одинаков. В режиме реального адреса предел сегмента - 64 Кбайт.
Рис. Формирование физического адреса в реальном режиме
Формирование линейного адреса в защищенном режиме
Значения, помещаемые в сегментные регистры, называются селекторами. Селектор содержит индекс дескриптора, определяющий номер записи в дескрипторной таблице, бит TI, указывающий, к какой дескрипторной таблице производится обращение LDT (TI = 1) или GDT (TI = 0), а также запрашиваемые права доступа к сегменту - RPL
Рис. Структура селектора
По указанному в селекторе номеру записи в соответствующей (бит TI селектора) дескрипторной таблице определяется дескриптор сегмента.
Дескриптор - это 8-байтная единица описательной информации, распознаваемая устройством управления памятью в защищенном режиме, хранящаяся в дескрипторной таблице.
|
|
Дескриптор сегмента содержит базовый адрес описываемого сегмента, предел (размер) сегмента и права доступа к сегменту. В защищенном режиме сегменты могут начинаться с любого линейного адреса.
Для определения физического адреса базовый адрес сегмента суммируется со смещением.
Существуют две обязательных дескрипторных таблицы - глобальная (GDT) и дескрипторная таблица прерывания (IDT), - а также множество (до 8192) локальных дескрипторных таблиц (LDT), из которых в одинединый момент времени процессору доступна только одна. Расположение дескрипторных таблиц определяется регистрами процессора GDTR, IDTR, LDTR.
Регистры GDTR и IDTR - содержат базовый адрес и предел дескрипторной таблицы.
Программно доступная часть регистра LDTR - 16 бит, которые являются селектором LDT. Дескрипторы LDT находятся в GDT. Однако, чтобы не обращаться каждый раз к GDT, в процессоре имеется теневая (программно недоступная) часть регистра LDTR, в которую процессор помещает дескриптор LDT при каждой перегрузке селектора в регистре LDTR.
Дата добавления: 2020-01-07; просмотров: 182; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!