Cтраница 1
![]() |
Схема микропроцессора, имеющего три входа для подачи запросов на прерывание. [1] |
Маска прерывания снимается на том этапе выполнения программы обработки прерывания, когда уже могут быть разрешены другие прерывания. [2]
Маска прерывания отражает текущий уровень приоритета ядра DSP и показывает уровень приоритета прерывания, необходимый для прерывания процессора. Уровень приоритета может меняться программно. [3]
![]() |
Программно-управляемый приоритет на основе маски прерывания. [4] |
Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам или классам прерывания. Маска загружается командой программы в регистр маски. Состояние 1 в данном разряде регистра маски разрешает, а состояние 0 запрещает ( маскирует) прерывание текущей программы от соответствующего запроса. [5]
Маска прерываний заносится на регистр защиты в момент прерывания программы. В этом случае вычислитель загружается программой, заданной новым ССП, часть разрядов которого определяет маску прерываний. Для изменения маски в процессе выполнения программы используется операция УСТАНОВИТЬ МАСКУ, по которой маска выбирается из адресуемой в команде ячейки ОЗУ и заносится на регистр защиты. [6]
Маска прерываний хранится в процессоре, куда она загружается командой Установить маску Л, где А - адрес. По этой команде слово с адресом А загружается в качестве маски в процессор и определяет отношение процессора к сигналам прерывания. Если все разряды маски равны нулю, процессор не реагирует ни на одну причину прерывания. [7]
![]() |
Программно-управляемый приоритет ни основе маски прерывания. [8] |
Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам или классам прерывания. Маска загружается командой программы в регистр маски. Состояние 1 в данном разряде регистра маски разрешает, а состояние 0 запрещает ( маскирует) прерывание текущей программы от соответствующего запроса. Таким образом, программа, изменяя маску в регистре маски, может устанавливать произвольные приоритетные соотношения между программами без перекоммутации линий, по которым поступают запросы прерывания. Каждая прерывающая программа может установить свою маску. При формировании маски 1 устанавливаются в разряды, соответствующие запросам ( прерывающим программам) с более высоким, чем у данной программы, приоритетом. [9]
Изменение маски прерываний требует исполнения нескольких команд по формированию маски и запоминанию прежнего состояния. В тех случаях, когда необходимо быстро исключить возможность появления любого прерывания, а эта необходимость возникает в начале любой реакции при запоминании состояния машины ( состояния ( всех регистров, используемых в реакции), используется регистр блокирования прерываний. [10]
Часто маску прерывания устанавливает в самом начале своего выполнения программа обработки прерывания. [11]
Применяется система масок прерываний, обрабатываемых некоторыми специальными командами. [12]
![]() |
Запоминание регистров в последовательности прерывания. [13] |
Процессор устанавливает бит маски прерывания, поэтому дальнейшие запросы маски-руемых прерываний игнорируются до программного сброса этого бита. [14]
![]() |
Пример содержимого стека. [15] |