Организация режима прерываний


 
ИМС КР580ВН59- программируемый контроллер прерываний (ПКП) предназначена для организации приоритетных прерываний от восьми внешних устройств с возможностью увеличения количества до 64 при использовании каскадного включения нескольких БИС ПКП.

      Прерывание -  режим МПС, при котором МП прекращает выполнение основной программы и переходит на выполнение специальной программы прерываний по обслуживанию ПФУ или  УВВ, пославшего запрос на вход INT микропроцессора. Так как у микропроцессора всего один вход INT , а запросы на прерывание могут поступить от нескольких УВВ, то каждому УВВ присваивается свой уровень или статус приоритета, то есть осуществляются приоритетные прерывания.
        Как правило, наивысшим приоритетом обладают УВВ с максимальным быстродействием  либо с большей  функциональной значимостью. УВВ с номером <0> имеет высший приоритет, поэтому УВВ с этим номером обслуживается в первую очередь.

ПКП работает в двух режимах:
1) Режим по вектору - это режим, в котором ПКП формирует и выдает микропроцессору адрес первой команды прерывающей программы (адрес вектора прерываний).
2) Прерывание по опросу - это режим, в котором микропроцессор отключает вход  INT и читает словосостояние ПКП, в котором находится информация об УВВ с наивысшим приоритетом, а также информация о наличии запроса от этого УВВ.

ПКП имеет три основных восьмиразрядных регистров:

  1. Регистр запроса прерываний.
  2. Регистр маски.
  3. Регистр обслуживаемых запросов.

Вектор  прерываний  - это адрес первой команды прерывающей программы. Прерывающие программы  для разных УВВ могут быть записаны в разных областях памяти. Однако в начальной области памяти отводится специальная область, называемая  областью векторов прерываний, в которой хранятся первые адреса прерывающих подпрограмм.
 В этой области памяти, как правило, на практике пишется команда  JMP с указанием адреса  команда программы прерываний.
 Таблица векторов прерываний располагается в начальной области памяти, но по усмотрению программиста-разработчика может располагаться в любом месте памяти  вектор прерываний. Вектор прерывания (второй и третий байт команды CALL формирует сам ПКП). На практике по этому адресу (по вектору прерываний) располагается команда  JMP  с указанием  адреса первой подпрограммы прерываний для данного запроса IRQ. Сама подпрограмма прерывания может располагаться в любом свободном адресном пространстве.    

 

 

Рисунок  1 - УГО ИМС КР580ВН59

   Таблица 1- Назначение выводов ИМС КР580ВН59