71
Как видно из схемы , сигнал предоставления (подтверждения) прерыва-
ния, проходя последовательно через интерфейсы всех внешних устройств ,
доходит до устройства, затребовавшего прерывание. Само же это устройство
запрещает дальнейшее распространение этого сигнала к другим, более уда-
ленным от процессора устройствам. Таким образом, если два устройства од-
новременно затребуют прерывание, то сигнал предоставления прерывания
поступит только на то из них, которое расположено ближе по цепочке к про -
цессору . Фактический приоритет устройства в обслуживании прерывания
будет определяться «близостью » расположения его интерфейса к цен-
тральному процессору.
В ЭВМ могут быть реализованы , кроме того , так называемые немаски-
руемые прерывания. Обычно это прерывания, сигнализирующие процессору
о внешних событиях особой важности (например, носящих катастрофиче-
ский характер), таких, как отключение питания, сбой памяти и т.п . Немаски -
руемые прерывания признаются и обрабатываются процессором всегда неза -
висимо от установки его приоритета, т.е . они обладают наивысшим при -
оритетом. Обслуживание такого рода прерываний позволяет в ряде случаев
спасти данные и программы пользователей от необратимых нарушений.
Кроме прерываний, вызываемых внешними по отношению к ЭВМ собы -
тиями, в ЭВМ обычно реализованы и так называемые внутренние прерыва-
ния. Такие прерывания возникают автоматически по сигналам в самом про -
цессоре , например в случае получения процессором не существующего кода
команды , обращения по не существующему адресу, ошибки деления и др.
Как и внешние прерывания, внутренние прерывания обеспечивают переход
процессора на программы обслуживания этих нештатных ситуаций, задавае-
мый соответствующими векторами прерываний.
В системе команд многих ЭВМ существуют также специальные команды ,
вызывающие командные прерывания, или команды-ловушки. При обработке
этих команд также осуществляется переход на программу, адрес которой за -
дается векторами прерывания, связанными с этими командами . Использова-
ние командных прерываний в какой-то мере напоминает подпрограммы . Од -
нако их использование оказывается более удобным при решении задач взаи -
модействия программ операционной системы и пользовательских программ.
С помощью команд программных прерываний обычно организуются биб-
лиотеки системных макрокоманд , операций ввода-вывода и других опера -