![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Во время выполнения программы внутри ЭВМ и во внешней среде могут возникать события, требующие немедленной реакции на них со стороны машины. Реакция состоит в том, что машина прерывает обработку текущей программы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершении этой программы ЭВМ возвращается к выполнению прерванной программы. Такой процесс называется прерыванием.
Прерывание – реакция на входной сигнал запроса прерывания или команду прерывания.
Принципиально важным является то, что моменты возникновения событий, требующих прерывания программ, заранее неизвестны и поэтому не могут быть учтены при программировании.
Прерывание работы МП по запросу внешних устройств устраняет необходимость выполнения МП неэффективных операций по проверке готовности внешних устройств к обмену данными и снижает затраты времени на ожидание готовности периферийного устройства к обмену. Прерывания необходимы при обмене данными с большим числом асинхронно работающих внешних устройств.
Каждое событие, требующее прерывания, сопровождается сигналом, оповещающим об этом событии ЭВМ, который называется запросом прерывания. Программу, затребованную запросом прерывания, называют прерывающей программой, а программу, выполнявшуюся до появления запроса, - прерываемой программой.
В сущности, запросы прерывания поступают от нескольких параллельно развивающихся во времени процессов, требующих в произвольные моменты времени обслуживания со стороны процессора. К этим процессам относится выполнение основной программы, контроль правильности работы ЭВМ, операции ввода-вывода и т.п.
Система прерываний позволяет значительно эффективнее использовать процессор при наличии нескольких протекающих параллельно во времени процессов.
Для эффективной реализации системы прерываний ЭВМ снабжается соответствующими аппаратными и программными средствами, совокупность которых называется контроллером прерываний.
5.1.2. Порядок обработки прерывания
Основными функциями системы прерываний являются:
· запоминание состояния прерываемой программы;
· осуществление перехода к прерывающей программе;
· восстановление состояния прерванной программы;
· возврат к прерванной программе.
При наличии нескольких источников запросов прерываний должен быть установлен определенный порядок в обслуживании поступающих запросов, т.е. должны быть установлены приоритетные соотношения между запросами.
Приоритетные соотношения определяют, какой из нескольких поступивших запросов подлежит обработке в первую очередь, и устанавливают, имеет или не имеет право данный запрос прерывать ту или иную программу.
Прерывающая программа, как правило, состоит из трех частей:
1. Подготовительной, обеспечивающей сохранение состояния прерванной программы.
2. Основной, выполняющей затребованную запросом работу.
3. Завершающей, обеспечивающей продолжение работы прерванной программы.
5.1.3. Характеристики системы прерывания
Характеристики системы прерывания следующие:
1. Общее количество типов запросов прерываний (число входов в систему прерывания).
2. Время реакции - время между появлением запроса прерывания и началом выполнения прерывающей программы. Время реакции на запрос прерывания зависит от того, сколько программ со старшим приоритетом ждет обслуживания. Поэтому в документации обычно указывают время реакции на запрос с наивысшим приоритетом.
3. Затраты времени на переключение программ, которые равны суммарному расходу времени на запоминание и восстановление состояния программы.
4. Глубина прерывания - это максимальное число программ, которые могут прерывать друг друга. Если после перехода к прерывающей программе и вплоть до ее окончания прием других запросов запрещается, то говорят, что система имеет глубину прерывания, равную 1.
Глубина равна n, если допускается последовательное прерывание до n программ. Системы с большим значением глубины прерывания обеспечивают более быструю реакцию на срочные запросы.
Насыщение системы прерываний
Если запрос на прерывание окажется необслуженным к моменту прихода нового запроса от того же источника, то возникает так называемое насыщение системы прерываний. В этом случае предыдущий запрос прерывания от данного источника будет машиной утрачен, что недопустимо. Быстродействие ЭВМ, характеристики системы пре–рываний, число источников прерывания и частота возникновения запросов должны быть согласованы таким образом, чтобы насыщение было невозможным.
Допустимые моменты прерывания программ
Обычно прерывание допускается после завершения выполнения текущей команды. В этом случае время реакции определяется в основном временем выполнения одной команды.
Это время реакции может оказаться недопустимо большим для ЭВМ, работающих в реальном масштабе времени. В таких машинах часто допускается прерывание после любого такта выполнения команды. Однако при этом возрастает количество информации, подлежащей запоминанию и восстановлению при переключении программ, так как в этом случае необходимо сохранять состояния счетчика тактов, регистра кода операции и некоторые другие в момент прерывания.
Имеются ситуации, в которых желательно немедленное прерывание. Например, если аппаратура контроля обнаружила ошибку, то целесообразно сразу прервать операцию, пока ошибка не оказала влияние на следующие такты работы машины.
Число классов (уровней) прерываний
В ЭВМ число различных запросов прерывания может достигать нескольких сотен. В таких случаях запросы обычно разделяют на отдельные классы или уровни.
Совокупность запросов, инициирующих одну и ту же прерывающую программу, образует класс или уровень прерывания. В этом случае запросы одного класса прерывания формируются элементами ИЛИ, еще одна схема ИЛИ формирует общий сигнал прерывания. Объединение запросов в классы прерывания позволяет уменьшить объем аппаратуры, но связано с замедлением работы системы прерывания.
Дата публикования: 2015-04-10; Прочитано: 3310 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!