Cтраница 3
Если выполнение прерванной программы необходимо продолжить, старое PSW для этой программы вновь заносится в регистр PSW. Биты 40 - 63 старого PSW определяют адрес команды, начиная с которой должно продолжаться выполнение прерванной программы. [31]
Команда возврата из прерываний, RTI, как показано в приведенном выше фрагменте программы, применяется для выхода из программы обработки прерываний и вызывает возобновление выполнения прерванной программы. Это осуществляется восстановлением содержимого PSW и возвратом адреса из стека, а также восстановлением информации в соответствующих регистрах, после чего выполнение прерванной программы возобновляется, как будто оно и не прерывалось. [32]
ССП хранит всю необходимую информацию о состоянии системы в момент прерывания. Если в конце программы обработки прерывания имеется команда, заменяющая текущее ССП на старое, система восстановит состояние, предшествующее прерыванию, и выполнение прерванной программы будет продолжено. [33]
Запрос на прерывание может возникнуть как при работе Р1 или Р2 программ, так и во время работы РЗ программ. В первых двух случаях необходимо запомнить содержимое Р - счетчика для того, чтобы после обработки прерывания в состоянии процессора РЗ можно было продолжить выполнение прерванной программы. В третьем случае запрос на прерывание возник, когда программа уже выполняется в состоянии процессора РЗ. Поэтому имеются два входа в обработчики прерываний. На первый вход поступают все прерывания, возникшие при выполнении Р1 и Р2 программ, на второй - все прерывания, возникшие при выполнении РЗ программ. Управление от первого входа также передается на второй вход. [34]
Ввод-вывод по прерыванию происходит тогда, когда внешнему устройству разрешено останавливать выполнение центральным процессором текущих программ и передавать управление специальным служебным подпрограммам. Эти подпрограммы должны после вызова сохранить в памяти содержимое рабочих регистров, регистра состояния и счетчика команд, с тем чтобы при возврате управления основной программе не произошло никаких изменений и выполнение прерванной программы могло быть продолжено. [35]
![]() |
Структура системы с сопряжением второго ранга. [36] |
Информация может передаваться синхронно и асинхронно. В случае возникновения критических ситуаций обеспечивается режим работы по прерыванию, предусматривающий временное прекращение работы БОИ или СП по данной программе, переключение на работу по прерывающей программе л в дальнейшем продолжение выполнения прерванной программы. [37]
Возникновение прерывания приводит к запоминанию состояния выполняемой в данный момент программы и к переходу к процедуре, указанной адресным словом, хранящимся в определенном для данного класса месте оперативной памяти. Одновременно запоминается содержимое указателей и регистров процессора. Возврат к выполнению прерванной программы происходит по специальной команде. [38]
Последней командой прерывающейч программы - командой Возврат из прерываний первое слово вектора состояния прерванной программы загружается из стека в счетчик команд, а затем второе слово - в регистр слова состояния процессора. Передача каждого слова сопровождается увеличением УС на два. После этого восстанавливается выполнение прерванной программы. [39]
Чтобы диспетчер смог выполнить свои управляющие функции, в аппаратуре ЭВМ есть возможность прерывать ( приостанавливать) выполнение программы и передавать управление диспетчеру. Это осуществляется при появлении какого-либо события. В подходящий момент выполнение прерванной программы продолжается так, как если бы в отношении программы никакого прерывания не было. [40]
Прерывание с кодом i F - деление с плавающей запятой - возникает, если предпринимается попытка деления на нуль. В качестве результата используется максимально допустимое число. После обработки прерывания выполнение прерванной программы продолжается. [41]
Число одновременно работающих с ЭВМ периферийных устройств можно увеличить благодаря экономии машинного, времени при операциях обмена, так как каждое прерывание и восстановление программ - требует выполнения ВчУ нескольких операций. Поэтому в ЭВМ вводится режим ириостанова, сущность которого сводится к тому, что по соответствующему сигналу останавливается выполнение текущей программы и У О получает непосредственный доступ к ОЗУ для осуществления необходимого числа операций записи и считывания. После этого ЭВМ продолжает выполнение прерванной программы. [42]
Также оператор ON представляет собой способ задания параллельных ветвей вычислений. В динамике счета исполняемая программа может быть прервана, если возникла ситуация, описанная списком параметров какого-либо оператора ON. После выполнения тела ON выполнение прерванной программы будет продолжено с той самой точки, на которой произошло прерывание. [43]
Контроллер прерываний обслуживает процедуры прерывания, принимает запрос на прерывание от внешних устройств, определяет уровень приоритета этого запроса и выдает сигнал прерывания процессору. Процессор, получив этот сигнал, приостанавливает выполнение текущей программы и переходит к выполнению специальной программы обслуживания того прерывания, которое запросило внеш - нее устройство. После завершения программы обслуживания восстанавливается выполнение прерванной программы. [44]
![]() |
Алгоритм работы блока управления. [45] |