- •Мп и их роль в современных компьютерах, 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:
В защищенном режиме работы (а также в виртуальном V- режиме), хотя и сохраняется общая тенденция в организации реакции процессора на запросы прерывания, но имеются и существенные изменения. В основном они заключаются в следующем:
Вместо таблицы векторов прерываний используется дескрипторная таблица прерываний, элементами которой являются теперь дескрипторы шлюзов задач, шлюзов прерываний и шлюзов ловушек. В связи с тем, что дескрипторы шлюзов занимают 8 байт, дескрипторная таблица прерываний в адресном пространстве, при том же размере кода типа прерывания в один байт, занимает теперь два килобайта оперативной памяти, а не один.
Расположение дескрипторной таблицы прерываний в адресном пространстве может быть установлено по любому физическому адресу, который заносится в регистр дескрипторной таблицы прерываний IDTR. Туда же заносится и размер самой дескрипторной таблицы.
Возможна передача подпрограмме обработки дополнительной информации о причине возникновения особого случая.
В защищенном режиме, как и в реальном, каждому аппаратному прерыванию или особому случаю соответствует свой код типа прерывания, по которому процессор обращается уже не к таблице векторов прерывания, а к дескрипторной таблице прерывания, получая из ОЗУ соответствующий 8-ми байтовый дескриптор шлюза. Извлекая затем из дескриптора шлюза селектор целевого сегмента и смещения в нем, процессор, пользуясь глобальной или локальной таблицей дескрипторов, формирует физический адрес подпрограммы обработки запрашиваемого прерывания.
Таким образом, последовательность действий для передачи управления подпрограмме обработки разрешенного прерывания, после получения запроса прерывания, в случае защищенного режима работы будет следующая.
Из регистра IDTR процессор извлекает 32 разрядный базовый адрес сегмента дескрипторной таблицы прерываний IDT .
Код типа прерывания, полученный от контроллера прерываний (при аппаратных внешних запросов прерывания), или фиксированный код типа, соответствующий данному особому случаю или команде (при внутренних прерываниях), умножается на 8 (сдвигается на 3 разряда влево), поскольку каждый дескриптор имеет размер в 8 байт.
Сформированный таким путем 11 разрядный двоичный код, суммируется с базовым адресом сегмента IDT. Полученный 32 разрядный код является адресом дескриптора шлюза, в котором хранится селектор сегмента, где находится подпрограмма обработки прерывания, а также смещение в этом сегменте, т.е. логический адрес подпрограммы обработки прерывания.
Для получения физического адреса этой подпрограммы, процессор обращается к ОЗУ и выбирает по полученному адресу дескриптор шлюза.
Из полученного дескриптора шлюза выбирается селектор и по его индексу, через дескрипторную таблицу, выбирается дескриптор искомого сегмента.
Из выбранного дескриптора искомого сегмента процессор извлекает его базовый адрес, суммирует со смещением в этом сегменте, который берется из дескриптора шлюза и получает физический адрес требуемой подпрограммы обработки прерывания.
Следует отметить, однако, что вторичное обращение к ОЗУ за дескриптором искомого сегмента приходится делать только в тех редких случаях, когда подпрограмма обработки прерывания находится в другом сегменте, отличном от сегмента, где располагается текущая программа. Если же подпрограмма находится в том же сегменте, что и основная текущая программа, то его дескриптор уже находится в соответствующем теневом регистре (кэш-регистре) процессора. Поэтому в большинстве случаев базовый адрес искомого (целевого) регистра берется из теневого регистра, расположенного в самом процессоре, и дополнительного обращения к ОЗУ, при формировании физического адреса подпрограммы обработки прерывания, не требуется.
Кроме того, заметим следующее. Последний пункт из последовательности действий, изложенных выше, как правило, реализуется только при обработке прерываний и ловушек. Если же происходит запрос прерывания при переключении задач и из дескрипторной таблицы прерываний выбирается дескриптор шлюза задач, по которому находится сегмент состояния задачи TSS, то для этого достаточно знать только его селектор. Поэтому в дескрипторе шлюза задачи приведен только селектор соответствующего TSS, а байты, используемые для размещения смещения, в нем не используется.
