Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 157

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 151 152 153 154 155 156 < 157 > 158 159 160 161 162 163 .. 528 >> Следующая

программах. Обычно МП поддерживает прикладные системы, которые могут
содержать сотни и тысячи программных модулей. Для таких систем важна
возможность обнаруживать ошибки, причем как можно быстрее, и сводить к
минимуму ущерб от таких ошибок. Для быстрой отладки прикладных программ и
для более надежного их выполнения современные МП имеют механизмы проверки
обращений к памяти и выполнения инструкций (команд) на соответствие
критериям защиты. Эти механизмы могут быть проигнорированы в реальных
проектах систем.
3.4.2. ОБЗОР МЕХАНИЗМОВ ЗАЩИТЫ
Защита в современных МП ВС имеет 5 аспектов:
1) проверка типа;
2) проверка границы (предела);
3) ограничение адресуемой области;
4) ограничение точек входа в процедуру;
5) ограничение набора команд.
Аппаратура защиты МП является неотъемлемой частью аппаратуры управления
памятью. Защита применяется как при сегментной, так и при страничной
трансляции. Каждое обращение к памяти проверяется аппаратурой на предмет
удовлетворения критерию защиты. Все эти проверки делаются до начала цикла
обращения к памяти. Любое противоречие предотвращает начало цикла и
вырабатывает исключение. В данной главе говорится только о том, какие
нарушения приводят к исключениям.
Концепция "привилегий" является центральной для нескольких аспектов
защиты (аспекты 3, 4, 5 вышеприведенного перечня). Эта концепция
используется как при защите сегментов, так и при защите страниц.
3.4.3. УРОВЕНЬ ЗАЩИТЫ СЕГМЕНТОВ
Все пять аспектов защиты используются при сегментной трансляции:
1) проверка типа;
2) проверка границы;
3) ограничение адресуемой области;
4) ограничение точек входа в процедуру;
5) ограничение набора команд.
Сегмент с позиций защиты - это единица защиты, а дескрипторы сегментов
хранят параметры защиты. Проверка защиты выполняется ЦП автоматически в
момент загрузки
270
ЗАЩИТА ПАМЯТИ
селектора дескриптора сегмента в сегментный регистр и при каждом
обращении к сегменту. Сегментные регистры хранят параметры защиты текущих
сегментов (сегменты текущего, выполняемого процесса).
Сохраняемые параметры защиты в дескрипторах. На рис. 3.24 показаны поля
дескрипторов сегментов, имеющие отношение к защите сегментов.
Параметры защиты помещаются в дескриптор операционной системой в момент
создания дескриптора. Обычно программисты-прикладники не имеют дело с
параметрами защиты.
Когда программа загружает селектор в сегментный регистр, процессор
загружает не только базовый адрес сегмента, но и информацию, связанную с
защитой. Каждый сегментный регистр имеет "скрытую"1 часть, в которой
сохраняются: база сегмента, предел сегмента, тип и уровень привилегий;
поэтому последовательные проверки защиты при обращении к одному и тому же
сегменту не связаны с затратой дополнительных тактов.
Проверка типа. Поле "тип дескриптора" имеет две функции:
1) устанавливает различие между разными форматами дескрипторов;
2) специфицирует функциональное назначение сегмента.
Кроме дескрипторов сегментов данных и кодовых сегментов, обычно
используемых прикладными программами, есть еще дескрипторы специальных
сегментов, используемые операционной системой и дескрипторы вентилей
(шлюзов). Табл. 3.4 содержит все значения поля "тип" для системных
сегментов и вентилей.
Дескриптор сегмента данных
31 23 15 7 0
База 31-24 G В 0 AVL Предел 19-16 Р DPL Тип 1 0EWA
База 23-16
База сегмента 15-0 Предел сегмента 15-0

Дескрипторы исполняемого сегмента 31 23 15 7 0
База 31-24 G В 0 AVI- Предел 19-16 Р DPL Тип 1 1 С R
А База 23-16
База сегмента 15-0 Предел сегмента 15-0

Дескрипторы системного сегмента 31 23 15 7 0
База 31-24 G X 0 AVL Предел 19-16 Р DPL 0 Тип
База 23-16
База сегмента 15-0 Предел сегмента
15-0
Рис. 3.24. Поля защиты дескриптора сегментов (А - бит обращения; AVL -
бит, доступный для использования программистом; В - "большой" бит; С -
бит согласования; D - разряд по умолчанию; DPL - уровень привилегий
дескриптора; Е - бит прямой и обратной записи; G - бит дробности; Р - бит
присутствия; R - бит доступности для чтения; W - бит доступности для
записи)
1 Ее называют также невидимой или кэш-частью сегментного регистра.
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
1
Таблица 3.4
Значения поля "тип" для системных сегментов и вентилей
Шестнадцатеричный код Тип сегмента или вентиля
0 Зарезервирован
1 16 разр. TSS доступен
2 Таблица LDT
3 16 разр. TSS занят
4 16 разр. Вентиль вызова
5 Вентиль задачи
6 16 разр. Вентиль прерывания
7 16 разр. Вентиль ловушки
8 Зарезервирован
9 16 разр. TSS доступен
А Зарезервирован
В 32 разр. TSS занят
С 32 разр. Вентиль вызова
D Зарезервирован
Е 32 разр. Вентиль прерывания
F 32 разр. Вентиль ловушки
Заметим, что не все дескрипторы описывают сегменты; дескрипторы вентилей
вызова имеют другую цель.
Поля типа дескрипторов сегментов данных и кодовых сегментов включают
разряды, которые в дальнейшем определяют степень защиты сегмента (см.
Предыдущая << 1 .. 151 152 153 154 155 156 < 157 > 158 159 160 161 162 163 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed