- •Мп и их роль в современных компьютерах, cisc, risc и epic мп:
- •Поэтому, для risc – процессоров характерно:
- •К преимуществам мп с risc – архитектурой можно отнести:
- •Краткая история развития мп семейства х86:
- •4. Перспективы развития микропроцессорной техники.
- •Основные причины и результаты усовершенствования мп семейства х86:
- •Системные регистры мп семейства х86:
- •Дескрипторные таблицы Дескрипторные таблицы
- •Назначение и структура дескрипторов кода и данных:
- •Назначение и структура системных дескрипторов:
- •Назначение и структура дескрипторов шлюзов:
- •Теневые регистры и их назначение:
- •Регистр флагов и назначение его отдельных битов:
- •Принцип формирования линейных адресов в реальном режиме работы мп семейства х86:
- •Принцип формирования линейных адресов в защищенном режиме работы мп в семействе х86:
- •Страничное преобразование адресов, ее назначение и принцип реализации:
- •Источники и разновидности запросов прерываний процессора:
- •Организация системы прерываний в реальном режиме работы процессоров семейства х86:
- •Организация системы прерываний в защищенном режиме работы процессоров семейства х86:
- •Организация общей (базовой) защиты в мп х86:
- •Защита по привилегиям сегментов и ее организация:
- •Защита по привилегиям команд:
- •Принципы организации многозадачного режима работы:
- •Сегмент состояния задачи, его структура и назначение:
- •Принципы, лежащие в основе использования кэш-памяти, и организация кэш-памяти прямого отображения:
- •Принципы организации полностью ассоциативной и множественно-ассоциативной кэш-памятей:
- •Принципы организации целостности данных в подсистеме памяти с кэшированием:
- •Описание блок-схем алгоритмов обслуживания запросов в подсистеме памяти с кэшированием:
- •4. Двухуровневое кэширование.
- •Принципы организации конвейерной обработки сигналов в мп х86:
- •Циклы шины и режимы работы мп х86:
- •2. Реальный режим (r86)
- •3. Защищенный режим (p – режим)
- •4. Виртуальный режим (v86)
- •5. Режим smm
- •Принципы организации пакетного режима обмена информацией:
- •Основные особенности микроархитектуры Intel Sandy Bridge и ее структурная схема:
- •Сущность принципа «динамического исполнения команд»:
- •Структурная схема ядер мп Sandy Bridge и их функционирование:
- •Необходимость и общие принципы функционирования блока предсказаний ветвлений:
- •Необходимость предварительного и основного декодирования инструкций х86 в мп микроархитектуры Sandy Bridge:
- •Функционирование системы обнаружения программных циклов и суть работы блока pcu в мп микроархитектуры Sandy Bridge:
- •Сущность технологий макро- и микрослияний инструкций и микрокоманд в мп микроархитектуры Sandy Bridge:
Организация общей (базовой) защиты в мп х86:
Средства базовой защиты включаются сразу же после переключения процессора в защищенный режим работы, независимо от того, включена ли страничная переадресация памяти, использован ли многозадачный режим работы или виртуальный режим. Основой базовой защиты является информация, закладываемая в дескрипторы сегментов и, в частности, в его байт прав доступа.
Базовая защита состоит из следующих контролирующих действий.
Контроль адресации при обращении к памяти.
Контроль адресации при обращении к памяти в основном включает в себя следующие операции.
- Как только селектор, какого либо сегмента, поступает в соответствующий сегментный регистр, индекс селектора, умноженный на 8, сравнивается с пределом, приведенным в системном регистре GDTR. Этим самым контролируется реальная возможность нахождения искомого дескриптора в глобальной дескрипторной таблице.
- После выбора дескриптора соответствующего сегмента контролируется реальная возможность нахождения искомого адреса в данном сегменте путем сравнения смещения в сегменте (эффективного адреса), указанного в команде (инструкции), с пределом данного сегмента, приведенного в выбранном дескрипторе.
Если смещение в сегменте превышает предел, возникает особый случай (исключение), процессор уходит на прерывание и выполняет процедуру, обрабатывающую нарушение общей защиты. При этом если бит ED в байте прав доступа равен 1, то процессор имеет дело с сегментом стека и, указанная процедура сравнения предела сегмента со смещением в сегменте неправомерна, Зато проверяется обязательная возможность записи в этот сегмент (W=1).
Контроль адресации только внутри запрашиваемого сегмента защищает соседние сегменты от нежелательных взаимодействий и искажений. Это особенно важно при многозадачном режиме работы, когда рядом в памяти могут быть размещены совершенно не связанные друг с другом сегменты.
Контроль исполняемости сегмента.
Исполняемый сегмент должен быть обязательно сегментом кода, в котором размещены исполняемые программы. Следовательно, и при первом вызове программного сегмента и при каждой передаче управления в программе необходима проверка состояния бита E в байте прав доступа. Он должен обязательно быть равен 1. Если же он равен 0, это значит, что процессор имеет дело с сегментом данных или стека и исполнение его кода может привести к непредсказуемым последствием, в том числе и к зависанию системы.
Контроль возможности копирования кодового сегмента.
В процессе создания программного обеспечения некоторые программы целесообразно защитить от нежелательного копирования. Поэтому каждое обращение к программному сегменту сопровождается проверкой бита R в байте прав доступа его дескриптора. Если значение этого бита равно 0, то это значит, что данный сегмент защищен от считывания и копирование его содержимого невозможно.
Контроль считываемости сегментов данных и стека.
Некоторые сегменты данных могут быть использованы для размещения каких-либо очень важных таблиц, констант, справочных данных, к которым можно обращаться только для считывания. Такие сегменты должны быть защищены как от случайной, так и от несанкционированной записи, которая может исказить содержимое этого справочного материала. Контроль запрета записи осуществляется по состоянию бита W в байте прав доступа. При W=0 запись в сегмент запрещена.
Контроль способа считываемости данных.
При вызове сегмента данных процессору необходимо, прежде всего, убедиться является ли этот сегмент сегментом данных или же он является сегментом стека. Если в байте прав доступа бит ED равен 0, то имеет место сегмент данных и данные должны считываться от младших адресов к старшим, начиная от базового адреса до адреса, равного сумме базового адреса и предела, указанного в дескрипторе. Если же ED=1, то имеет место сегмент стека и данные считываются от старших адресов к младшим, начиная от адреса, определяемого регистром указателя стека SP до значения предела.
