Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_PU.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.17 Mб
Скачать

9. Особенности аппаратных прерываний, происходящих асинхронно по отношению к исполняемому программному коду.

Аппаратные прерывания обеспечивают реакцию процессора на события, проис­ходящие асинхронно по отношению к исполняемому программному коду.

Может возникнуть одновременно сразу несколько прерываний! Для того чтобы система "не растерялась", решая какое прерывание обслуживать в первую очередь, существует специальная схема приоритетов. Каждому прерыванию назначается свой приоритет. Если происходит одновременно несколько прерываний, система отдает предпочтение самому высокоприоритетному, откладывая на время обработку остальных прерываний

Аппаратные прерывания делятся на маскируемые и немаскируемые. На немаскируемое прерывание (NMI) процессор реагирует всегда (если обслужива­ние предыдущего NMI завершено). Немаскируемые прерывания в PC используются для сигнализации о фатальных аппаратных ошибках.

Реакция процессора на маскируемые прерывания может быть задержана сбросом его внутреннего флага IF (инструкции CLI — запретить прерывания, STI — разре­шить). По возникновении события, требующего реакции, адаптер (контроллер) устройства формирует запрос прерывания, который поступает на вход контрол­лера прерываний. Контроллер прерываний формирует общий запрос маскиру­емого прерывания для процессора, а когда процессор подтверждает этот запрос, контроллер сообщает процессору вектор прерывания, по которому выбирается программная процедура обработки прерываний. Процедура должна выполнить действия по обслуживанию данного устройства, включая сброс его запроса для обеспечения возможности реакции на следующие события и посылку команды завершения в контроллер прерываний. Вызывая процедуру обработки, процессор автоматически сохраняет в стеке значение всех флагов и сбрасывает флаг IF, что запрещает маскируемые прерывания. При возврате из процедуры (по инструкции I RET) процессор восстанавливает сохраненные флаги, в том числе и установленный IF, что снова разрешает прерывания.

10. Немаскируемые прерывания, их особенность и функции.

На немаскируемое прерывание (NMI) процессор реагирует всегда (если обслужива­ние предыдущего NMI завершено); этому прерыванию соответствует фиксирован­ный вектор 2. . К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти. Немаскируемые прерывания в PC используются для сигнализации о фатальных аппаратных ошибках. Сигнал на линию NMI приходит от схем контроля паритета памяти, от линий контроля шины ISA (IOCHK) или шины PCI (SERR#).

Сигнал NMI блокируется до входа процессора установкой в 1 бита 7 порта 070h, отдельные источники разрешаются и идентифицируются битами порта 061h:

* бит 2 R/W — ERP — разрешение контроля ОЗУ и сигнала SERR* шины PCI;

* бит 3 R/W — EIC — разрешение контроля шины ISA;

* бит 6 R — ЮСНК — ошибка контроля на шине ISA (сигнал ЮСНК#); Ф бит 7 R — PC К — ошибка четности ОЗУ или сигнал SERR* на шине PCI.

11. Маскируемые прерывания, их особенности и функции.

Реакция процессора на маскируемые прерывания может быть задержана сбросом его внутреннего флага IF (инструкции CLI — запретить прерывания, STI — разре­шить). По возникновении события, требующего реакции, адаптер (контроллер) устройства формирует запрос прерывания, который поступает на вход контрол­лера прерываний. Контроллер прерываний формирует общий запрос маскиру­емого прерывания для процессора, а когда процессор подтверждает этот запрос, контроллер сообщает процессору вектор прерывания, по которому выбирается программная процедура обработки прерываний. Процедура должна выполнить действия по обслуживанию данного устройства, включая сброс его запроса для обеспечения возможности реакции на следующие события и посылку команды завершения в контроллер прерываний. Вызывая процедуру обработки, процессор автоматически сохраняет в стеке значение всех флагов и сбрасывает флаг IF, что запрещает маскируемые прерывания. При возврате из процедуры (по инструкции I RET) процессор восстанавливает сохраненные флаги, в том числе и установленный IF, что снова разрешает прерывания. Если во время работы обработчика прерыва­ний требуется реакция на иные прерывания (более приоритетные), то в обработ­чике должна присутствовать инструкция STI. Особенно это касается длинных об­работчиков; здесь инструкция STI должна вводиться как можно раньше, сразу после критической (не допускающей прерываний) секции. Следующие прерывания того же или более низкого уровня приоритета контроллер прерываний будет обслужи­вать только после получения команды завершения прерывания ЕОI (End Of Interrupt).

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