Во время работы ЭВМ внутри нее самой или во внешней среде (в объекте, управляемом ЭВМ) могут возникнуть события, требующие немедленных ответных действий.
Прерывание программы – это способность ЭВМ при возникновении определенных ситуаций, требующих немедленной реакции ЭВМ, прекратить выполнение текущей программы и передать управление программе, реализующей реакцию ЭВМ на возникшую ситуацию.
Устройства, требующие вмешательства ЭВМ называются источниками прерываний.
Каждое событие, требующее прерывание, сопровождается сигналом, который называется запросом прерывания.
Программу, затребованную запросом прерывания, называют прерывающей программой.
Реакция ЭВМ состоит в том, что процессор формирует управляющий сигнал, требуемый прекращения выполнения текущей программы, а затем формирует управляющий сигнал перехода к обработке другой программы, соответствующей происходящему событию. По завершении этой программы ЭВМ возвращается к выполнению текущей программы.
Так происходит и при реализации мультипрограммного режима работы, когда обязательно наличие системы приоритетных прерываний.
Мультипрограммный режимоснован на том, что выполнение огромного большинства программ включает в себя операции, связанные с приостановкой работы ЦП (операции по вводу исходных данных, выводу результатов, загрузка программы с ВЗУ и тому подобное). Паузы же в работе ЦП используются для решения других задач. Чем больше одновременно обрабатывается программ (выше коэффициент мультипрограммирования), тем больше вероятность того, что в любой момент времени либо микропроцессор, либо то или иное устройство будет задействовано, вследствие чего производительность возрастает.
Запросы прерывания могут возникать внутри самой ЭВМ или во внешней среде. К первым относятся: запросы при переполнении разрядной сетки, при попытке деления на 0, при выходе из установленной для программы области памяти, затребование периферийным устройством операции ввода/вывода, завершение операции ввода/вывода устройством или возникновение особой ситуации при этой операции. Запросы во внешней среде возникаю от других ЭВМ, от аварийных и некоторых других датчиков управления объектами и другое. Таким образом, запросы прерывания генерируются несколькими развивающимися параллельно во времени процессами, которые в некоторые моменты времени требуют вмешательства процессора. К этим параллельным процессам в частности, относят процесс выполнения текущей программы, процесс контроля правильности работы ЭВМ, операции ввода/вывода, технологические процессы в управляемом машиной объекте и другие.
Возможность прерывания программ позволяет эффективно использовать производительность процессора при наличии нескольких, протекающих параллельно во времени процессов, требующих в произвольные моменты времени вмешательства центрального процессора. В первую очередь это относится к организации параллельной во времени работы процессора и пункта управления машины, а также к использованию ЭВМ для управления в реальном времени технологического процесса. В некоторых ЭВМ, наряду или вместо прерывания с переключением управления на другую программу, используется так называемая приостановка, когда по соответствующему запросу приостанавливается выполнение программы и с помощью аппаратных средств выполняется некоторая процедура без изменения содержания счетчика команды, а по ее окончании продолжается выполнение приостановленной программы. Чтобы ЭВМ могла реализовывать прерывания программ с достаточно высоким быстродействием, не требуя при этом больших усилий от программиста, необходимо придать соответствующие аппаратурные и программные средства, совокупность которых получила название система прерывания программ. В качестве аппаратных средств используется блок прерывания (контроллер прерывания). Программные средства – специальные программы, каждая из которых соответствует определенному прерыванию.
Основные функции системы прерывания:
¨ запоминание состояния прерываемой программы и переход к прерывающей программе;
¨ восстановление состояния прерванной программы и возврат к ней.
При наличии нескольких источников запросов прерывания, между ними должны быть установлены приоритетные соотношения. Приоритет определяет, какой из поступивших запросов подлежит обработке в первую очередь, и устанавливает, имеет ли данный запрос (прерывающая программ) право прерывать ту или иную программу.
Статьи к прочтению:
- Общие принципы построения безопасных операционных систем
- Общие принципы работы табличных распознавателей
Лекция 11: Прерывания
Похожие статьи:
-
Глава 2. общие принципы организации и работы компьютеров
2.1. Что такое компьютер? Компьютер (англ. computer — вычислитель) представляет собой программируемое электронное устройство, способное обрабатывать…
-
Общие основы операционных систем
Назначение и функции ОС Назначение любой системы обработки данных состоит в том, чтобы превращать данные в более полезную информацию. Для достижения этой…