
- •Мп и их роль в современных компьютерах, 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:
Назначение и структура дескрипторов шлюзов:
Межсегментная передача управления, которая осуществляется командами JMP, CALL, INT, RET, IRET, возможна только в сегменты кода с тем же уровнем привилегий, либо в так называемые подчиненные сегменты. Для переходов с изменением уровней привилегий, в общем случае, используются специальные структуры данных – шлюзы или вентили (Gates), размер и состав которых несколько напоминает рассмотренные выше дескрипторы. Кроме того, их удобно располагать в дескрипторных таблицах GDT, IDT или LDT. Поэтому их принято называть дескрипторами шлюзов, и относят к системным дескрипторам. Однако они имеют существенное отличие от дескрипторов кода и данных, а также дескрипторов системных сегментов, поскольку, если те описывают некоторые области адресного пространства, называемые сегментами, то дескрипторы шлюзов определяют конкретный адрес передачи управления в адресном пространстве. Для каждого способа косвенной межсегментной передачи управления имеются соответствующие шлюзы, использование которых позволяет процессору автоматически выполнять контроль защиты информации.
В процессорах семейства х86 используется четыре типа шлюзов для передачи управления со сменой уровня привилегий:
Шлюзы вызова (Call Gates) – используются для вызовов процедур.
Шлюзы задач (Task Gates) – используются при переключении задач.
Шлюзы прерываний (Interrupt Gates).
Шлюзы ловушек (Trap Gates).
Через последние два типа шлюзов передается управление на процедуры обслуживания прерываний, причем шлюзы прерываний отличаются от шлюзов ловушек только тем, что при их использовании, другие прерывания до начала исполнения данной процедуры прерывания запрещаются (сбрасывается флаг IF).
Селекторы, которые выбирают дескрипторы шлюзов вызова, нельзя загружать в сегментные регистры данных DS, ES, FS, GS и стека SS. Они могут загружаться только в кодовый сегментный регистр CS для передачи управления сегменту кода на другом уровне привилегий. Поскольку дескрипторы шлюзов относятся к классу системных дескрипторов, их бит S в байте прав доступа всегда равен 0.
Формат дескриптора шлюза вызова приведен на рисунке III.8.
63 Байт 7 Байт 6 48 47 Байт 5 Байт 4 16
Смещение в сегменте (биты 31…16) |
Байт прав доступа |
0 |
WС (биты 4..0) |
Селектор |
Смещение в сегменте (биты 15…0) |
31 Байт 3 Байт 2 16 15 Байт 1 Байт 0 0
Рис.III.8. Формат дескриптора шлюза вызова
Пятибитное поле WC (Word count – число передаваемых слов) указывает количество параметров, которые переносятся из стека текущей программы в стек новой программы. Параметры представляют собой 16 разрядные (для задач i80286) или 32 разрядные (для задач i80386+) слова. Таким образом, число передаваемых параметров из старого стека в новый стек, может составлять от 0 до 31.
Формат дескрипторов шлюзов прерываний и ловушек приведен на рисунке III.9. Они отличаются друг от друга только байтом прав доступа AR, а именно, кодом типа. А от дескрипторов шлюза вызова они отличаются еще и тем, что в них не используется поле WC.
63 Байт 7 Байт 6 48 47 Байт 5 Байт 4 16
Смещение в сегменте (биты 31…16) |
Байт прав доступа |
0 |
Не использует |
Селектор |
Смещение в сегменте (биты 15…0) |
31 Байт 3 Байт 2 16 15 Байт 1 Байт 0 0
Рис.III.9. Формат дескрипторов шлюзов прерываний и ловушек.
По селектору, указанному в этом дескрипторе шлюза, пользуясь глобальной дескрипторной таблицей, определяется базовый адрес и предел сегмента кода, где располагается требуемая подпрограмма обработки прерывания. И, путем суммирования базового адреса сегмента со смещением, приведенном в этом же дескрипторе, определяется конкретный начальный адрес искомой подпрограммы обработки прерывания, на который и передается управление.
Формат дескриптора шлюза задач, который определяет селектор TSS, приведен на рисунке III.10. Селектор TSS из дескриптора шлюза задачи загружается только в регистр TR и выбирает из GDT дескриптор TSS.
63 Байт 7 Байт 6 48 47 Байт 5 Байт 4 16
Не используется |
Байт прав доступа |
Не используется |
Селектор TSS |
Не используется |
31 Байт 3 Байт 2 16 15 Байт 1 Байт 0 0
Рис. III.10 Формат дескриптора шлюза задачи.
Поскольку при переключении задач требуется информация, заключенная во всем сегменте TSS, то определяется только базовый адрес этого сегмента, и указывать смещение в сегменте не требуется.
Дескрипторы шлюзов различных типов отличаются друг от друга кодом типа в поле TYPE, расположенного в байте прав доступа на месте 0, 1, 2 и 3 битов.