Какая информация содержится в регистре задачи
Главная / Аппаратное обеспечение /
Архитектура микропроцессоров / Тест 2
Упражнение 1:
Номер 1
Какие группы регистров входят в состав регистровой структуры МП с архитектурой IA-32?
Ответ:
 (1) основные функциональные регистры 
 (2) регистры блока обработки чисел с плавающей запятой 
 (3) регистры блока таймеров-счетчиков 
 (4) системные регистры 
 (5) регистры управления прерыванием 
Номер 2
Какие регистры НЕ относятся к системным регистрам МП с архитектурой IA-32?
Ответ:
 (1) регистры управления 
 (2) регистр флагов 
 (3) регистры системных адресов 
 (4) сегментные регистры 
Номер 3
Какие флаги входят в состав флагов управления регистра флагов универсального МП с архитектурой IA-32?
Ответ:
 (1) флаг переполнения 
 (2) флаг разрешения маскируемых прерываний 
 (3) флаг вложенной задачи 
 (4) флаг приоритета прерывания 
 (5) флаг ловушки 
Упражнение 2:
Номер 1
Какова разрядность регистра GDTR МП с архитектурой IA-32?
Ответ:
 (1) 16 
 (2) 32 
 (3) 48 
 (4) 64 
Номер 2
Каково назначение бита PE регистра управления CR0?
Ответ:
 (1) включение защищенного режима работы микропроцессора 
 (2) включение страничного механизма адресации 
 (3) разрешение кэширования страниц 
Номер 3
Какие группы регистров НЕ входят в состав регистровой структуры МП с архитектурой IA-32?
Ответ:
 (1) регистры блока обработки чисел с плавающей запятой 
 (2) регистры блока таймеров-счетчиков 
 (3) системные регистры 
 (4) регистры отладки и тестирования 
 (5) регистры управления прерыванием 
Упражнение 3:
Номер 1
Какие регистры относятся к системным регистрам МП с архитектурой IA-32?
Ответ:
 (1) регистры управления 
 (2) регистр флагов 
 (3) регистры системных адресов 
 (4) сегментные регистры 
Номер 2
Каково назначение сегментных регистров универсального микропроцессора с архитектурой IA 32 в защищенном режиме работы микропроцессора?
Ответ:
 (1) хранение старших разрядов базового адреса сегмента 
 (2) хранение дескриптора сегмента 
 (3) хранение селектора логического адреса 
Номер 3
Какие поля содержатся в регистре данных FPU универсального МП при обработке чисел с плавающей запятой?
Ответ:
 (1) знак порядка 
 (2) порядок 
 (3) знак мантиссы 
 (4) мантисса 
Упражнение 4:
Номер 1
Какая информация содержится в регистре IDTR МП с архитектурой IA-32?
Ответ:
 (1) базовый адрес таблицы дескрипторов прерываний 
 (2) селектор таблицы дескрипторов прерываний 
 (3) предел таблицы дескрипторов прерываний 
Номер 2
Какова разрядность регистра LDTR МП с архитектурой IA-32?
Ответ:
 (1) 16 
 (2) 32 
 (3) 48 
 (4) 64 
Номер 3
Каково назначение регистра управления CR3?
Ответ:
 (1) этот регистр зарезервирован 
 (2) хранение линейного адреса ошибки страницы 
 (3) хранение базового адреса каталога таблиц страниц 
 (4) управление работой и определение состояния микропроцессора 
Упражнение 5:
Номер 1
Какие регистры входят в состав группы основных функциональных регистров МП с архитектурой IA-32?
Ответ:
 (1) регистры общего назначения 
 (2) регистр флагов 
 (3) регистр приоритетов прерываний 
Номер 2
Сколько 32-разрядных регистров входят в состав регистров общего назначения МП с архитектурой IA-32?
Ответ:
 (1) 4 
 (2) 8 
 (3) 16 
 (4) 32 
 (5) 64 
Номер 3
Каково назначение сегментных регистров микропроцессора с архитектурой IA 32 в реальном режиме работы микропроцессора?
Ответ:
 (1) хранение старших разрядов базового адреса сегмента 
 (2) хранение дескриптора сегмента 
 (3) хранение селектора логического адреса 
Упражнение 6:
Номер 1
Сколько разрядов может быть отведено под представление порядка в регистре флагов FPU?
Ответ:
 (1) 7 
 (2) 10 
 (3) 22 
 (4) определяется состоянием регистра управления FPU 
Номер 2
Каково назначение бита PG регистра управления CR0?
Ответ:
 (1) включение защищенного режима работы микропроцессора 
 (2) включение страничного механизма адресации 
 (3) разрешение кэширования страниц 
Номер 3
Каково назначение регистров отладки и тестирования МП с архитектурой IA-32?
Ответ:
 (1) управление отладкой с использованием контрольных точек 
 (2) управление тестирование системных регистров микропроцессора 
 (3) управление тестированием кэш-памяти 
 (4) управление тестированием TLB 
Упражнение 7:
Номер 1
Какие регистры НЕ входят в состав группы основных функциональных регистров МП с архитектурой IA-32?
Ответ:
 (1) регистры общего назначения 
 (2) указатель команд 
 (3) регистр флагов 
 (4) регистр приоритетов прерываний 
 (5) сегментные регистры 
Номер 2
К какому количеству 16-разрядных регистров возможно обращение в блоке регистров общего назначения МП с архитектурой IA-32?
Ответ:
 (1) 8 
 (2) 16 
 (3) 32 
Номер 3
Сколько сегментных регистров входит в состав МП с архитектурой IA-32?
Ответ:
 (1) 4 
 (2) 6 
 (3) 8 
 (4) 16 
Упражнение 8:
Номер 1
Каково назначение регистра тегов блока обработки чисел с плавающей запятой в МП с архитектурой IA-32?
Ответ:
 (1) управление обработкой маскируемых прерываний 
 (2) управление порядком выполнения команд ввода-вывода 
 (3) управление включением страничного режима 
 (4) управление порядком обработки задач 
 (5) хранение признаков результатов выполненных команд 
Номер 2
Каково назначение регистра тегов блока обработки чисел с плавающей запятой в МП с архитектурой IA-32?
Ответ:
 (1) расширить разрядность соответствующего регистра данных при возникновении переполнения в арифметических операциях с плавающей запятой 
 (2) сократить время выполнения операций с плавающей запятой в случае особого состояния регистра данных (ноль, бесконечность) 
 (3) обеспечить выявление некоторых некорректных операций над данными (при незаполненности соответствующего регистра данных) 
Номер 3
Каково назначение регистра управления CR1?
Ответ:
 (1) этот регистр зарезервирован 
 (2) хранение линейного адреса ошибки страницы 
 (3) хранение базового адреса каталога таблиц страниц 
 (4) управление работой и определение состояния микропроцессора 
Упражнение 9:
Номер 1
Какие регистры входят в состав FPU микропроцессора с архитектурой IA-32?
Ответ:
 (1) регистры данных 
 (2) сегментные регистры 
 (3) регистры тэгов 
 (4) регистр состояния 
 (5) регистр управления страничным преобразованием адреса 
Номер 2
К какому количеству 8-разрядных регистров возможно обращение в блоке регистров общего назначения МП с архитектурой IA-32?
Ответ:
 (1) 8 
 (2) 16 
 (3) 32 
Номер 3
Какая информация содержится в регистре управления FPU?
Ответ:
 (1) указатель стека блока регистров данных 
 (2) маска прерывания ошибок FPU 
 (3) признаки ошибок при выполнении команд FPU 
 (4) управление округлением 
 (5) управление точностью 
Упражнение 10:
Номер 1
Какая информация содержится в регистре LDTR МП с архитектурой IA-32?
Ответ:
 (1) базовый адрес локальной таблицы дескрипторов 
 (2) селектор локальной таблицы дескрипторов 
 (3) предел локальной таблицы дескрипторов 
Номер 2
Какова разрядность регистра LDTR МП с архитектурой IA-32?
Ответ:
 (1) 16 
 (2) 32 
 (3) 48 
 (4) 64 
Номер 3
Каково назначение регистра управления CR2?
Ответ:
 (1) этот регистр зарезервирован 
 (2) хранение линейного адреса ошибки страницы 
 (3) хранение базового адреса каталога таблиц страниц 
 (4) управление работой и определение состояния микропроцессора 
Упражнение 11:
Номер 1
Какие регистры НЕ входят в состав FPU микропроцессора с архитектурой IA-32?
Ответ:
 (1) регистры данных 
 (2) регистры тэгов 
 (3) регистр состояния 
 (4) сегментные регистры 
Номер 2
Какие флаги входят в состав флагов состояния регистра флагов универсального МП с архитектурой IA 32?
Ответ:
 (1) флаг переполнения 
 (2) флаг знака 
 (3) флаг разрешения маскируемых прерываний 
Номер 3
Какая информация содержится в регистре состояния FPU?
Ответ:
 (1) указатель стека блока регистров данных 
 (2) флаг стека блока регистров данных 
 (3) маска прерывания ошибок FPU 
 (4) признаки ошибок при выполнении команд FPU 
 (5) линейный адрес команды, вызвавшей ошибку при выполнении команды FPU 
Упражнение 12:
Номер 1
Какая информация содержится в регистре GDTR МП с архитектурой IA-32?
Ответ:
 (1) базовый адрес глобальной таблицы дескрипторов 
 (2) селектор глобальной таблицы дескрипторов 
 (3) предел глобальной таблицы дескрипторов 
Номер 2
Какова разрядность регистра IDTR МП с архитектурой IA-32?
Ответ:
 (1) 16 
 (2) 32 
 (3) 48 
 (4) 64 
Номер 3
Какая информация содержится в регистре TR МП с архитектурой IA-32?
Ответ:
 (1) базовый адрес глобальной таблицы дескрипторов 
 (2) базовый адрес дескриптора сегмента состояния задачи 
 (3) селектор глобальной таблицы дескрипторов 
 (4) селектор дескриптора сегмента состояния задачи 
 (5) предел глобальной таблицы дескрипторов 
 (6) предел сегмента состояния задачи 
