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

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

Повторно запрос по этому входу возможен только по следующему такому же перепаду, то есть сигнал предварительно должен вернуться в исходное состояние.
В любом случае сигнал запроса аппаратного прерывания IRQx должен удерживать¬ся генерирующей его схемой, по крайней мере, до цикла подтверждения прерыва¬ния процессором. В противном случае источник прерывания корректно иденти¬фицирован не будет, и контроллер сообщит ложный вектор прерывания (spurious interrupt), соответствующий его входу с максимальным номером (IRQ7 для перво¬го контроллера и IRQ 15 для второго). Обычно адаптеры строят так, что сигнал за¬проса сбрасывается при обращении программы обслуживания прерывания к со-ответствующим регистрам адаптера.
В шине ISA прерывание вырабатывается по положительному перепаду сигнала на линии запроса. Это плохо по двум причинам: такой способ подачи сигнала, во-первых, имеет меньшую помехозащищенность, чем срабатывание по отрицатель¬ному перепаду, во-вторых, отрезает путь к нормальному разделению линий за¬просов (см. ниже), для которого полностью пригоден способ подачи сигнала по низкому уровню. Поскольку традиционный контроллер позволяет задавать чув-ствительность — уровень (Level) или перепад (Edge) — только для всех входов одновременно, в общем случае разделяемые прерывания на шине ISA вместе с кор¬ректной работой системных устройств использоваться не могут.
На современных системных платах функции контроллеров прерываний возла¬гаются на чипсет, который может иметь и более гибкие возможности управле¬ния, чем пара контроллеров 8259А. В операционном режиме всегда сохраняется программная совместимость с 8259А. Процедура инициализации контроллеров может и отличаться от традиционной, но ею занимается тест POST, который «знает» особенности системной платы. В симметричных мультипроцессорных системах аппаратные прерывания работают сложнее, поскольку их могут обслуживать различные процессоры. Для реализаций системы прерываний процессоры Pentium и выше имеют встроенный контроллер прерываний APIC (Advanced Programmable

462 Глава 12.

Hosted by uCoz