Главная страница
Навигация по странице:

  • Блок страничной трансляции адресов

  • Режим системного управления SMM

  • 0_МПиИСТС_Все главы. Микропроцессоры и интерфейсные средства транспортных средств


    Скачать 10.01 Mb.
    НазваниеМикропроцессоры и интерфейсные средства транспортных средств
    Анкор0_МПиИСТС_Все главы.doc
    Дата18.12.2017
    Размер10.01 Mb.
    Формат файлаdoc
    Имя файла0_МПиИСТС_Все главы.doc
    ТипУчебное пособие
    #11960
    страница30 из 47
    1   ...   26   27   28   29   30   31   32   33   ...   47

    6.6. Управление памятью микропроцессора Pentium


    Блок управления памятью MMU (memory-management unit) в микропроцессоре Pentium совместим снизу вверх с микропроцессорами 80386 и 80486. В микропроцессоре Pentium многие функции прежних микропроцессоров, по существу, не изменены. Основные изменения коснулись блока страничной трансляции адресов (paging unit) и связаны с введением нового режима системного управления SMM (system management mode).

    Блок страничной трансляции адресов

    Механизм страничной трансляции адресов функционирует со страницами памяти размером 4 Кбайта или новым расширенным значением размера страниц памяти микропроцессора Pentium, равного 4 Мбайтам. Размер структуры таблиц страничного преобразования может быть большим в системах с большой памятью. Следует напомнить, что микропроцессору для полного переразбиения памяти размером 4 Гбайта на страницы требуется объем памяти несколько больший, чем 4 Мбайт, только для одной таблицы страниц. В микропроцессоре Pentium, с новой 4-мегабайтной страничной организацией, количество элементов страничной трансляции сокращено до одного каталога страниц. Новый размер страниц, равный 4 Мбайт, выбирается с помощью бита PSE, расположенного в регистре CR4.

    Основное отличие в страничной трансляции при размере страниц 4 Кбайта и 4 Мбайта заключается в том, что теперь в линейном адресе не содержится части адреса, определяющей строку в таблице страниц, поскольку таковой не имеется. На рис. 6.11 представлена система трансляции адресов при размере страницы 4 Мбайта микропроцессора Pentium. Следует обратить внимание на способ использования линейного адреса в этой схеме трансляции. Необходимо отметить, что старшие 10 разрядов линейного адреса выбирают строку в каталоге страниц, как это было, когда страница была размером 4 Кбайта. Разница состоит в том, что здесь нет таблиц страниц. Вместо этого каталог страниц адресует страницу памяти размером 4 Мбайта.




    Рис. 6.11. Схема преобразования линейного адреса 00200001Н в адрес ячейки физической памяти 01000001Н, расположенной на странице размером 4 Мбайт. В приведенной схеме таблицы страниц отсутствуют

    Режим системного управления 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

    Смещение

    Регистр

    FFFCH

    CR0

    FFF8H

    CR3

    FFF4H

    EFLAGS

    FFF0H

    EIP

    FFECH

    EDI

    FFE8H

    ESI

    FFE4H

    EBP

    FFE0H

    ESP

    FFDCH

    EBX

    FFD8H

    EDX

    FFD4H

    ECX

    FFD0H

    EAX

    FFCCH

    DR6

    FFC8H

    DR7

    FFC4H

    TR

    FFC0H

    LDTR

    FFBCH

    GR

    FFB8H

    FS

    FFB4H

    DS

    FFB0H

    SS

    FFACH

    CS

    FFA8H

    ES

    FF04H—FFA7H

    Резерв

    FF02H

    Авторестарт инструкции HALT

    FF00H

    Рестарт ловушки ввода-вывода

    FEFCH

    Идентификатор версии SMM

    FEF8H

    Состояние базы дампа

    FE00H—FEF7H

    Резерв

    Примечание: Смещения адреса первоначально располагаются относительно базового адреса 00003000Н.

    Режим SMM может использоваться системой перед тем, как разместить операционную систему в памяти. Он также может использоваться периодически для управления системой при условии не использования области памяти 38000Н—3FFFFH под программное обеспечение. Если система перемещает память SMRAM перед стандарт­ной загрузкой операционной системы, то ее можно использовать дополнительно со стандартной системой памяти.

    Базовый адрес памяти SMRAM режима SMM изменяется посредством замены значения в регистре базового адреса состояния дампа (ячейки 3FEF8H—3F3FBH) после первого SMM-прерывания. При выполнении команды rsm, которая обратно передает управление прерванной системе, новое значение из этих ячеек изменяет базовый адрес SMM-прерывания для всего последующего использования. Например, если базовый адрес содержимого дампа изменяется на 000Е8000Н, то все последующие SMM-прерывания микропроцессора Pentium будут использовать ячейки Е8000Н— EFFFFH для дампа записи. Эти адреса совместимы с DOS и Windows.
    1   ...   26   27   28   29   30   31   32   33   ...   47


    написать администратору сайта