Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Режим системного управления SMM
Режим системного управления SMM (system management mode) такого же уровня, как защищенный, реальный и виртуальный режимы работы, но он предусматривается для функционирования в качестве менеджера. Режим SMM не предназначен для использования его как приложения или элемента системного уровня. Он предназначен для системных функций высокого уровня, таких как управление режимом электропитания и обеспечение безопасности, которые большинство микропроцессоров Pentium используют во время работы. Доступ к режиму SMM осуществляется с помощью нового внешнего аппаратного прерывания, сигнал запроса которого подается на вывод SMI (system management interrupt) микропроцессора Pentium. При активизации этого прерывания процессор сохраняет свой контекст — содержимое почти всех своих регистров — в специальной памяти, называемой ОЗУ системного управления, или SMRAM (system management RAM), и начинает выполнять программное обеспечение, расположенное в этой же области памяти. Сигнал SMI для процессора является запросом прерывания с наивысшим приоритетом. Вызываемое им прерывание запрещает все прерывания, которые обычно обрабатываются приложениями пользователя и операционной системой. Возврат из SMM-прерывания осуществляется с помощью новой команды rsm, которая помещается в конце обработчика прерывания и предназначена для восстановления контекста процессора из памяти SMRAM и возвращения в режим работы программы в точке прерывания. SMM-прерывание обращается к программному обеспечению, первоначально размещенному по адресу 38000Н, используя следующие значения регистров: CS = 3000Н и EIP = 8000Н. Исходное состояние базового адреса памяти SMRAM может быть программно изменено, используя переход в любую ячейку в пределах 1 Мбайта. Режим работы, аналогичный адресации памяти в реальном режиме, вводится SMM-прерыванием, но он отличается тем, что режим SMM позволяет микропроцессору Pentium интерпретировать систему памяти как однородную систему объемом 4 Гбайта вместо адресации в пределах 1 Мбайта. SMM-прерывание, кроме выполнения программы, котороя начинается с адреса 38000Н, также записывает состояние микропроцессора Pentium в так называемом дампе записи (dump record). Дамп записи находится в диапазоне адресов 3FFA8H—3FFFFH с резервируемой Intel областью 3FE00H—3FFF7H. Дамп записи позволяет системе, построенной на базе микропроцессора Pentium, вводить режим ожидания (sleep mode) и возобновлять программу в точке прерывания. Такая организация требует подачи питания на память SMRAM в период ожидания. Многие компактные компьютеры типа laptop имеют отдельную батарейку для питания памяти SMRAM на протяжении нескольких часов в режиме ожидания. В табл. 6.2 перечисляется содержимое дампа записи. Авторестарт инструкции halt (halt auto restart) и рестарт ловушки ввода-вывода (I/O trap restarts) используются в режиме SMM при активизации команды rsm. Эти данные позволяют команде rsm вернуться к инструкции останова halt или инструкции ввода-вывода. Если инструкция останова или инструкция ввода-вывода не действуют с вводом режима SMM, тогда команда rsm перезагружает состояние машины из дампа записи и возвращает процессор в точку прерывания. Таблица 6.2. Содержимое дампа записи для режима SMM микропроцессора Pentium
Примечание: Смещения адреса первоначально располагаются относительно базового адреса 00003000Н. Режим SMM может использоваться системой перед тем, как разместить операционную систему в памяти. Он также может использоваться периодически для управления системой при условии не использования области памяти 38000Н—3FFFFH под программное обеспечение. Если система перемещает память SMRAM перед стандартной загрузкой операционной системы, то ее можно использовать дополнительно со стандартной системой памяти. Базовый адрес памяти SMRAM режима SMM изменяется посредством замены значения в регистре базового адреса состояния дампа (ячейки 3FEF8H—3F3FBH) после первого SMM-прерывания. При выполнении команды rsm, которая обратно передает управление прерванной системе, новое значение из этих ячеек изменяет базовый адрес SMM-прерывания для всего последующего использования. Например, если базовый адрес содержимого дампа изменяется на 000Е8000Н, то все последующие SMM-прерывания микропроцессора Pentium будут использовать ячейки Е8000Н— EFFFFH для дампа записи. Эти адреса совместимы с DOS и Windows. Новые команды микропроцессора Pentium Микропроцессор Pentium имеет только одну новую команду для работы со стандартным программным обеспечением системы; остальные новые команды добавлены для режима системного управления SMM, идентификации процессора и некоторые другие системные команды. В табл. 6.3 перечислены новые команды, которые добавлены в набор команд микропроцессора Pentium. Таблица 6.3. Новые команды микропроцессора Pentium
Команда cmpxchg8b является расширенной командой cmpxchg, дополненной в набор команд микропроцессора 80486. Команда cmpxchg8b сравнивает 64-разрядное число, хранимое в регистровой паре EDX и ЕАХ с содержимым 64-разрядной ячейки памяти или регистровой парой, указанной приемником команды. Например, команда cmpxchg8b data1 сравнивает 8 байт содержимого ячейки памяти DATA1 с 64-разрядным числом, хранящимся в регистрах EDX и ЕАХ. Если содержимое ячейки DATA1 равно содержимому регистровой пары EDX: EAX, тогда хранимое в этой паре регистров 64-разрядное число запоминается в ячейке памяти DATA1. Если же они не равны, то содержимое ячейки DATA1 копируется в регистры EDX: EAX. Обратите внимание, что флаг нулевого результата ZF после выполнения команды cmpxchg8b устанавливается, если содержимое регистров EDX.EAX было равно содержимому ячейки DATA1 или сбрасывается в противном случае.
Специальные особенности микропроцессора Pentium Pro Микропроцессор Pentium Pro, по существу, является таким же микропроцессором, как 80386, 80486 и Pentium, за исключением некоторых дополнительных особенностей и изменений в наборе управляющих регистров. В этом разделе рассматриваются различия в структуре одного из управляющих регистров CR4 и регистра флагов микропроцессора Pentium Pro и процессора 80386.
Управляющий регистр CR4 На рис. 6.12 показан формат управляющего регистра CR4 микропроцессора Pentium Pro. Обратите внимание на то, что регистр CR4 имеет два новых управляющих бита: РАЕ (бит 5) и PGE (бит 7), которые добавлены в этот управляющий регистр и рассмотрены в этом разделе текста.
Для сравнения следует обратиться к рассмотренному ранее на рис. 6.5.Далее следует описание битов управляющего регистра CR4 микропроцессора Pentium Pro. □ VME Бит VME (virtual mode extension) регистра CR4 разрешает поддержку флага виртуального прерывания в защищенном режиме. Если бит VME = 0, то поддержка виртуального прерывания запрещается. □ PVI Бит PVI (protected mode virtual interrupt) регистра CR4 разрешает использование флага виртуального прерывания в защищенном режиме. □ TSD Бит TSD (time stamp disable) регистра CR4 управляет командой rdtsc.
□ DE Бит DE (debugging extension) регистра CR4, если он установлен, то попытки обращения к регистрам DR4 и DR5 вызывают исключение недопустимого кода операции, если же бит сброшен, то разрешает использовать регистры DR4 и DR5 для установки контрольных точек останова при обращении к портам ввода-вывода. □ PSE Бит PSE (page size extension) регистра CR4, если он установлен, то разрешается использовать страницы памяти размером по 2 Мбайта (в микропроцессоре Pentium разрешается страница 4 Мбайта), если же он сброшен, то используются стандартные страницы по 4 Кбайта. □ РАЕ Бит расширения физического адреса РАЕ (page address extension), если он установлен, разрешается дополнительно использовать адресные линии А35—А32 при разрешении нового режима страничной адресации микропроцессора Pentium Pro, управляемого битом PSE. □ МСЕ Бит MCE (machine check enable) регистра CR4, если он установлен, то разрешается исключение машинного контроля (аппаратной проверки), возникающее, когда блок внутреннего контроля операций внутри чипа или на шине обнаруживает ошибку, если же бит МСЕ сброшен, то это исключение запрещается. □ PGE Бит PGE (page global enable), если он установлен, то разрешается использование глобальных страниц, доступных всем пользователям. Перед установкой этого бита необходимо сначала разрешить страничное преобразование, т. е. установить бит PG, находящийся в регистре CR0.
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1605; Нарушение авторского права страницы