Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Режим SMM




Как было уже упомянуто выше, кроме рассмотренных трех основных рабочих режимов работы процессоров семейства Х86, в середине 90-х годов в микропроцессорах Intel и AMD (начиная с модифицированных процессоров класса 486) введен дополнительный специальный режим системного управления SMM (System Management Mode). Этот режим работы независим от программ пользователя и даже самой операционной системы и предназначен для выполнения некоторых автономных действий. Главной его задачей в первое время являлась обеспечение управления энергопотреблением. Однако, в современных процессорах задачей Power Management занимаются специальные блоки (например блок реализующий режим Turbo Boost). Поэтому эта функция для него становится второстепенной.

К возможным применениям SMM можно отнести:

· Обработка системных ошибок, таких как ошибки памяти и чипсета

· Функции защиты, например выключение процессоров при сильном перегреве

· Глубокие уровни энергосбережения

· Управление питанием, например, схемами изменения напряжения (VRM)

· Эмуляция периферии, которая была не реализована на материнской плате или реализация которой содержит ошибки

· Эмуляция мыши и клавиатуры PS/2, при использовании USB-версий устройств

· Централизованная конфигурация системы, например, на ноутбуках Toshiba и IBM

· Обход системы защиты, встроенных в ОС

· Запуск высокопривилегированных руткитов, как было предложено на Black Hat 2008

· Эмуляция или передача вызовов на модуль Trusted Platform Module (TRM)

 

В режим SMM процессор может войти только при поступлении на его вход SMI (System Management Interrupt), сигнала немаскируемого прерывания с наивысшим приоритетом - SMI#, генерируемого специальными схемами системной платы при наступлении контролируемых событий. Процессор подтверждает приход прерывания SMI специальным циклом шины (цикл подтверждения SMI). Обнаружив активный (низкий уровень сигнала) SMI#, процессор завершает исполнение текущей команды и переключается в режим SMM. При переключении в режим SMM, процессор первым делом процессор запоминает состояние почти всех своих регистров (сохраняет свой контекст) в специальной энергонезависимой памяти SMRAM (System Mode RAM), доступ к которой разрешается только при нахождении в режиме SMM.

Режим SMM был разработан для управления такими объектами и событиями в системе, существование которых требовалось «скрыть» от ОС. Поэтому для хранения адреса процедуры обработки аппаратного прерывания SMI не используется ни один из векторов в стандартной таблице векторов, в отличие от всех остальных прерываний. А этот адрес хранится в специальных регистрах процессора. Таким образом, для сохранения и восстановления состояния процессора при обработке прерывания SMI, не используется стандартный стек. Для этого используется память SMRAM, в которой хранятся все данные, необходимые для поддержки SMM.

Процессоры Pentium Pro и все более поздние модели процессоров семейства Х86, могут войти в режим SMM также и при приеме соответствующего сообщения по шине APIC (Advanced Peripheral Interrupt Controller – усовершенствованного контроллера прерываний). Этот контроллер разработан специально для использования в многопроцессорных системах, в которых могут работать процессоры 6 поколения и выше.

Как уже упоминалось, поскольку режим SMM является автономным режимом, при входе в него, после выполнения текущей команды, процессор в специальной энергонезависимой памяти SMRAM (System Management RAM) запоминает свой контекст. В контекст включается состояние практически всех его основных регистров на момент перехода в режим SMM, включая программно-невидимые регистры CR1, CR2 и CR4, а также теневые регистры дескрипторов для CS, DS, ES, FS, GS и SS. Автоматическое сохранение содержимого регистров DR5…DR0, TR7…TR3 и регистров FPU не производится. Память SMRAM представляет память, объемом от 32 Кбайт (минимальный объем) до 4 Гбайт, и начинается она с физического адреса SMBASE (по умолчанию 30000h), значение которого хранится во внутреннем регистре процессора. Кроме области сохранения контекста процессора, она включает в себя область размещения подпрограмм обработки запросов SMI. После сохранения контекста процессор переходит к выполнению обработчика SMI (см. рис.IX.1).

Рис.IX.1. Распределение адресного пространства SMRAM.

 

Обработчик представляет собой последовательность обычных инструкций, исполняемых процессором в режиме, напоминающем реальный. При входе в режим SMM автоматически запрещаются аппаратные прерывания (и даже немаскируемые), и не генерируются особые случаи, так что действия процессора однозначно определяются программой обработчика SMI (Как правило, процедуры сохранение системы в критических ситуациях, например, при отключении электроэнергии). Программа обработчика завершается инструкцией RSM (Reset system Management), которая выполняется только в режиме SMM. Выполнение команды RSM приводит к восстановлению контекста процессора из образа, хранившегося в SMRAM, т.е. восстановлению регистров процессора, и его переключение в исходный режим. Далее процессор продолжает выполнение прерванной программы.

Иногда предусматриваются и такие действия программы обработчика SMI, как возможность изменения состояния некоторых регистров контекста процессора, после чего, после выхода из режима SMM, запрашивается повторение (рестарт) выполнения инструкции, предшествующей появлению сигнала SMM#, инициирующего переход в режим SMM.

Для более четкого усвоения вышеизложенного, на рисунке IX.2 приведена схема переходов между различными режимами работы процессоров i486+ с указанием сигналов, инициирующих эти переходы.

12

Рис IX.2. Схема переходов между режимами работы процессоров

семейства Х86 и сигналы, инициирующие эти переходы.




Поделиться с друзьями:


Дата добавления: 2015-06-28; Просмотров: 736; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.