агрузка (активизация) сегмента данных,
обращение к сегменту данных для чтения или записи операндов при выполнении команд программы (с использованием процедуры трансляции сегмента).
Загрузка сегментов данных (включая стековые) производится командами "Загрузка указателя в регистр смещения". Это команда типа регистр - память:
(LDS, LES, LFS, LGS, LSS) reg, mem.
Основные этапы выполнения команды:
чтение по адресу "mem";
прочитанные данные интерпретируются как: селектор целевого сегмента, смещение (адрес в целевом сегменте),
сохранение выбранных значений в буферных регистрах,
обращение к таблице дескрипторов по выбранному целевому селектору,
сохранение значения дескриптора целевого сегмента в дескрипторный регистр, ассоциативно связанный с заданным сегментным регистром;
загрузка в РОН, указанный полем reg команды, смещения, выбранного при чтении по адресу "mem". В дальнейшим этот адрес может использоваться в качестве базового для задания адресов компонентами.
Схема выполнения команды загрузки сегментного регистра (рис. 3. 19).
Обобщенная схема вычисления линейного адреса в защищенном режиме представлена на рис. 3. 20.
Результатом трансляции сегмента является линейный адрес. Это адрес линейной (плоской) памяти. Но он необязательно должен совпадать с адресом физической памяти. Все зависит от бита включения механизма подкачки страниц (трансляции страниц) в управляющем регистре СR3. Если он не включен, то линейный адрес является адресом обращения к физической памяти, иначе производится трансляция страниц для формирования физического адреса.
Вопросы для самопроверки:
1. 5 групп двуместных команд.
2. Структура команд МП IA-32 (побайтно).
3. Префикс блокировки шины.
4.
Страницы: << < 35 | 36 | 37 | 38 | 39 > >>