Дескрипторные таблицы.

 

Начиная с процессоров i386, допускается любое число сегментов памяти. Описывающие сегменты дескрипторы позволяют процессору следить за информацией о сегментах. Поэтому все дескрипторы располагаются в одном месте. Первые варианты дескрипторов реализовывались аппаратно, а потом стали размещать в ОП. Эта область памяти получила название дескрипторных таблиц. Дескрипторные таблицы делятся на 3 типа, отличающиеся способом использования:

1) GDT (global descriptor table) – глобальные дескрипторные таблицы. Это общесистемная таблица. Ее могут использовать все задачи. Для локализации GDT используется специальный регистр GDTR, в котором находится 32-х битное поле линейного базового адреса таблицы и 16-ти битное поле предела с битной гранулярностью. Значение предела L связано с числом дескрипторов N соотношением L=8*N-1.

2) IDT (interrupt descriptor table) – дескрипторная таблица прерываний. Она содержит дескрипторы специальных системных объектов. Эти объекты называются шлюзами и определяют точки входа процедур обработки прерываний и особых случаев. Данная таблица служит заменой таблицы векторов прерываний. Для локализации таблицы IDT служит системный регистр IDTR. Его формат аналогичен формату регистра GDTR.

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

3) LDT (local descriptor table) – локальные дескрипторные таблицы. Используются в мультизадачной системе для каждой задачи в дополнение к глобальной дескрипторной таблице, она определяет сегменты доступные только этой системной задаче. Для локализации LDT предназначен 16-ти разрядный регистр LDTR, который содержит только селектор.

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

Формирование линейного адреса через дескрипторные таблицы.

В микропроцессорах начиная с i386 формирование линейного адреса выполняется двумя способами: 1) 16-ти битная адресация; 2) 32-х адресная адресация.

 








Дата добавления: 2017-04-20; просмотров: 871;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.