69
Обратим внимание на некоторые ключевые моменты изложенного меха-
низма процесса прерывания программы .
Использование организации прерываний по векторам, адреса которых
для каждого внешнего устройства жестко фиксированы в памяти ЭВМ ,
обеспечивает пользователю ЭВМ полную свободу в размещении в ее памяти
программ обслуживания прерываний. Адреса этих программ заносятся в со -
ответствующие ячейки векторов основной программой.
Использование стека для сохранения адреса возврата из прерывания и те -
кущего слова состояния процессора позволяет естественным образом (как и
при организации подпрограмм) реализовать процесс обслуживания вложен-
ных прерываний , т.е . ситуаций, когда до завершения обслуживания прерыва-
ния от какого -либо внешнего устройства процессор по соответствующему
запросу переходит на обслуживание прерывания от другого внешнего уст-
ройства, после окончания которого возвращается в прерванную программу
обслуживания первого устройства. Механизм работы стековой памяти авто -
матически обеспечивает правильный порядок запоминания содержимого
счетчика команд и слова состояния процессора при последовательном входе
во вложенные программы обслуживания прерываний и извлечения их из
стека при последовательном возврате из этих программ.
Важной, еще не рассмотренной, стороной механизма прерываний являет-
ся обслуживание прерываний в соответствии с различными приоритетами
внешних устройств, которые в общем случае могут зависеть от конкретного
контекста выполняемой программы . Действительно , в зависимости от вы -
полняемых в конкретные моменты времени функций, участвующие в совме-
стной работе устройства, включая и сам процессор, могут обладать различ-
ными приоритетами . Возможны ситуации, когда особая важность выполняе -
мого процессором фрагмента программы делает вообще нежелательным ка-
кие-либо прерывания этого фрагмента программы . Разные назначение и
функции внешних устройств делает необходимым, например, разрешение
конфликта при одновременном требовании прерывания несколькими уст-
ройствами в пользу устройства с более высоким в соответствии с решаемой
им задачей приоритетом. Возможны случаи , когда вообще нежелательны
прерывания от конкретных внешних устройств , например, не используемых
в конкретной программе пользователя.