Организация ЭВМ и систем

Принципы организации системы прерывания программ


Во время выполнения ЭВМ текущей программы внутри машины и в свя­занной с ней внешней среде (технологический процесс, управляемый ЭВМ) "могут возникать события, требующие немедленной реакции на них со сторо­ны машины.

Реакция состоит в том, что машина прерывает обработку текущей про­граммы и переходит к выполнению некоторой другой программы, специаль­но предназначенной для данного события. По завершению этой программы ЭВМ возвращается к выполнению прерванной программы.

Рассматриваемый процесс, называемый прерыванием программ, поясня­ется на рис. 3.10.

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

Каждое событие, требующее прерывания, сопровождается сигналом, ко­торый называют запросом прерывания.

Программу, затребованную запросом прерывания, называют преры­вающей программой, противопоставляя ее прерываемой программе, вы­полнявшейся в ЭВМ до появления запроса.

Запросы на прерывания могут возникать внутри самой ЭВМ и в ее внешней среде. К первым относятся, например, запросы при возникновении в ЭВМ таких событий, как появление ошибки в работе ее аппаратуры, пере­полнение разрядной сетки, попытка деления на 0, выход из установленной для данной программы области памяти, затребование периферийным устрой­ством операции ввода-вывода, завершение операции ввода-вывода перифе­рийным устройством или возникновение при этой операции особой ситуации и др. Хотя некоторые из указанных событий порождаются самой програм­мой, моменты их появления, как правило, невозможно предусмотреть. Запросы во внешней среде могут возникать от других ЭВМ, от аварийных и неко­торых других датчиков технологического процесса и т.п.

Таким образом, запросы прерывания генерируются несколькими разви­вающимися параллельно во времени процессами, которые в некоторые мо­менты требуют вмешательства процессора.


К этим процессам, в частности, относится процесс выполнения самой программы, процесс контроля правильности работы ЭВМ, операции ввода -вывода, технологический процесс в управляемом машиной объекте и др.



Рис.3.10. Процесс прерывания программы

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

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

Чтобы ЭВМ могла, не требуя больших усилий от программиста, реали­зовывать с высоким быстродействием прерывания программ, машине необ­ходимо придать соответствующие аппаратурные и программные средства, совокупность которых получила название

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

(блок прерывания).

Основными функциями системы прерывания являются:

- запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

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


Содержание раздела