Ульяновский государственный университет
Опубликован: 18.05.2006 | Доступ: свободный | Студентов: 3768 / 1013 | Оценка: 4.05 / 4.02 | Длительность: 15:15:00
Специальности: Разработчик аппаратуры
Лекция 2:

Архитектура 16-битных микропроцессоров семейства Intel IA-32

< Лекция 1 || Лекция 2: 12 || Лекция 3 >

Архитектура ЦП 80286: основные регистры, режимы работы, адресация памяти

Программная модель процессора 80286 включает 14 регистров ЦП 8086, пять новых регистров:

  • GDTR - 40-разрядный регистр определяет размер и положение глобальной дескрипторной таблицы ;
  • LDTR - 16-разрядный регистр определяет базовый адрес локальной дескрипторной таблицы ;
  • IDTR - 40-разрядный регистр определяет начало и размер таблицы векторов прерываний;
  • MSW - слово состояния программы (, если флаг PE = 1 в MSW, то процессор переключается в защищенный режим ).;
  • TR - 16-разрядный регистр содержит селектор сегмента состояния задачи, используется для многозадачности,

и шесть программно недоступных регистров, связанных с CS, DS, ES, SS, GDTR, IDTR.

Режимы работы

С появлением Intel-286 впервые стали говорить о различных режимах работы IA-32. Это первый представитель данного семейства микропроцессоров, в котором были реализованы многозадачность и защищенная архитектура. Чтобы обеспечить совместимость с предыдущими представителями этого семейства (8086/88, 80186/188), в Intel-286 было реализовано два режима функционирования: режим реального адреса (режим эмуляции 8086) и защищенный режим, в котором используются все возможности МП. В последующих поколениях МП этого семейства защищенный режим становится основным режимом работы.

Формирование линейного адреса без участия селекторов

В режиме реального адреса используется упрощенная схема формирования линейного адреса.

В этом случае базовый адрес сегмента берется из сегментного регистра. Значение в сегментном регистре представляет собой биты 4-19 базового адреса сегмента. Из этого следует, что сегменты в этих режимах выровнены по 16-битной границе и все сегменты начинаются в пределах нижнего мегабайта линейного адресного пространства. Действительный физический адрес получается умножением на 16 базового адреса сегмента (рис. 2.2). Предел для всех сегментов одинаков. В режиме реального адреса предел сегмента - 64 Кбайт.

Формирование физического адреса в реальном режиме

Рис. 2.2. Формирование физического адреса в реальном режиме

Формирование линейного адреса в защищенном режиме

Значения, помещаемые в сегментные регистры, называются селекторами. Селектор содержит индекс дескриптора, определяющий номер записи в дескрипторной таблице, бит TI, указывающий, к какой дескрипторной таблице производится обращение LDT (TI = 1) или GDT (TI = 0), а также запрашиваемые права доступа к сегменту - RPL (рис. 2.3.).

Структура селектора

Рис. 2.3. Структура селектора

По указанному в селекторе номеру записи в соответствующей (бит TI селектора ) дескрипторной таблице определяется дескриптор сегмента.

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

Дескриптор сегмента содержит базовый адрес описываемого сегмента, предел (размер) сегмента и права доступа к сегменту. В защищенном режиме сегменты могут начинаться с любого линейного адреса.

Для определения физического адреса базовый адрес сегмента суммируется со смещением.

Существуют две обязательных дескрипторных таблицы - глобальная (GDT) и дескрипторная таблица прерывания (IDT), - а также множество (до 8192) локальных дескрипторных таблиц (LDT), из которых в один момент времени процессору доступна только одна. Расположение дескрипторных таблиц определяется регистрами процессора GDTR, IDTR, LDTR.

Регистры GDTR и IDTR - содержат базовый адрес и предел дескрипторной таблицы.

Программно доступная часть регистра LDTR - 16 бит, которые являются селектором LDT. Дескрипторы LDT находятся в GDT. Однако, чтобы не обращаться каждый раз к GDT, в процессоре имеется теневая (программно недоступная) часть регистра LDTR, в которую процессор помещает дескриптор LDT при каждой перегрузке селектора в регистре LDTR.

Вопросы

  1. Какие устройства составляют системное ядро ПК?
  2. При инициализации ПК информация о проверке каких устройств выводится на экран дисплея?
  3. С какого процессора семейства х86 количественные изменения в архитектуре кристалла перешли в качественные?
  4. Какими регистрами дополнилась программная модель ЦП 80286?
  5. Что такое селектор? С чем связано его появление? Какова структура селектора?
  6. Как формируется линейный адрес в режиме реальных адресов и в режиме системного управления?
  7. Что такое дескриптор? Какова структура дескриптора?
  8. Как формируется линейный адрес в защищенном режиме?
  9. Что находится в регистрах GDTR, IDTR и LDTR?
  10. Каково содержимое регистра TR? Для чего он нужен?
< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко