Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Порядок проверки условий обслуживания прерываний




Способы указания номера вектора прерывания

Вектор прерывания

 

Вход в процедуру, обслуживающую аппаратное прерывание или исключение, определяется с помощью вектора прерывания, являющегося ___________ ________ _______________.

Вектора группируются в структуру – таблицу прерываний * (IDT, Interrupt Descriptor Table).

Каждому номеру (0-255) прерывания или исключения соответствует свой вектор.

Вектора 0-31 в таблице прерываний Intel резервирует под _______________.

 

Таблица прерываний в реальном режиме

 

Содержит ___________ _________ (двойные слова) обслуживающих процедур.

После сброса располагается, начиная с нулевых адресов.

Команда LIDT дает возможность:

____________ ______________ таблицы в пределах первого мегабайта;

____________ _________ в пределах от 007Fh до 03FFh.

При попытке обслуживания прерывания с номером, выходящим за размер таблицы, генерируется исключение #DF.

 

Таблица прерываний в защищенном режиме

 

Содержит 8-байтные _________________ прерываний.

Размер: _______ элементов (дескрипторов).

Может располагаться в любом месте физической памяти.

 

 

Зависят от вида прерывания:

– маскируемых аппаратных прерываний – вводится от внешнего контроллера прерываний во втором ________ ________ или поступает по ______ ______;

– программных прерываний – задается командой;

– немаскируемого прерывания – имеет фиксированный вектор (2);

– _______________ – автоматически генерируется внутри процессора.

 

 

1.Ловушка ___________ (#DB) по выполненной инструкции (пошаговый режим через флаг TF или точка останова по данным через регистры отладки).

2.Отказ ___________ (#DB) по очередной инструкции (точка останова по инструкции через регистр отладки).

3.Немаскируемое аппаратное прерывание.

4.Маскируемое аппаратное прерывание (при IF=1).

5.Отказ _________________ (#NP или #GP) при выборке очередной инструкции.

6.Отказ ____________ (#PF) при выборке очередной инструкции.

7.Отказ ____________________ очередной инструкции (#UD или #GP).

8.Для операции ______ исключение #NM (если TS=1 и МР=1).

9.Для инструкции _____ исключение #NM (если ЕМ=1 или TS=1).

10.Для операции WAIT или инструкции FPU исключение #MF от FPU.

11.Отказ _________________ (#NP, #SS, #GP) или отказ страницы (#PF) для операндов, используемых в инструкции.

 

Двойной отказ

Double Fault (#DF).

Возникает, если:

– при обработке исключения, связанного с __________________ (#TS, #NP, #SS или #GP), процессор обнаруживает исключение, отличное от _________ ____________ (#PF);

– при обработке исключения отказа страницы #PF обнаруживается исключение другого типа.

 

Аварийный останов

Shutdown.

Происходит, если во время обслуживания исключения отказа страницы произойдет _____ ______ ________ страницы.

Никакие новые инструкции не выполняются.

Из этого состояния процессор можно вывести только аппаратно:

– сигналом _____, оставляя его в защищенном режиме;

– сигналом ________, переводящим процессор в реальный режим.

 

При обработке исключений 8-14, 17 и 18 в защищенном режиме процессор сохраняет в стеке ________ ______ _________ (Error Code). Если оно отлично от нуля, то в его битах [15:3] содержится селектор дескриптора, с которым связана ошибка, или описание ___________ _________ (для исключения 14 #PF).

 


Таблица прерываний микропроцессоров x86

 

Номер Функция Мне-моника Тип
00h Переполнение при делении на 0 #DE __
01h Исключение отладки #DB _____
02h Немаскируемое прерывание (NMI) - I
03h Исключение отладки (INT 3) #ВР __
04h Исключение по переполнению (INTO) #OF __
05h Прерывание по контролю диапазона (BOUND) #BR __
06h Недопустимый код операции #UD __
07h Сопроцессор недоступен или переключалась задача #NM __
08h Двойной отказ 1) #DF ___ ______
09h Нарушение границы сегмента сопроцессором (386/387)   __, EC
0Ah Недопустимый сегмент состояния задачи 2) #TS __, EC
0Bh Сегмент отсутствует 2) #NP __, EC
0Ch Нарушение границы сегмента стека или сегмент стека отсутствует 3) #SS __, EC
0Dh Общее нарушение защиты 4) #GP __, EC
0Eh Отказ страницы 2) #PF ___ ___
0Fh Зарезервировано - -
10h Исключение сопроцессора #MF __
11h Контроль выравнивания (486+) 2) #AC ___ ______
12h Машинный контроль (Р5+) 2) #MC __, EC
13h Исключение блока ХММ (Рentium III+) #XF __
14h-1fh Зарезервировано - -
00h-FFh Аппаратные (маскируемые) и программные прерывания INT n - __

 

Набор и обработка исключений реального и защищенного режимов различны. В реальном режиме:

1) вектор прерывания не попадает в таблицу;

2) не возникают; возможны в режиме V86;

3) нарушение границы сегмента стека;

4) нарушение границы сегмента данных или кода.

 

Таблица прерываний IBM PC

 

Часть из 32 зарезервированных Intel исключений перекрывается системными прерываниями BIOS и DOS.

 

Номер Функция
05h Печать копии экрана. Генерируется при нажатии клавиши PrtScr
08h IRQ0 – от интервального таймера, возникает 18,2 раза в секунду
09h IRQ1 – от клавиатуры
0Ah IRQ2 – каскадирование контроллеров прерываний
0Bh IRQ3 – от асинхронного порта COM2
0Сh IRQ4 – от асинхронного порта СОМ1
0Dh IRQ5 – от контроллера HDD (в ХТ) или зарезервировано (PC/АТ)
0Eh IRQ6 – от контроллера FDD после завершения операции чтения/записи
0Fh IRQ7 – от принтера (готовность к выполнению очередной операции)
10h Обслуживание видеоадаптера
11h Определение конфигурации устройств в системе
12h Определение размера оперативной памяти в системе
13h Обслуживание дисковой системы
14h Последовательный ввод/вывод
15h Расширенный сервис для компьютеров АТ
16h Обслуживание клавиатуры
17h Обслуживание принтера
1Ah Обслуживание часов
1Bh Обработчик прерываний Ctrl-Break
1Ch Вызывается программно обработчиком прерываний таймера (18,2 раза в секунду)
70h IRQ8 – от часов реального времени
71h IRQ9 – от контроллера EGA
72h IRQ10 – зарезервировано
73h IRQ11 – зарезервировано
74h IRQ12 – зарезервировано
75h IRQ13 – от математического сопроцессора
76h IRQ14 – от контроллера HDD
77h IRQ15 – зарезервировано

 




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 369; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.