
- •Архитектура системного уровня процессоров ia-32 Задачи архитектуры системного уровня (system-level architecture)
- •Компоненты архитектуры системного уровня
- •Защищенный режим Общие сведениия Назначение защищенного режима микропроцессоров ia-32
- •Режим виртуального процессора 8086
- •Концепция защиты
- •Дескрипторы и таблицы дескрипторов. Системные сегменты
- •Регистры дескрипторов таблиц и системных сегментов
- •Механизм использования глобальной и локальной таблиц дескрипторов
- •Привилегии
- •Кольца защиты Привилегии задач (Task Privilege)
- •Привилегии дескриптора (Descriptor Privilege)
- •Привилегии селектора (Selector Privilege)
- •Привилегии ввода-вывода
- •Дескрипторы системных сегментов
- •Поля байта управления доступом к системным сегментам
- •Межсегментная передача управления
- •Типы и назначение шлюзов
- •Механизм использования шлюза вызова
- •Дескриптор шлюза вызова
- •Поля байта управления доступом дескриптора шлюза
- •Проверка условий, порождающих исключения
- •Инструкции тестирования указателей
- •Виртуальная память
- •Составляющие элементы механизма страничной переадресации
- •Адресация в защищенном режиме
- •Варианты организации страниц виртуальной памяти
- •Управление режимом страничной переадресации
- •Переключение стека
- •Операция переключения задач процессора (Task Switch Operation)
- •Переключение между реальным и защищенным режимами
- •Переключение в защищенный режим из реального:
- •Переключение процессора в реальный режим из защищенного
- •Регистры управления cr1, cr2, cr3
- •Регистр управления cr4
- •Управление прерываниями от fpu
- •Управление блоком fpu
- •Средства отладки по
- •Регистры отладки
- •Средства, предоставляющие дополнительные возможности отладки.
- •Регистр DebugCtlMsr:
- •Режим управления системой (smm)
- •Включение режима
- •Карта контекста процессора в smram
- •Идентификатор smm (Revision Identifier)
- •Базовый адрес smram
- •Некорректность восстановления контекста
- •Инициализация регистров процессора при входе в smm
- •Начальный сброс и тестирование Аппаратный сброс (hardware reset)
- •Установки при сбросе
- •Внутренний тест процессора
- •Начало нормального функционирования процессора
- •Инициализация по сигналу init («мягкий» сброс)
- •Тестирование аппаратных средств процессора
Идентификатор smm (Revision Identifier)
биты [15:0] – номер версии архитектуры SMM;
бит 16 – возможность рестарта инструкции ввода-вывода;
бит 17 – возможность изменения базового адреса SMRAM и вектора обработчика SMI.
Базовый адрес smram
По умолчанию – 30000h.
Устанавливается по аппаратному сбросу процессора.
Возможность программного изменения (на значение, выровненное по границе 32 Кбайт) во время исполнения обработчика SMI:
изменить значение базового адреса в области сохраненного контекста по адресу SMBASE+FEF8h;
после исполнения инструкции RSM при обработке следующего сигнала SMI# будет использоваться новая область.
Некорректность восстановления контекста
При выполнении инструкции RSM процессор может обнаружить:
некорректные значения бит _____________ ____ ____ ____ (установленные обработчиком);
невыровненный __________ _______ _______.
Результат: по выходу из SMM процессор перейдет в состояние ____________.
Инициализация регистров процессора при входе в smm
Регистр |
Значение |
РОНы |
не определены |
EFLAGS |
00000002H |
EIP |
00008000H |
Селектор CS |
SMBase сдвинутая вправо на 4 бита (по умолчанию 3000H) |
База CS |
SMBase (default 30000H) |
Селекторы DS, ES, FS, GS, SS |
0000H |
Базы DS, ES, FS, GS, SS |
000000000H |
Лимиты DS, ES, FS, GS, SS |
0FFFFFFFFH |
CR0 |
Флаги PE, EM, TS и PG сброшены, остальные – без изменений |
CR4 |
0 |
DR6 |
не определен |
DR7 |
00000400H |
Начальный сброс и тестирование Аппаратный сброс (hardware reset)
Выполняется процессором:
при включении питания;
по сигналу RESET.
По активизации сигнала RESET процессор:
прекращает _______________ _______________;
перестает управлять _____________ _______.
По окончании сигнала RESET процессор:
считывает конфигурационную информацию _ _____________ __________ _______ _______________;
начинает функционирование.
Установки при сбросе
коэффициент умножения тактовой частоты;
режим (WB/WT) работы кэша;
роль процессора в многопроцессорных системах;
способ подачи сигналов прерываний (для процессоров, имеющих APIC).
Внутренний тест процессора
BIST (Built-in Self-Test)
Выполняется, если во время окончания сигнала RESET на определенном входе процессора удерживать низкий уровень сигнала.
Тестированию подвергается большая часть оборудования процессора:
для 80386 и 486 – ок. миллиона тактов;
для Р6 – ок. 5,5 млн.
По окончании самотестирования процессор начинает работу (в реальном режиме), как после обычного сброса; регистр ЕАХ содержит сигнатуру результата тестирования (нуль при успешном выполнении).
Начало нормального функционирования процессора
FLAGS=0002h; биты VM и RF обнуляются;
CR0: обнуляются биты PG, TS, ЕМ, MP и РЕ;
CS=F000h;
EIP=0000FFF0h;
DS=ES=SS=FS=GS=0000h;
DX – информация о типе процессора.
Устанавливаются регистры FPU и ММХ.
Аннулируются строки:
кэш-памяти;
буферов трансляции (TLB);
таблиц переходов (ВТВ).
В скрытых регистрах кодового сегмента:
база – FFFF0000h (действует до первой перезагрузки CS);
лимит – 0FFFFh.
Стартовый физический адрес – ____________.
Р6+: положение вектора начального запуска:
_________ (1М-16) – если во время действия RESET линия А6 перейдет из активного состояния в неактивное;
_____________ (4Г-16) – в противном случае.