Книга: Аппаратные интерфейсы ПК. Энциклопедия
6.1.5. Прерывания
6.1.5. Прерывания
На шине ISA имеются линии запросов маскируемых и немаскируемых аппаратных прерываний. Линии запросов маскируемых прерыванийIRQ2
-IRQ7
поступают на входы первичного контроллера прерываний, IRQ9
-IRQ15
— на входы вторичного. Контакт B4 (IRQ2/9
) запрос IRQ2
вырабатывал только у машин PX/XT. На всех современных машинах (класса AT) он является запросом IRQ9
, хотя на многих адаптерах (всех 8-битных) он обозначается как IRQ2
. Приоритеты у запросов убывают по порядку IRQ9
…IRQ15
и далее IRQ3
…IRQ7
. Запросы от конкретных линий могут быть замаскированы записью в регистры контроллера (см. п. 12.4), общий запрет/разрешение осуществляется манипулированием флагом разрешения прерываний (IF
) процессора. Устройство может использовать одну или несколько линий запроса прерывания. На используемой линии запроса устройство в покое должно формировать низкий уровень сигнала, а при возникновении условия прерывания устанавливать на нем высокий уровень запроса. Неиспользуемые линии должны быть электрически отключены от шины или же их выходные формирователи должны переводиться в третье состояние. Переход из низкого в высокий уровень является сигналом для контроллера прерываний на формирование запроса прерывания к процессору. Устройство должно удерживать высокий уровень запроса до тех пор, пока к нему не обратится программа-обработчик прерывания, что будет означать не только обнаружение, но и правильную идентификацию источника запроса прерывания. Если запрос снят преждевременно, идентификация будет некорректной. Детально механизм обслуживания прерываний рассмотрен в п. 12.4.
Способ подачи сигнала прерывания, принятый в ISA, — чувствительность к уровню, причем к высокому, — имеет меньшую помехозащищенность, чем срабатывание по отрицательному перепаду, и отрезает путь к нормальному разделению (совместному использованию) линий запросов.
Линия IOCHK#
позволяет вызывать немаскируемое прерывание (NMI), на которое процессор реагирует вне зависимости от каких-либо флагов. Это прерывание принято использовать для сообщения о серьезных ошибках, требующих реакции системы, но не для регулярной работы. Вызов NMI от данной линии разрешается установкой бита 3 (EIC
) системного порта 061h, а признаком того, что прерывание NMI вызвано сигналом IOCHK#
, является единичное значение бита 6 (IOCHK
) того же порта.
- 12.8. Сервисы и прерывания BIOS
- Подпрограмма обработки прерывания
- 6 Раздражающие прерывания
- 10.6.6. Создание возможности для прерывания функций: siginterrupt()
- Подсистема прерывания контроллера msCAN12.
- Глава 6 Прерывания и обработка прерываний
- Прерывания
- Регистрация обработчика прерывания
- Освобождение обработчика прерывания
- Написание обработчика прерывания
- Настоящий обработчик прерывания
- Контекст прерывания