Cтраница 2
При этом в оперативной памяти автоматически фиксируется состояние регистров ЭВМ, позволяющих возвратиться к выполнению прерванной программы. При прерывании управление передается в программу - диспетчер, с помощью которой происходит программная обработка причины, вызвавшей прерывание. [16]
Выполнение указанной процедуры приводит к вызову в ОЗУ страницы, к которой произошло обращение в программе; после чего выполнение прерванной программы может быть продолжено. [17]
Команда возврата из прерываний, RTI, как показано в приведенном выше фрагменте программы, применяется для выхода из программы обработки прерываний и вызывает возобновление выполнения прерванной программы. Это осуществляется восстановлением содержимого PSW и возвратом адреса из стека, а также восстановлением информации в соответствующих регистрах, после чего выполнение прерванной программы возобновляется, как будто оно и не прерывалось. [18]
Старое PSW, записанное при прерывании, обычно содержит адрес команды, которая выполнялась бы следующей, если бы прерывания не произошло, благодаря чему обеспечивается продолжение выполнения прерванной программы. При программных прерываниях и прерываниях при обращении к супервизору записывается также код, определяющий длину последней выполненной команды, что позволяет программе реагировать на причину прерывания. В случае некоторых программных прерываний, после которых обычно возобновляется выполнение команды, вызвавшей прерывание, адрес команды непосредственно указывает на последнюю выполненную команду. [19]
Прерывание - это приостанов выполнения в процессоре программы с целью выполнения какой-то более важной или нужной в данный момент другой программы или процедуры, после завершения которой продолжается выполнение прерванной программы с момента ее прерывания. Прерывание позволяет компьютеру приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе машины или ее компонента. Каждое прерывание влечет за собой загрузку определенной программы, предназначенной для обработки возникшей ситуации - программы обработки прерывания. [20]
Если в конце программы, получившей управление в результате прерывания, имеется команда, заменяющая текущее PSW на старое, то процессор восстановит состояние, предшествующее прерыванию, и выполнение прерванной программы будет продолжено. [21]
После того как ISR заканчивает выполнение командой RTI ( возврат из прерывания), из стека автоматически выталкиваются два верхних слова и помещаются в PC и PS соответственно, возобновляя таким образом выполнение прерванной программы. Естественно прерывания могут чередоваться с переходами к подпрограммам, причем никаких недоразумений при этом не происходит. Использование команд RTI и RTS обеспечивает автоматический возврат в соответствующие программы. [22]
В системе команд машины должны содержаться команды для считывания содержимого регистра прерываний в рабочую ячейку, для записи маски ( специально составленного кода) из рабочей ячейки в регистр маски и, наконец, команда возврата к продолжению выполнения прерванной программы. По такой команде коды из ячеек дублирующего набора переносятся в соответствующие управляющие регистры, в результате чего прерванная программа продолжает выполняться так, будто прерывания не было. [23]
Если, например, причина прерывания заключалась в том, что выполняемая программа просто обратилась к диспетчеру с заказом на вычисление одной из стандартных функций ( о возможности такого рода прерываний будет сказано ниже), то диспетчер выполняет этот заказ и возобновляет выполнение прерванной программы. [24]
В четырехразрядной маске программы содержатся коды масок для четырех из пятнадцати возможных программных прерываний: 36 - й разряд - маска переполнения с фиксированной запятой, 37 - й - маска десятичного переполнения, 38 - й - маска потери порядка, 39 - й - маска потери значимости. Адрес команды в ССП позволяет возобновить выполнение прерванной программы в месте ее прерывания. [25]
Прерывание представляет обой временное прекращение выполнения микропроцессором программы для выполнения другой программы с более высоким уровнем приоритета. В дальнейшем осуществляется возврат МП к выполнению прерванной программы. Возможность прерываний повышает эффективность работы в реальном масштабе времени. [26]
В режиме работы по прерыванию обмен данными происходит по требованию периферийного устройства, при этом процессор приостанавливает выполнение текущей программы, чтобы обслужить запрашивающее устройство. После завершения выполнения программы обслуживания процессор возобновляет выполнение прерванной программы с того места, где она была прервана. [27]
Реакция состоит в том, что машина прерывает обработку текущей пррграммы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершении этой программы ЭВМ возвращается к выполнению прерванной программы. [28]
Реакция состоит в том, что машина прерывает обработку текущей программы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершении этой программы ЭВМ возвращается к выполнению прерванной программы. [29]
![]() |
Замена слова состояния программы при прерывании. [30] |