Page 300 - ЭВМ
P. 300

Обработка  прерываний.  В  общих  чертах  процесс  обработки
               прерываний  описан  выше.  Для  обработки  прерываний  необходимо

               задание адресов обработчиков прерываний для каждого вида преры-
               ваний. Этот адрес указывается в микропрограмме процессора.
                      По прерыванию происходит прекращение выполнения текущей
               задачи, сохранение атрибутов этой задачи (состояние всех регистров
               процессора, текущего адреса выполнения, вектора состояния процес-

               сора) и передача управления на адрес обработчика прерываний.
                      Существуют различные процедуры обработки прерываний в за-
               висимости от организации системы прерывания.

                      В  современных  ЦВМ  прерывание  представляется  как  вектор,
               т. е. слово, имеющее столько битов, сколько есть входов прерывания
               в  БЦВК (например, 4  входа  в  процессоре «Салют-4»).  Для  каждого
               бита в векторе прерываний сопоставлен свой вход обработчика пре-

               рываний (таким  образом,  для  процессора «Салют-4»  имеем 4  входа
               обработчика прерываний).
                      Прерывание  в  процессоре  происходит  следующим  образом.
               При появлении прерываний система прерываний БЦВК вырабатыва-

               ет  обобщенный  сигнал  прерывания  и  вектор  прерываний,  которые
               поступают в процессор. В процессоре, если отработка данного вида
               прерываний не запрещена, происходит после выполнения очередной
               машинной инструкции сохранение состояния процессора в слове со-

               стояния процессора (program status word – PSW) и выбор из вектора
               прерываний  одного (самого  приоритетного)  бита,  который  будет
               обрабатываться.  Затем  производится  переход  на  адрес  обработчика

               прерываний,  соответствующий  выбранному  биту  вектора  прерыва-
               ний. После принятия на обработку прерывания выбранный бит век-
               тора прерываний сбрасывается. Если в векторе прерываний «взведе-
               но» несколько бит, они последовательно будут обработаны и сбро-

               шены.
                      Слово  состояния  программы.  Слово  состояния  программы
               предназначено  для  сохранения  статуса  процессора  при  прерывании.
               В первую очередь, в слове состояния программы фиксируется адрес,

               на котором произошло прерывание. Как отмечалось выше, обработка
               каждого вида прерываний может быть разрешена или запрещена, что
               отражается в слове состояния (как правило, программные прерывания
               запретить  нельзя).  Кроме  этого,  имеются  подвиды  различных  масок

               запретов  обработки  сигналов  процессора,  их  может  быть  большое



                                                           289
   295   296   297   298   299   300   301   302   303   304   305