7.4.1.4.6. Регистры управления

 

Микропроцессор 80386 имеет три 32-разрядных регистра управления (CRO, CR2 и CR3, a CR1 зарезервирован фирмой Intel), в которых хранятся состояния машины или глобальные состояния. Глобальное состояние-это такое состояние, к которому

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

Системным программистам регистры управления доступны только через варианты команды MOV, которые позволяют их загружать или сохранять в регистрах общего назначения. Формат четырех регистров управления показан на рис. 1.9.

Регистр CRO содержит флаги, которые управляют или показывают условия, относящиеся к системе в целом, а не к отдельной задаче. Младшие 16 бит (биты с О по 15) этого регистра являются словом состояния машины (MSW) для совместимости с защищенным режимом МП 80286.

Бит 31 разбиения на страницы (PG) показывает, использует ли МП 80386 таблицы страниц для трансляции линейных адресов в физические.

Бит 4 расширения (ЕТ) показывает тип сопроцессора (80287 или 80387), присутствующего в системе.

Бит 3 переключения задачи (TS) процессор устанавливает при включении каждой задачи. Он также проверяет этот бит, когда интерпретирует команды сопроцессора, так как состояние последнего требуется сохранять только в случае запроса сопроцессора новой задачей. Бит TS может быть очищен загрузкой в регистр CRO, а также и специальной командой CLTS очистки этого бита.

Рис. 1.9. Форматы регистров управления.

Бит 2 эмуляции (ЕМ) показывает, нужно ли эмулировать функции сопроцессора. Эмуляция используется для имитации одной системы или процессора другой таким образом, что имитирующая система воспринимает те же самые данные,

исполняет те же самые программы и достигает тех же самых результатов, что и имитируемая система или функция. Установка бита ЕМ часто возникает в случае отсутствия сопроцессора в системе.

Бит 1 арифметического сопроцессора (МР) управляет функцией команды WAIT, которая используется для взаимодействия с сопроцессором.

Бит 0 включения защиты (РЕ): при установке процессор переходит в защищенный режим, а при очистке - в режим реальных адресов.

Регистр CR1 зарезервирован для будущих процессоров фирмы Intel. Регистр CR2 используется для обработки отказов страницы в случае, когда установлен бит PG в регистре CRO. В регистре CR2 процессор сохраняет тот линейный адрес, который вызвал отказ. Код ошибки, запоминаемый при возникновении отказа в стеке обработки отказов страницы, обеспечивает дополнительную информацию о состоянии при этом отказе.

Регистр CR3 используется, когда установлен бит PG в регистре CRO. Этот регистр позволяет процессору определить место расположения таблицы каталога страниц для текущей задачи. Он содержит физический базовый адрес таблицы каталога страниц. Таблица каталога страниц МП 80386 всегда выровнена на размер страницы в 4 Кбайт, поэтому младшие 12 бит регистра CR3 игнорируются при записи в него и не определены при его сохранении.

Включение задачи через сегмент состояния задачи TSS, который изменяет значение или явно загружает регистр CR3, отменяет все входы в кэш-таблицу страниц в блоке кэширования страниц. Заметим, что если не изменять значение регистра CR3, то входы в кэш-таблицу страниц не пропадают.

 

 

HotLog

Заказчику web дизайна и программирования - каталог сайтов, обзор дизайн студий