Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПЭВМ.doc
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
10.46 Mб
Скачать

7) Локальная дескрипторная таблица (ldt)

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

Рисунок 52 – Формат дескриптора LDT

Поле предела – 20 бит. Но используются только 16 младших бит. Поэтому максимальный размер LDT 64К.

Бит G не используется для определения предела и всегда равен 0. В правах доступа бит S равен 0, так как таблица LDT – системный объект. У таких дескрипторов нет бита обращения A, за счёт чего поле тип 4 бита вместо 3-х и это поле всегда равно 0010, которое определяет целевое назначение данного дескриптора.

Бит P должен быть равен 1. Если вдруг P=0, таблица LDT для МП считается недействительной и МП не разрешает загружать в регистр LDTR се

лектор не присутствующей таблицы.

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

8) Особенности сегментации

а) Неперекрывающиеся сегменты (лист 1)

Рисунок 53 - Неперекрывающиеся сегменты памяти

При статическом распределении ОП создаётся таблица дескрипторов GDT для определения всех сегментов с учётом их назначения, например: 1 сег-мент кода, 2 сегмента данных и один сегмент стека.

И обычно сегментам назначаются соседние адреса так, что конец одного сегмента совпадает с началом другого.

б) Перекрывающиеся сегменты.

Рисунок 54 - Перекрывающиеся сегменты памяти

Представим, что сегмент данных 1 увеличен на 4К, и в его дескрипторе поле предела изменится до 16 К. Два сегмента данных окажутся перекрытыми. Хотя поле базы в обоих дескрипторах не изменится. Большая проблема в этом случае в переадресации, так как «взятые» 4К по окончании задачи нужно освободить. В современных ПК применяется динамическое распределение ОП (см. выше).

2) Страничная организация памяти

В PM и RM МП поддерживается страничное преобразование адресов если CR0[31]=1.

На аппаратном уровне за это отвечает внутреннее устройство управления памятью MMU – Memory Management Unit. Обычно MMU это отдельная микросхема, а в современных ПК оно интегрировано в чипсет MB. Основ-

ное применение страничного преобразования связано с организацией виртуальной памяти, которая позволяет использовать большее адресное пространство, чем физическая ОП. На программном уровне страничном преобразованием занимается ОС. Базовым объектом при страничном преобразовании служит страница – это блок фиксированного размера в 4К (сегмент – любого размера).

1 Структура страниц (лист 7)

Рисунок 55 Страничная память

При разрешённом страничном преобразовании всё линейное адресное пространство в 4 Гб делится на 1 Мб страниц по 4 К каждая. Физическая память тоже делится на страницы, которые называются страничном кадром

или просто кадром.

Отсутствующие в физической ОП страницы обычно хранятся на ЖД в внешней памяти. Границы сегментов и страниц не зависят друг от друга и не обязательно должны быть выровнены – это теоретически. На практике небольшие сегменты выравнивают так, чтобы они находились в пределах

одной страницы.

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