![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В программной модели МП IA-32 от МП IA-16 с поправками на разрядность ширины обработки данных сохранились следующие решения:
· модель сегментированной математической памяти,
· задание адресов в сегменте компонентами, но с расширением возможностей по заданию адреса в массиве (использование возможности индексирования элементов массива в произвольном порядке),
· выделение адресного пространства для портов (программно-доступных регистров контроллеров устройств ввода-вывода).
Основной особенностью программной модели МП IA-32, кроме расширения разрядности адресов данных и команд, индексирования элементов массива в произвольном порядке и многократного расширения адресного пространства математической памяти, является встроенная аппаратная система защиты программ от взаимных помех.
Эта система предусматривает:
· использование специальных программных структур:
1. дескрипторов сегментов, определяющих сегменты (данных, программ),
2. дескрипторов шлюзов (точек входов в программные сегменты).
· введение системных и пользовательских таблиц дескрипторов,
· введение новой процедуры программных переходов "переключение задач".
· введение набора системных регистров дескрипторов.
Дескрипторы сегментов. В реальных режимах МП IA-16 и МП IA-32, сегментные регистры содержат непосредственно базовый адрес сегмента.
В защищенном режиме МП IA-32 задание сегментов производится с использованием специальных программных объектов – дескрипторов сегментов.
Дескриптор сегмента (рис.3.8) является 64-битовым поисковым образом сегментов. Дескриптор сегмента определяет тип сегмента, расположение в памяти (базовый адрес и размер), права доступа и использования.
Основными полями дескрипторов являются:
· базовый адрес сегмента (32 бита),
· размер сегмента (20 бит),
· поле атрибутов (12 бита).
Поле атрибутов содержит:
· бит дробности G (Granularity – 4 разряда),
· тип сегмента,
· настройки прав доступа и использования (8 разрядов).
Впервые дескрипторы появились в промежуточной 16-битной по данным и 24-битной по адресу модели МП 80286 для организации защищенного режима. В МП 80386, с переходом на полную 32-разрядную архитектуру пришлось изменять разрядность полей сегментных регистров. Но в целях программной совместимости моделей, расположение полей дескрипторов МП 80286 оставили без изменений и в расширенных дескрипторах МП 386 и старше. В результате биты расширений дескрипторов в МП 386 оказались в адресах, несмежных с адресами основных полей.
На рис.2.6. биты полей дескрипторов для наглядности сгруппированы в отдельные массивы смежных адресов.
Базовый адрес сегмента (B) | Предел (L) | Атрибуты AR | |||||||||||||||
G | |||||||||||||||||
G | P | DPL | S | Type(4бита) | |||||||||||||
Рис.3.8. Структура дескриптора сегмента | |||||||||||||||||
Базовый адрес сегмента (32 бита ) определяет адрес сегмента в линейной памяти (оперативной или внешней). Используется в процедуре трансляции сегмента. Для указания о присутствии сегмента в оперативной памяти используется бит P – Presentв поле прав доступа AR.
ПределL определяет размер сегмента. Используется для обнаружения обращений к адресам за пределами сегмента, при каждом обращении к сегменту по записи или чтению. Значение предела может быть задано в байтах и в страницах (по 4 Кбайта) битом дробности G (Granularity ) в поле атрибутов.
Поле атрибутовсодержит бит дробности G, байт прав доступа AR (тип сегмента, права доступа и использования).
Поле Typeв AR – определяет тип сегмента.По типу сегменты делятся на системные и несистемные. К несистемным сегментам относятся сегменты, программно доступные программам пользователей. Это кодовые сегменты (программы), сегменты данных и стеков.
По возможностям использования сегменты характеризуются так:
CS – исполняемые и читаемые безусловно, записываемые – по биту разрешения,
SS – неисполняемые, читаемые и записываемые безусловно,
ES, DS, FS, GS – неисполняемые и читаемые безусловно, записываемые – по биту разрешения,
Дата публикования: 2014-11-03; Прочитано: 308 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!