logo search
Микропроцессорные системы

Программно-управляемый приоритет прерывающих программ

Относительная степень важности программ, их частота повторения, относительная степень срочности в ходе вычислительного процесса могут меняться, требуя установления новых приоритетных соотношений. Поэтому во многих случаях приоритет между прерывающими программами не может быть зафиксирован раз и навсегда. Необходимо иметь возможность изменять по мере необходимости приоритетные соотношения программным путем.

В ЭВМ широко применяются два способа программно-управляемого приоритета прерывающих программ:

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

Маска прерыванияпредставляет собой двоичный код, разряды которого поставлены в соответствие запросам или классам (уровням) прерываний. Маска загружается командой программы в регистр маски (см. рис. 9.4)

Рис. 9.4. Маскирование прерываний.

Состояние 1 в разряде РгМ разрешает, а состояние 0 запрещает (маскирует) прерывание текущей программы от соответствующего запроса. Таким образом, программа, изменяя маску в РгМ, может устанавливать произвольные соотношения между программами, без перекоммутации линий, по которым поступают запросы прерываний. Каждая прерывающая программа может установить свою маску. При формировании маски 1 устанавливается в разряды, соответствующие запросам (прерывающим программам) с более высоким, чем у данной программы, приоритетом. Схемы И выделяют поступившие незамаскированные запросы прерываний, из которых специальная схема выделяет наиболее приоритетный и формирует код его номера. С замаскированными запросами, в зависимости от причин прерываний поступают двояким образом: или игнорируется, или запоминается.