![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
МП содержит 6 регистров сегментов. Это означает, что одновременно могут быть активными и участвовать в процедуре трансляции только 6 сегментов. Для загрузки сегментов данных, включая сегмент стека, имеются специальные команды "загрузить сегмент".
В работе механизма защиты при обращении к данным можно выделить два этапа:
· загрузка (активизация) сегмента данных,
· обращение к сегменту данных для чтения или записи операндов при выполнении команд программы (с использованием процедуры трансляции сегмента).
Загрузка сегментов данных (включая стековые)производится командами "Загрузка указателя в регистр смещения". Это команда типа регистр - память:
(LDS, LES, LFS, LGS, LSS) reg, mem.
Основные этапы выполнения команды:
· чтение по адресу "mem";
· прочитанные данные интерпретируются как селектор целевого сегмента и смещение (адрес в целевом сегменте),
· сохранение выбранных значений в буферных регистрах,
· обращение к таблице дескрипторов по выбранному целевому селектору,
· сохранение значения дескриптора целевого сегмента в дескрипторный регистр, ассоциативно связанный с заданным сегментным регистром;
· загрузка в РОН, указанный полем reg команды, смещения, выбранного при чтении по адресу "mem". В дальнейшим этот адрес может использоваться в качестве базового для задания адресов компонентами.
Схема выполнения команды загрузки сегментного регистра (рис. 3.19).
Обобщенная схема вычисления линейного адреса в защищенном режиме представлена на рис. 3.20.
Результатом трансляции сегмента является линейный адрес. Это адрес линейной (плоской) памяти. Но он необязательно должен совпадать с адресом физической памяти. Все зависит от бита включения механизма подкачки страниц (трансляции страниц) в управляющем регистре СR3. Если он не включен, то линейный адрес является адресом обращения к физической памяти, иначе производится трансляция страниц для формирования физического адреса.
Вопросы для самопроверки:
1. 5 групп двуместных команд.
2. Структура команд МП IA-32 (побайтно).
3. Префикс блокировки шины.
4. Префикс блокировки замены сегмента.
5. Префикс переключения разрядности адреса.
6. Префикс повторения.
7. Поля и назначение постбайта в МП IA-32.
8. Поля и назначение SIB-байта в МП IA-32.
9. Процедура активации сегментов в МП IA-32.
10. Процедура трансляции сегментов в МП IA-32.
11. Определите и расшифруйте коды поля md постбайта в МП IA-32.
12. Определите и расшифруйте коды поля r/r постбайта в МП IA-32.
13. Определите и расшифруйте коды поля r/m постбайта в МП IA-32.
Дата публикования: 2014-11-03; Прочитано: 475 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!