Способы идентификации источника прерывания

Запрос на прерывание может поступать от нескольких внешних устройств (ВУ). Если каждое из ВУ подключено к отдельному входу запроса микропроцессора, проблемы определения источника прерываний не существует. Она возникает тогда, когда число ВУ превышает число входов запроса. Известно два наиболее распространенных способа идентификации источника прерывания: программный и аппаратный [18].

Программный способ базируется на использовании главной программы обработки прерываний, которая при поступлении запроса производит последовательный программный опрос каждого ВУ до тех пор, пока не обнаружит устройство, пославшее запрос. Такой способ идентификации ВУ называют опросом или полингом (Polling). Обычно он используется при объединении запросов от нескольких источников с помощью элемента ИЛИ и передаче их по одной линии на вход процессора. Главная программа обработки прерываний содержит стандартные подпрограммы проверки готовности каждого внешнего устройства к обмену данными по состоянию сигнала запроса ЗПр, поступившего от него.

Каждому ВУ выделяется отдельный порт состояния (со своим адресом), в котором отводится бит для хранения значения сигнала запроса. Когда по общей линии поступает сигнал запроса, процессор завершает цикл и начинает последовательно опрашивать порты состояния. При обнаружении сигнала ЗПр = 1 основная программа передает управление подпрограмме обслуживания ВУ. При одновременном запросе на прерывание от нескольких ВУ обслуживается устройство, которое опрашивается первым. Таким образом, приоритетность обслуживания определяется позицией устройства в списке опроса.

Полинг подобен обычной проверке сигнала готовности ВУ, которая используется при программно-управляемом обмене данными. Процессор опрашивает каждый из источников прерываний, пока не обнаружит тот, который послал запрос. Преимущество использования по- линга в системах прерывания (по сравнению с системами без прерываний) состоит в том, что при наличии запроса один из входов всегда является активным. Для реализации полинга требуются лишь адресуемые порты (регистры, триггеры). Полинг целесообразно использовать при небольшом числе источников прерывания. Система прерываний с программным опросом, или полинговая система прерываний, позволяет расширить число источников радиальной системы прерываний. Ее недостаток – задержка начала обслуживания ВУ, связанная с опросом.

Аппаратный способ идентификации источников прерываний базируется на схемной реализации опроса ВУ. При обнаружении ВУ, запросившего прерывание, в процессор посылается его собственный код, который называют вектором прерывания. Название связано с тем, что двоичный "-разрядный код можно представить вектором в "-мерном пространстве. Вектор прерывания является начальным, или стартовым, адресом подпрограммы. Системы прерываний с аппаратной идентификацией ВУ называют векторными системами прерываний [1В]. Простейшей векторной системой прерываний является система, к каждому входу запроса на прерывание которой подключено по одному ВУ. Такая система, как отмечалось выше, не требует идентификации ВУ. Принципы построения векторных систем прерываний изложены ниже.

 
< Пред   СОДЕРЖАНИЕ     След >