Cтраница 4
![]() |
Блок выхода из прерывания. Штрихом указаны блоки, нужные при работе с расширенным объемом МОЗУ. [46] |
Особенностью работы этого блока в мультипрограммном режиме является использование его стандартных рабочих ячеек не только блоком обнаружения источника прерывания, но и блоками установления очередности, окончания задач, а также службами диспетчера. Все эти блоки подготавливают блоку выхода из прерывания данные, которые он всегда стандартным образом использует далее. [47]
Код N может не только формироваться аппаратурой, как это было описано выше, но и передаваться источником прерывания, например периферийным устройством, по шине данных интерфейса вместе с запросом прерывания ( см. гл. [49]
Как было показано в § 1.1, любая программа, обрабатываемая в системе технических средств, сама является источником прерываний. Поэтому введем в модель внутренний поток прерываний, запросы которого прерывают обработку программ любого приоритетного индекса. [50]
Регистр условий прерывания ( INTCON) является доступным по чтению и записи регистром, который содержит биты доступа для всех источников прерываний. [51]
Для реализации подпрограммы обработки прерывания в МП должны выполняться следующие действия: прием запроса на прерывание и его подтверждение; идентификация источника прерывания; сохранение состояния основных регистров МП ( счетчика команд, аккумулятора, РОНов) с тем, чтобы обеспечить возможность возобновления вычислений по прерванной программе; собственно выполнение программы обработки прерывания; восстановление исходного состояния основных регистров МП и возврат к выполнению основной программы. [52]
Весьма желательно, чтобы требования к форме сигналов и аппаратуре источников прерывания, а также число управляющих сигналов, которыми обмениваются машина и источник прерывания, были минимальными. В рассматриваемом примере эта цель достигается благодаря тому, что запрос прерывания подается на вход формирователя, обеспечивающего восстановление амплитуды и фронтов сигнала до стандартной величины, и затем на дифференцирующий усилитель, который выделяет передний фронт сигнала. [53]
При выполнении прерывания по запросам СВВ в ЦП выполняются следующие основные действия: после завершения текущей команды временно выключается система прерывания; запоминается состояние ЦП; определяется источник прерывания; запоминается состояние регистров общего назначения, обычно используемых программой прерывания; устанавливаются новые маски прерывания от СВВ; включается система прерывания и разрешается пре - рывание от устройств более высокого приоритета; начинается выполнение подпрограммы обработки данного типа прерывания. [54]
Отвечая на сигнал 1NTR, МП 80386 производит два цикла подтверждения прерывания и в конце второго читает 8-разрядный вектор прерывания на выводах D0 - D7 для идентификации источника прерывания. [55]
![]() |
Последовательность действий микропроцессора при обработке прерывания. [56] |
Во время своего выполнения ПОП может при необходимости сохранить в стеке остальные программно-доступные регистры МП ( действие 4), а также реализовать необходимые операции по обслуживанию прерывания, зависящие от источника прерывания. Значение приоритета процессора в новом ССП, загруженном в РСП из вектора прерывания, определяет возможность повторного прерывания МП от того же или другого источника во время выполнения ПОП. Если желательно запретить прерывания до полного завершения ПОП, то в новом ССП должен быть установлен высший приоритет процессора. [57]
БПРУ, осуществляет формирование сигналов либо РПСИВЛ1; ВЛ, либо РПСИВЛ2 i ВЛ, По микроприказу Ml РПСИВЛ ( в микропрограмме обработки прерываний) содержимое соответствующего РПСИВЛ поступает на магистраль Ml для идентификации источника прерывания. По сигналу ВХ-ЛЗП происходит запись данных с линий ВХ-ШО-ВХ-Ш7 в РПИВЛ. По микроприказу Ml 124 / 31 ]: : РПИВЛ информация из РПИВЛ поступает на магистраль Ml для записи ее в ОП. [58]
Отметим, что если прерывание на основе опроса источников прерываний всегда сопровождается переходом по одному и тому же адресу и инициирует одну и ту же прерывающую подпрограмму, которая после идентификации источника запроса и формирования адреса начала соответствующей запросу прерывающей программы передает ей управление, то при векторном прерывании каждому запросу прерывания, или, другими словами, устройству - источнику прерывания, соответствует переход к начальному адресу соответствующей прерывающей программы, задаваемому вектором прерывания. [59]
Отметим, что если прерывание на основе опроса источников прерываний всегда сопровождается переходом по одному и тому же адресу и инициирует одну и ту же прерывающую подпрограмму, которая после идентификации источника запроса и формирования адреса начала соответствующей запросу прерывающей программы передает ей управление, то при векторном прерывании каждому запросу или уровню ( классу) прерывания или, другими словами, устройству - источнику прерывания соответствует переход к начальному адресу соответствующей прерывающей программы, задаваемому вектором прерывания. [60]