Cтраница 2
![]() |
Пример выполнения фрагмента программы на конвейере. [16] |
Устройство, имеющее более одного источника прерывания, проводит собственный арбитраж прерывания в соответствии с его внутренним уровнем приоритета. PIC выбирает одно из периферийных устройств и посылает ему адрес вектора прерывания. [17]
Регистр ввода 11 служит для идентификации источника прерывания. [18]
Обработка прерываний осуществляется в соответствий с приоритетами источников прерываний. [19]
![]() |
Схема одного уровня прерывания. [20] |
Можно решить эту задачу, потребовав, чтобы источник прерывания поддерживал запрос до получения от машины ответного сигнала о приеме запроса, после чего последний должен быть обязательно погашен. Однако такая асинхронная система связи предъявляет дополнительные требования к аппаратуре, находящейся вне вычислительной системы, и увеличивает количество проводов, соединяющих систему с внешним миром. [21]
Отметим, что если прерывание на основе опроса источников прерываний всегда сопровождается переходом по одному и тому же адресу и инициирует одну и ту же прерывающую подпрограмму, которая после идентификации источника запроса и формирования адреса начала соответствующей запросу прерывающей программы передает ей управление, то при векторном прерывании каждому запросу прерывания, или, другими словами, устройству - источнику прерывания, соответствует переход к начальному адресу соответствующей прерывающей программы, задаваемому вектором прерывания. [22]
Отметим, что если прерывание на основе опроса источников прерываний всегда сопровождается переходом по одному и тому же адресу и инициирует одну и ту же прерывающую подпрограмму, которая после идентификации источника запроса и формирования адреса начала соответствующей запросу прерывающей программы передает ей управление, то при векторном прерывании каждому запросу или уровню ( классу) прерывания или, другими словами, устройству - источнику прерывания соответствует переход к начальному адресу соответствующей прерывающей программы, задаваемому вектором прерывания. [23]
![]() |
Временные диаграммы циклов чтения ( а и записи ( б микропроцессора ВМ80. [24] |
Процедура обслуживания запроса на прерывание заключается в идентификации источника прерывания, сохранении точки возврата в системном стеке и переходе к соответствующей подпрограмме обслуживания прерывания. Она начинается с машинного цикла INTERRUPT Ml, который похож на цикл FETCH, но отличается от него тем, что вместо сигнала SW. MEMR активен сигнал SW. Отличие самого цикла от цикла FETCH заключается также в том, что сбрасывается флаг INTE и PC не инкрементиру-ется. [25]
Глубина прерываний отвечает четырем принятым приоритетам для групп источников прерываний. [26]
Имеется также возможность прочитать слово состояния UART для определения источника прерывания или состояний флагов. [27]
Выше предполагалось, что работа по распознаванию уровня и источника прерывания ведется программистом. Это приводит к затратам программных ресурсов на каждое прерывание и увеличивает время реакции. Чтобы упростить эту функцию, используют дополнительные аппаратные средства. Например, прерывания на каждом уровне приоритета могут вызывать передачу управления различным ячейкам памяти. Тогда не требуется, чтобы программы в каждой ячейке памяти были связаны с источником прерывания иного уровня. [28]
В ЕС ЭВМ составная часть супервизора, выполняющая анализ источника прерывания и передачу управления соответствующим обслуживающим программам. [29]
Линии INTO - 1NT7 применяют для передачи сигналов от источников прерываний на контроллеры прерываний. Существует два варианта реализации прерывания; невекторное интерфейсное и векторное интерфейсное. [30]