Cтраница 1
Источник прерывания идентифицируется кодом прерывания. Если в старом PSW задан режим ВС, код прерывания записывается в биты 16 - 31 старого PSW и код длины команды непредсказуем. [1]
Источник прерывания в пределах данного класса определяется путем опроса устройств, выдвигающих запросы на прерывание. Так, если происходит прерывание от ввода-вывода, то в вычислителе путем опроса каналов определяется адрес канала и адрес УВВ в канале, вызвавшем прерывание. Дополнительные сведения о причине прерывания получаются путем опроса устройств, вызывающих прерывание. Если в вычислителе в момент прерывания формируется ССП, то в слово включается код прерывания, идентифицирующий устройство и, возможно, причину, по которой возникло прерывание. После передачи управления супервизору в программах супервизора анализируется код прерывания, по которому определяется подпрограмма, обслуживающая прерывание. [2]
![]() |
Блок данных, соответствующий выполнению программы RQATN, в общем виде.| Блок данных оператора CALL RQATN после того, как произошло прерывание от светового пера.| Формат таблицы прерываний. [3] |
Список источников прерываний кото-рые должны находиться при данном обращении к программе RQATN 8 активном состоянии ( свет. [4]
Обнаружение источника прерывания основано на анализе состояния флагов внешних устройств. Обычно все внешние устройства, в момент готовности устанавливают свой триггер готовности ( флаг) в единичное состояние. Программа состоит из последовательного опроса флагов всех задействэванных внешних устройств и счета числа пройденных позиции. Сама команда опроса флага ( типа 6тп, где тп - восьмеричный номер внешнего устройства), обеспечивающая пропуск очередной команды, если флаг установлен в единичное состояние, предопределяет необходимое разветвление программы. [5]
Обнаружение источника прерывания в простейшем случае сводится к опросу флагов задействованных внешних устройств со счетом числа пройденных звеньев такой цепочки; выход в следующий блок осуществляется при обнаружении первого же флага, установленного в единичное состояние. Если этот флаг оказался в единичном состоянии считывается все слово флагов и дальнейшая программа организуется на основе какого-либо цикла поразрядного анализа полученного слова. Очевидно, последовательность опроса флагов в этом случае определяется положением разряда, закрепленного за каждым из них. Иногда таким априорным ранжированием и завершается установление приоритетов для потока задач, однако система оказывается более гибкой, если приоритет задачи рассматривается как ее отдельная дополнительная характеристика. [6]
Каждому источнику прерываний в оперативной памяти отводится вектор прерываний, состоящий из двух слов. Первое слово содержит адрес запуска программы обработки прерывания PC; второе слово - PS, которое устанавливается для этой программы. Для размещения векторов прерываний отводится нижний участок оперативной памяти, который начинается. В этом участке памяти каждому типу внешних устройств отведен свой адрес для размещения соответствующего вектора прерывания. Аналогичные адреса отведены для векторов прерываний от внутренних источников и от специальных машинных инструкций. [7]
Каждому источнику прерывания в оперативной памяти по строго фиксированному адресу W отводится вектор прерывания, состоящий из двух слов. Для размещения векторов прерываний отводятся младшие адреса оперативной памяти, начиная с нулевого. [8]
![]() |
Прерывание в системах с различной глубиной прерывания. [9] |
Запросы всех источников прерывания поступают на регистр запросов прерывания РгЗП, устанавливая соответствующие его разряды ( флажки) в состояние 1, указывающее на наличие запроса прерывания определенного источника. [10]
В подпрограмме обработки прерывания источник прерывания может быть определен по соответствующему биту в регистре признаков. Этот флаг-признак должен быть программно сброшен внутри подпрограммы. [11]
Прерывание называется векторным, если источник прерывания, выставляя запрос прерывания, посылает в процессор ( выставляет на шины интерфейса) код адреса в памяти своего вектора прерывания. [12]
![]() |
Способы опроса источников сигналов прерывания. [13] |
Прерывание называется векторным, если источник прерывания, выставляя запрос прерывания, посылает в процессор ( выставляет на шины интерфейса) код адреса в памяти своего вектора прерывания. [14]
Если время реакции или обслуживания источника прерывания настолько велико, что запрос окажется необслуженным к моменту прихода нового запроса от того же источника, то возникает явление, называемое насыщением системы прерывания. В этом случае факт посылки предыдущего запроса прерывания от данного источника будет системой утрачен, что, вообще говоря, является недопустимым. Быстродействие вычислительной системы, логические возможности системы прерывания и количество источников прерывания должны быть согласованы таким образом, чтобы насыщение системы прерывания было невозможным. [15]