Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arkhitektura.docx
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
2.08 Mб
Скачать

11. Дескрипторные таблицы idt, ldt, gdt.

Для удобства работы МП с информацией о сегментах все дескрипторы собраны в одном месте – в дескрипторной таблице. Порядок размещения дескрипторов в таблице не играет роли. А максимальное число дескрипторов равно 8192, так как максимальный размер таблицы дескрипторов 64К, а размер дескриптора 8 байт.

Микропроцессором используются таблицы трёх типов: GDT – глобальная дескрипторная таблица – это главная общесистемная таблица, которую используют все задачи, так как GDT хранит дескрипторы всех, имеющихся в ОП сегментов. Для локализации таблицы GDT используется 48 разрядный регистр GDTR (см. выше), в котором находится 32 битное поле базового адреса таблицы и 16 битное поле предела таблицы.

IDT – таблица дескрипторов прерываний. Общесистемная таблица, но содержит дескрипторы специальных системных объектов – прерываний, называемых шлюзами, которые определяют точки входа процедур обработки прерываний. Таблица IDT служит заменой таблицы векторов прерываний МП 8086. Для локализации таблицы IDT используется регистр IDTR, формат которого аналогичен регистру GDTR.

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

Если регистры GDTR и IDTR загружаются в самом начале работы системы и далее не меняются, то таблицы LDT создаются по мере необходимости. Причём в любом свободном сегменте физической ОП. Для доступа к этим регистрам введены специальные команды, которые доступны программам с наивысшем уровнем привилегии (процедурам ОС):

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]