Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защищенный режим микропроцессоров Чернышев ГВ, Нальчик 2003 (Мет пособие).pdf
Скачиваний:
68
Добавлен:
15.06.2014
Размер:
570.38 Кб
Скачать

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

 

 

Дополнительные сведения

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1

 

Назначение полей дескриптора сегмента

 

 

 

 

 

 

 

 

 

 

 

Номер

Количест-

Символическое

 

Назначение и содержание полей

 

 

байта

во бит

обозначение

 

 

в дескрипторе

 

 

 

 

в поле

дескриптора

 

 

 

 

 

 

 

 

0...1

16

limit_1

Младшие

биты 0...15

20-разрядного

 

 

 

 

поля предела сегмента, который опре-

 

 

 

 

деляет размер сегмента в едини,

 

 

 

 

определяемых битом гранулярности g

 

2...4

23

base 1

Биты 0...23 32-разрядной базы сегмен-

 

 

 

 

та,

которая

определяет

значение

-ли

 

 

 

нейного адреса начала сегмента в па-

 

 

 

мяти

 

 

 

 

 

 

5

8

AR

Байт, поля которого определяют права

 

 

 

 

доступа к сегменту(табл. 2 приложе-

 

 

 

ния А)

 

 

 

 

 

 

6

0..3

limit_2

Старшие

биты 16...19

20-разрядного

 

 

 

 

предела сегмента

 

 

 

 

6

1

U

Бит пользователя (User). He имеет спе-

 

 

 

 

циального назначения и может исполь-

 

 

 

зоваться по усмотрению программиста

 

 

 

 

 

 

 

 

6

1

0 – бит не используется

 

 

 

 

6

1

D

Бит разрядности операндов и адресов:

 

 

 

 

0 – в программе используются 16-раз-

 

 

 

рядные операнды и режимы 16-разряд-

 

 

 

ной

адресации; 1 – в

программе

ис-

 

 

 

пользуются 32-разрядные

операнды

 

 

 

режимы 32-разрядной адресации

 

 

6

1

G

Бит гранулярности: 0 – размер сегмен-

 

 

 

 

та равен значению в поле limit в бай-

 

 

 

тах; 1 – размер сегмента

равен значе-

 

 

 

нию в поле limit в страницах

 

 

7

8

base 2

Биты 24...31

32-разрядной базы

сег-

 

 

 

 

мента

 

 

 

 

 

 

80

 

Байт AR дескриптора сегмента

 

 

Таблица 2

 

 

 

 

 

 

Номер бита

Символическое

 

 

Назначение и содержимое

 

 

 

в байте AR

обозначение

 

 

 

 

 

 

 

 

 

 

0

А

Бит доступа (Accessed) к сегменту. Устанавли-

 

 

 

вается аппаратно при обращении к сегменту

 

 

1

R

Для сегмента кода – это бит доступа по чтению

 

 

(Readable); определяет, возможно ли чтение из

 

 

 

сегмента кода при осуществлении замены пре-

 

 

 

фикса сегмента:

 

 

 

 

 

 

 

 

0

– чтение из сегмента запрещено;

 

 

 

 

W

1

– чтение из сегмента разрешено.

 

 

 

 

Для сегментов данных — это бит записи:

 

 

 

 

0 – модификация данных в сегменте запрещена;

 

 

 

1

– модификация данных в сегменте разрешена

 

2

С

Для

сегментов

кода

— это

бит

подчинен

 

 

 

(Conforming):

 

 

 

 

 

 

 

 

 

1

— подчиненный сегмент кода;

 

 

 

 

 

 

0

— обычный сегмент кода.

 

 

 

 

 

 

ED

Для

многозадачного

режима

определяет

осо-

 

 

бенности смены значения текущего ур

 

 

привилегий. Для сегментов данных — это бит

 

 

расширения вниз (Expand Down); служит для

 

 

различения сегментов стека и данных, а также

 

 

определяет трактовку поля limit:

 

 

 

 

 

 

0

– сегмент данных;

 

 

 

 

 

 

 

 

1

– сегмент стека.

 

 

 

 

 

 

3

I

Бит предназначения (Intending):

 

 

 

 

 

 

0

— сегмент данных или стека;

 

 

 

 

 

 

1

– сегмент кода.

 

 

 

 

 

 

4

S

Если S=1 — то это бит сегмента (Segment). Для

 

 

 

