Cтраница 4
При описании задачи пользователь должен указать для нее один из четырех уровней программного ( или пользовательского) приоритета Эти уровни являются логическими и соответствующие им значения приоритетов - ниже системных, устанавливаемых при возникновении прерываний по I / O или вызванных выполнением соответствующих команд. Три уровня программных приоритетов соответствуют реальным, их установка приводит к изменениям содержимого слова состояния процессора. Так, при возникновении прерывания, индицирующего время запуска новой задачи с приоритетом, превышающим приоритет выполняемой, выполнение текущей задачи приостанавливается и активизируется новая. [46]
Блок обработки прерываний СК производит обработку как внешних, так и внутренних запросов прерывания. К внутренним прерываниям относятся: ошибка обращения к каналу, прерывание по Т - и Р - биту слова состояния процессора. [47]
Возврат к прерванной программе осуществляет заключительная часть прерывающей программы, в которой команды передачи данных с автоинкрементной прямой адресацией по указателю стека производят передачу из стека сохраненных в нем состояний общих регистров в соответствующие регистры. Последней командой прерывающей программы - командой Возврат из прерываний - первое слово вектора состояния прерванной программы загружается из стека в счетчик команд, а второе слово - в регистр слова состояния процессора. Передача каждого слова сопровождается увеличением УС на два. После этого восстанавливается выполнение прерванной программы. [48]
Команды передачи и возврата управления образуют большую группу команд, используемых в ДВК. Среди команд передачи управления есть команда безусловного BR и ряд команд условного перехода, которые могут осуществлять передачу управления при наличии соответствующего условия, представляемого тем или иным признаком условия в слове состояния процессора. [49]
Блок прерываний организует приоритетную систему прерываний в процессоре, принимает и обрабатывает внутренние и внешние запросы на прерывание. При одновременном появлении нескольких запросов все источники прерываний по взаимному приоритету образуют следующую иерархию: ошибка обращения к каналу; резервный или запрещенный код в регистре команд; Т - разряд в слове состояния процессора; сигнал аварии сетевого питания ACLO; запросы радиального прерывания IRQ1, IRQ2, IRQ3; требование прерывания VIRQ. Необходимо отметить, что блок прерывании реагирует на запросы ACLO, IRQ2, IRQ3 при их переходе от высокого уровня напряжения к низкому. При возникновении условий прерывания процессор микропрограммно осуществляет сохранение текущего значения счетчика команд и слова состояния и производит загрузку их нового значения из пары ячеек внешнего ОЗУ или ПЗУ. Прерывание процессора обычно допускается лишь в конце выполнения команды. Только прерывание Ошибка обращения к каналу может остановить выполнение команды на любой фазе ее выполнения. [50]
Блок прерываний организует приоритетную систему прерываний в процессоре, принимает и обрабатывает внутренние и внешние запросы на прерывание. При одновременном появлении нескольких запросов все источники прерываний по взаимному приоритету образуют следующую иерархию: ошибка обращения к каналу; резервный или запрещенный код в регистре команд; Т - разряд в слове состояния процессора; сигнал аварии сетевого питания ACLO; запросы радиального прерывания IRQ1, IRQ2, IRQ3; требование прерывания VIRQ, Необходимо отметить, что блок прерываний реагирует на запросы ACLO, IRQ2, IRQ3 при их переходе от высокого уровня напряжения к низкому. При возникновении условий прерывания процессор микропрограммно осуществляет сохранение текущего значения счетчика команд и слова состояния и производит загрузку их нового значения из пары ячеек внешнего ОЗУ или ПЗУ. Прерывание процессора обычно допускается лишь в конце выполнения команды. Только прерывание Ошибка обращения к каналу может остановить выполнение команды на любой фазе ее выполнения. [51]