КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

При наличии (и разрешении работы) периферийных устройств на системной плате чтение по этим адресам не распространяется на шины расширения. Для современных плат со встроенной периферией и несколь¬кими шинами (ISA, PCI) распределением адресов управляет BIOS через регист¬ры конфигурирования чипсета.
12.3. Аппаратные прерывания
Аппаратные прерывания обеспечивают реакцию процессора на события, проис¬ходящие асинхронно по отношению к исполняемому программному коду. Преры¬вания в процессорах х86 подробно рассмотрены в литературе [6,7]. Здесь напом¬ним, что аппаратные прерывания делятся на маскируемые и немаскируемые. На немаскируемое прерывание (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 — IOCHK — ошибка контроля на шине ISA (сигнал ЮСНК#);

бит 7 R — РСК — ошибка четности ОЗУ или сигнал SERR* на шине PCI.

458 Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера
Реакция процессора на маскируемые прерывания может быть задержана сбросом его внутреннего флага IF (инструкции СLI — запретить прерывания, STI — разре¬шить). По возникновении события, требующего реакции, адаптер (контроллер) устройства формирует запрос прерывания, который поступает на вход контрол¬лера прерываний. Контроллер прерываний формирует общий запрос маскиру¬емого прерывания для процессора, а когда процессор подтверждает этот запрос, контроллер сообщает процессору вектор прерывания, по которому выбирается программная процедура обработки прерываний.

Hosted by uCoz