любых сегментов в памяти равен 1. Назначение

 

 

и порядок использования сегмента уточняется

 

 

битами С и R; если – 0 – то это бит системный

 

 

(System). Такое состояние

битаS

говорит

о

 

 

том, что данный дескриптор описывает специ-

 

 

альный системный объект, который может и не

 

 

быть сегментом в памяти

 

 

 

 

 

5...6

dpl

Поле

уровня

привилегий

сегмента(Descriptor

 

 

 

Privilege Level). Содержит численное значение

 

 

в

диапазоне

от0 до 3 привилегированности

 

 

сегмента, описываемого данным дескриптором

7

Р

Бит присутствия (Present):

 

 

 

 

 

 

 

0

– сегмента нет в оперативной памяти в дан-

 

 

ный момент;

 

 

 

 

 

 

 

 

 

1 – сегмент находится в оперативной памяти в

 

 

данный момент.

 

 

 

 

 

 

81

Таблица 3 Распределение прерываний в защищенном, и реальном режимах

Номер

Реальный режим

Защищенный режим

Тип

Код ошибки

Вектора

 

 

 

 

 

 

 

 

прерывания

 

0

Деление на ноль

Деление на ноль

Ошибка

Не формируется

1

Пошаговой

работы

Пошаговой

 

работыОшибка

Не формируется

 

 

 

 

 

 

 

 

ловушка

 

2

Сигнал на входеNMI

Сигнал на входеNMI

Ловушка

Не формируется

3

Контрольная точка

Контрольная точка

Ловушка

Не формируется

4

Переполнение

 

Переполнение

 

Ловушка

Не формируется

5

BIOS: печать

экра-

Нарушение

 

грани Ошибка

Не формируется

 

на; нарушение

гра-

массива

 

 

 

 

 

 

 

ниц массива

 

 

 

 

 

 

 

 

6

Недопустимая

-

коНедопустимая

-коОшибка

Не формируется

 

манда

 

 

манда

 

 

 

 

 

 

7

Обращение

к

отсут-

Обращение к отсутОшибка

Не формируется

 

ствующему

 

 

ствующему

 

сопро-

 

 

 

сопроцессору

 

цессору

 

 

 

 

 

 

8

Микросхема

тайме-

Двойная ошибка

Авария

Формируется

 

ра/двойная ошибка

 

 

 

 

 

 

(всегда 0)

9

Клавиатура

 

 

Не используется

-

 

Формируется

10 (0Ah)

Сигнал

на

ли

Ошибочный TSS

Ошибка

Формируется

 

IRQ_2

 

 

 

 

 

 

 

 

 

11 (OBh)

Сигнал

на

ли

Отсутствие

сегменОшибка

Формируется

 

IRQ_3

 

 

та

 

 

 

 

 

 

12 (0Сh)

Сигнал

на

ли

Выход

за

 

предел Ошибка

Формируется

 

IRQ_4/выход

 

стека

или

 

отсутст-

 

 

 

пределы стека

 

вие стека

 

 

 

 

 

13 (0Dh)

Сигнал

на

ли

Нарушение

 

обще Ошибка

Формируется

 

IRQ_5/нарушение

защиты

 

 

 

 

 

 

 

общей защиты

 

 

 

 

 

 

 

 

14 (0Eh)

Контроллер

 

НГМДОтсутствие

страниОшибка

Формируется

 

сигнал на линии IRQ-6

цы памяти

 

 

 

 

 

15

Сигнал

на

ли Не используется

 

(0Fh)

IRQ_7

 

 

 

 

 

 

 

 

 

16 (10h)

BIOS: функции ви-

Ошибка

сопроцесОшибка

Не формируется

 

деосистемы/ ошибка

сора

 

 

 

 

 

 

 

сопроцессора

 

 

 

 

 

 

 

 

17(llh)

Используется для преОшибка

выравниваОшибка

Формируется

 

рываний BIOS и DOS

ния

 

 

 

 

 

(всегда 0)

18-31

Используется для преЗарезервировано

 

(12h-19h)

рываний BIOS и DOS

 

 

 

 

 

 

 

32-255

Используется

д Аппаратные

 

прерыЛовушка

Не формируется

20h-0ffh)

прерываний BIOS и вания;

прерывания,

 

 

 

 

DOS

 

 

определяемые

 

поль-

 

 

 

 

 

 

 

зователем и ОС

 

 

 

82