Понятие прерывания
Во время выполнения программы могут возникать особые ситуации, требующие немедленной реакции ЭВМ. Источником таких ситуаций могут быть:
1. Аппаратура центральной части ЭВМ (внутренние прерывания). На- пример, обнаружение ошибки при передаче данных между основной па- мятью и процессором.
2. Аппаратура периферийной части ЭВМ (внешние прерывания). На- пример, нажатие клавиши на клавиатуре, нажатие кнопки мыши и т.п.
3. Программа, которую в данный момент выполняет ЭВМ (программ- ные прерывания). Особые ситуации в этом случае могут возникать при “нештатном” режиме работы программы или же создаваться программой преднамеренно. Примером “нештатной” работы программы может быть попытка деления на ноль, извлечение квадратного корня из отрицатель- ного числа и т.п. Преднамеренно эта ситуация создается с помощью ко- манд вызова прерывания.
Реакция ЭВМ на особые ситуации заключается в приостановке вы- полнения текущей программы и переходе к выполнению специальной программы обработки особой ситуации. После завершения программы обработки ЭВМ возвращается к выполнению текущей программы. Этот процесс называется прерыванием программы, а аппаратно программные средства обработки особых ситуаций – системой прерываний.
Программа, выполнявшаяся до
возникновения особой ситуации, на- зывается
прерываемой программой, а программа обработки особой си- туации
– прерывающей. Процесс обработки особой ситуации
приведен
Запрос
на прерывание
![]() |
Запрос
на прерывание
Рис. 1.
на Рис.1.
При возникновении особой ситуации формируется сигнал оповеще- ния, называемый запросом на прерывание. Запрос для внутренних и внешних прерываний формируется аппаратными средствами, а для про- граммных – программными средствами.
Реакция ЭВМ на особые ситуации для некоторых источников может быть одной и той же. Другими словами, этим источникам соответствует одна и та же обрабатывающая программа.
Множество особых состояний, обслуживаемых одной и той же про- граммой, образует класс прерывания. Каждому классу прерываний на- значается номер, называемый кодом прерывания. Код прерывания одно- значно определяет, какая обрабатывающая программа должна обраба- тывать возникшую особую ситуацию.
Количество источников может достигать сотен, а количество классов значительно меньше, как правило, не больше нескольких десятков.
Типичными классами прерываний являются:
v Прерывания от схем контроля;
v Прерывания от пульта управления ЭВМ и других внешних устройств;
v Прерывания от системы ввода-вывода;
v Прерывания при обращении программ к запрещенным для использо- вания ресурсам;
v Программные прерывания.
Многие ЭВМ допускают прерывание прерывающей программы. Коли- чество программ, которые могут последовательно прерывать друг друга, называется глубиной прерывания.
© ООО «Знанио»
С вами с 2009 года.