Главная страница

Понятие прерывания 2 Цель и механизм


Скачать 58.82 Kb.
НазваниеПонятие прерывания 2 Цель и механизм
Дата29.03.2023
Размер58.82 Kb.
Формат файлаdocx
Имя файлаlection4.docx
ТипДокументы
#1022852
страница6 из 10
1   2   3   4   5   6   7   8   9   10

Программные (внутренние) прерывания


Программы могут сами вызывать прерывания с заданным номером. Для этого они используют команду INT. Это так называемые программные прерывания. Программные прерывания не являются асинхронными, так как вызываются из программы.

Программные прерывания удобно использовать для организации доступа к отдельным, общим для всех программ функциям. Например, функции операционной системы доступны прикладным программам именно через прерывания. При вызове этих модулей нет необходимости знать их текущий адрес в памяти.

Прикладные программы и драйверы могут сами устанавливать свои обработчики прерываний для их последующего использования другими программами. Для этого встраиваемые обработчики прерываний должны быть резидентными в памяти.

Исключения (внутренние прерывания)


Эти прерывания создаются цепями самого процессора при возникновении одной из специально оговоренных ситуаций. Если процессор сталкивается с одной из таких сбойных ситуаций, то он выполняет процедуру прерывания, используя закрепленной за ней вектор прерывания , который известен процессору.

Например :

Прерывание 0 вырабатывается в случае переполнения при операции деления на 0

Аппаратные и программные средства системы прерываний


Система прерываний - это совокупность программных и аппаратных средств, реализующих механизм прерываний.
К аппаратнымсредствамсистемы прерываний относятся:

  • выводы микропроцессора - на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит уделить ему внимание» (INTR, заявка на прерывание), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)

  • INTR - вывод для входного сигнала запроса на прерывание,

  • NMI - вывод для входного сигнала немаскируемого прерывания

  • INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором;

  • программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; именно он формирует номер вектора прерывания и выдает его шину данных);

  • внешние устройства (таймер, клавиатура, магнитные диски и т.п.)


К программнымсредствамсистемы прерываний реальногорежимаотносятся:


  • таблица векторов прерываний.

Занимает первый килобайт ОП (адреса 00000h-003FFh).

Она содержит адреса (векторы - «векторы», т.к. два значения для указания адреса) обработчиков прерываний и состоит из 256 (0..255) элементов по 4 байта каждый:

    • 2 байта - новое значение для регистра IP

    • 2 байта - новое значение для регистра CS.

Расположение таблицы векторов прерываний в процессорах i80286 и старше определяется значением регистра IDTR.

Таблица векторов прерываний инициализируется при запуске системы, но в принципе может быть изменена и перемещена.

Каждый вектор имеет свой номер и называется номером прерывания.

  • два флага в регистре флагов flags/eflags:

IF (Interrupt Flag) - флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние

прерывания, если = 0, то игнорирует;

TF(Trace Flag) - флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1;

  • машинные команды микропроцессора: int, into (прерывание по переполнению), iret, cli, sti


Таблица векторов прерываний
1   2   3   4   5   6   7   8   9   10


написать администратору сайта