Источник
Регистр TR (Task Register) – 16-разрядный регистр, который содержит селектор TSS текущей задачи. Он также имеет 8-байтовую теневую часть. Этот регистр нужен для двух целей:
- 1. Для определения текущей задачи в обработчиках прерываний, которые не являются задачами. Очень полезно при отладке.
- 2. Для перевода в режим многозадачности.
Загрузка регистра TR осуществляется командой LTR, а получение значения – командой STR; синтаксис аналогичен синтаксису команд LLDT/SLDT. Команда LTR является привилегированной, STR – непривилегированной. При загрузке регистра TR в дескрипторе TSS задачи устанавливается флаг занятости. Загрузка этого регистра связывает текущее состояние процессора с состоянием данной задачи.
Переключение на задачу процессор производит автоматически и сам использует дескриптор TSS. Чтобы переключить задачу, достаточно выполнить всего одну из команд дальней передачи управления. Таких команд три:
- 1. JMP.
- 2. CALL.
- 3. IRET.
При переключении на задачу в качестве сегмента надо указать селектор TSS нужной задачи; в данном случае процессор будет игнорировать смещение. Если используется команда IRET, то селектор нужной задачи берётся из поля Previous Task Link текущей задачи.
Для того чтобы переключиться с одной задачи на другую, нужно, чтобы процессор уже выполнял какую-либо задачу, т. е. переключиться на задачу можно только из задачи. Это значит, что, во-первых, просто запустить первую задачу не получится – нужны некоторые хитрости, об этом мы поговорим позже. А во-вторых, из задачи нельзя «вернуться» в обычную процедуру, т.е. однажды запустив многозадачность, процессор остаётся в ней до перехода в режим реальных адресов или до выключения.
Осуществляя переключение между задачами, процессор использует несколько флагов:
# флаг занятости В находится в дескрипторе TSS, в шестом байте. Устанавливается всякий раз, когда происходит переключение на задачу (когда установлен, это означает, что задача занята). Переключение на занятую задачу запрещено, и этот флаг предназначен для предотвращения рекурсивного вызова задачи. Флаг занятости сбрасывается при переключении на другую задачу командами JMP либо IRET; при переключении командой CALL либо при прерывании (даже если обработчик прерывания – тоже задача) флаг не сбрасывается;
# флаг трассировки Т находится в сегменте состояния задачи TSS, это нулевой бит по смещению 64h в TSS. Если флаг установлен, то при переключении на задачу процессор после успешной загрузки значений из всех полей TSS сгенерирует исключение отладки (прерывание 1). Если флаг сброшен, то при переключении на задачу исключение отладки не генерируется. Этот флаг предназначен для отладки задач и также может применяться для явного системного дополнения контекста задачи, например для загрузки регистров FPU;
# флаг вложенности NT (Nested Task) находится в регистре EFLAGS. Если переключение на новую задачу было вызвано командой CALL либо старая задача была прервана исключением или прерыванием и его обработчик также является задачей, то флаг NT устанавливается в регистре EFLAGS новой задачи. Благодаря этому новая задача может вернуть управление старой задаче командой IRET. КомандаШЕТ выполняет одно из двух действий: ec.JinNT = О, то производит обычный возврат из прерывания; если NT = 1, то производит переключение на предыдущую задачу, селектор дескриптора TSS которой находится в поле Previous Task Link в TSS текущей задачи;
# флаг TS (Task Switched) находится в регистре управления CR0. Этот флаг устанавливается каждый раз, когда процессор переключается на другую задачу, и служит индикатором переключения задач. При попытке выполнить команды FPU, ММХ или ХММ процессор может генерировать исключение отсутствующего устройства (#NM – прерывание 7), что позволяет системе выполнить смену контекста FPU, ММХ и ХММ.
Процессор производит переключение задач в следующих четырёх случаях:
- 1. При выполнении межсегментного перехода (JMP) или межсегментного вызова (CALL), когда в качестве селектора указан селектор TSS.
- 2. При выполнении межсегментного перехода (JMP) или межсегментного вызова (CALL), когда в качестве селектора указан селектор шлюза задачи в GDT или LDT.
- 3. При вызове обработчика прерывания или исключения, если ему в IDT соответствует шлюз задачи.
- 4. При выполнении команды IRET, когда EFLAGS.NT=1.
В процессе переключения с одной задачи на другую процессор выполняет следующие действия:
- 1. Получает селектор TSS из кода команды (случай 1), из шлюза задачи (случаи 2 и 3), из поля Previous Task Link текущей задачи (случай 4).
- 2. Выполняется контроль привилегий:
a) максимальный из RPL и CPL должен быть не больше чем DPL дескриптора TSS;
b) максимальный из RPL и CPL должен быть не больше чем DPL шлюза задачи (или DPL дескриптора TSS);
c) в случаях 3 и 4 проверка не выполняется.
- 3. Выполняется контроль предела TSS.
- 4. Проверяется доступность задачи: в случаях 1-3 задача должна быть незанятой, в случае 4 (возврат из подзадачи) она должна быть помечена как занятая.
- 5. Выполняется проверка присутствия старого TSS, нового TSS и всех сегментов в новой задаче.
- 6. Если переключение инициируется JMP или IRET, для текущей задачи очищается флаг занятости (в поле типа дескриптора). В случае CALL или вызова обработчика прерывания/исключения флаг занятости в старой задаче остается установленным.
- 7. Если переключение инициируется IRET, для старой задачи сбрасывается бит вложенной задачи (NT) в регистре флагов. В остальных случаях значение EFLAGS.NT для старой задачи не меняется.
- 8. Процессор сохраняет контекст процессора в соответствующих полях сегмента состояния старой задачи.
- 9. Если переключение инициировано CALL или вызовом обработчика прерывания/исключения, в контексте новой задачи выставляется бит вложенной задачи (EFLAGS.NT=1), а в поле Previous Task Link новой задачи заносится селектор TSS старой задачи. В противном случае (JMP, IRET) бит остается без изменений.
- 10. Дескриптор TSS новой задачи помечается как занятый (либо остаётся помеченным как занятый).
- 11. В регистр задачи (TR) загружается новое значение.
- 12. Загружается контекст процессора из TSS новой задачи.
- 13. Начинается выполнение новой задачи.
Источник