Организация прерываний центрального процессора

Для организации прерываний в Канале имеется линия (одна или несколько) запроса прерывания, к которой подключен ряд устройств. Если устройство предварительно не замаскировано процессором через свой регистр состояния, оно может выдать сигнал в линию запроса (в большинстве случаев при установке бита «свободен»). Если линия не замаскирована (полем приоритета в регистре состояния процессора), процессор выдает на соответствующую линию сигнал разрешения прерывания. Получив разрешение, устройство выдает в Канал адрес вектора прерывания (т. е. пары ячеек памяти), где указаны местоположение программы обслуживания и состояние процессора, при котором эта программа должна выполняться. Процессор считывает адрес вектора, запоминает в стеке свое состояние в момент прерывания и переходит к выполнению программы обслуживания (обработка прерывания). В зависимости от типа Канала имеется одна или четыре линии запроса прерывания и соответственно линии разрешения. Линии отличаются уровнем приоритета. Для устройств, подключенных к одной линии, приоритет определяется удаленностью от процессора: чем ближе устройство к процессору, тем выше его приоритет. В микроЭВМ, кроме одной линии запроса и одной линии разрешения есть отдельная линия запроса от сетевого таймера, который запрашивает прерывание с частотой 50 Гц. Так как его адрес вектора фиксирован (1008), линии разрешения не требуется. К этой же линии запроса вместо сетевого таймера может быть подключено другое внешнее устройство (например, таймер с программируемой частотой).