←предыдущая следующая→
1 2 3
ВТОРОЙ СЕМЕСТР
СЕМИНАР N 1-2
ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ОБРАБОТКИ ПРЕРЫВАНИЯ ПРОГРАММ
Во время выполнения программы внутри ЭВМ и во внешней среде
могут возникать события, требующие немедленной реакции на них со
стороны машины.
Реакция состоит в том, что машина прерывает обработку
текущей программы и переходит к выполнению некоторой другой
программы, специально предназначенной для данного события. По
завершении этой программы ЭВМ возвращается к выполнению прерван-
ной программы.
Такой процесс называется прерыванием программы. Принципиаль-
но важным является то, что моменты возникновения событий, требую-
щих прерывания программ, заранее неизвестны и поэтому не могут
быть учтены при программировании.
Каждое событие, требующее прерывания, сопровождается сигна-
лом, оповещающим об этом событии ЭВМ, который называется запросом
прерывания. Программу, затребованную запросом прерывания, называ-
ют прерывающей программой, а программу, выполнявшуюся до появле-
ния запроса - прерываемой программой.
Запросы на прерывание могут возникать как внутри самой ЭВМ,
так и во внешней среде.
Внутренние запросы на прерывание возникают при сбоях в аппа-
ратуре ЭВМ, переполнении разрядной сетки, попытке деления на 0,
нарушении защиты памяти, при затребовании или завершении операции
ввода-вывода периферийным устройством.
Внешние запросы могут поступать от датчиков технологического
процесса и других ЭВМ.
В сущности запросы прерывания поступают от нескольких парал-
лельно развивающихся во времени процессов, требующих в произволь-
ные моменты времени обслуживания со стороны процессора. К этим
процессам относится выполнение основной программы, контроль пра-
вильности работы ЭВМ, операции ввода-вывода и т.п.
Система прерываний позволяет значительно эффективнее исполь-
зовать процессор при наличии нескольких протекающих параллельно
во времени процессов.
Для эффективной реализации системы прерываний ЭВМ снабжается
соответствующими аппаратными и программными средствами, совокуп-
ность которых называется контроллером прерываний.
Основными функциями системы прерываний являются:
- запоминание состояния прерываемой программы и осуществление
перехода к прерывающей программе;
- восстановление состояния прерванной программы и возврат к
ней.
.
- 2 -
При наличии нескольких источников запросов прерываний должен
быть установлен определенный порядок в обслуживании поступающих
запросов, т.е. должны быть установлены приоритетные соотношения
между запросами.
Приоритетные соотношения определяют, какой из нескольких
поступивших запросов подлежит обработке в первую очередь, и уста-
навливают, имеет или не имеет право данный запрос прерывать ту
или иную программу.
Прерывающая программа, как правило, состоит из трех частей:
1) подготовительной, обеспечивающей сохранение состояния прер-
ванной программы;
2) основной, выполняющей затребованную запросом работу;
3) завершающей, обеспечивающей продолжение работы прерванной
программы.
Характеристики системы прерывания:
1) Общее количество типов запросов прерываний (число входов в
систему прерывания).
2) Время реакции - время между появлением запроса прерывания и
началом выполнения прерывающей программы.
Время реакции на запрос прерывания зависит от того, сколько
программ со старшим приоритетом ждет обслуживания. Поэтому в
документации обычно указывают время реакции на запрос с наивысшим
приоритетом.
3) Затраты времени на переключение программ, которые равны сум-
марному расходу времени на запоминание и восстановление состояния
программы.
4) Глубина прерывания - это максимальное число программ, кото-
рые могут прерывать друг друга. Если после перехода к прерывающей
программе и вплоть до ее окончания прием других запросов запреща-
ется, то говорят, что система имеет глубину прерывания, равную 1.
Глубина равна n, если допускается последовательное прерывание до
n программ. Глубина прерывания обычно совпадает с числом уровней
приоритета в системе прерываний. Системы с большим значением глу-
бины прерывания обеспечивают более быструю реакцию на срочные
запросы.
Насыщение системы прерываний
Если запрос на прерывание окажется необслуженным к моменту
прихода нового запроса от того же источника, то возникает так на-
зываемое насыщение системы прерываний. В этом случае предыдущий
запрос прерывания от данного источника будет машиной утрачен, что
недопустимо. Быстродействие ЭВМ, характеристики системы прерыва-
ний, число источников прерывания и частоты возникновения запросов
должны быть согласованы таким образом, чтобы насыщение было не-
возможным.
.
- 3 -
Допустимые моменты прерывания программ
Обычно прерывание допускается после завершения выполнения
текущей команды. В этом случае время реакции определяется в
основном временем выполнения одной команды.
Это время реакции может оказаться недопустимо большим для
ЭВМ, работающих в реальном масштабе времени. В таких машинах
часто допускается прерывание после любого такта выполнения коман-
ды. Однако при этом возрастает количество информации, подлежащей
запоминанию и восстановлению при переключении программ, так как в
этом случае необходимо сохранять состояния счетчика тактов,
регистра кода операции и некоторых других в момент прерывания.
Имеются ситуации, в которых желательно немедленное прерыва-
ние. Например, если аппаратура контроля обнаружила ошибку, то
целесообразно сразу прервать операцию, пока ошибка не оказала
влияние на следующие такты работы машины.
Число классов (уровней) прерываний
В ЭВМ число различных запросов прерывания может достигать
нескольких сотен. В таких случаях запросы обычно разделяют на от-
дельные классы или уровни.
Совокупность запросов, инициирующих одну и ту же прерывающую
программу, образует класс или уровень прерывания.
Запросы от источников прерываний
і і і і і і і і і і і і і і і і і і і і і і і і і
V V V V V V V V V V V V V V V V V V V V V V V V V
ЪДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДВДї
і0і0і1і0і0і.і.і.і.і.і0і0і0і0і0і.і.і.і.і.і0і0і0і1і0і РгЗП
АВБВБВБВБВБДБДБДБДБДБВБВБВБВБВБДБДБДБДБДБВБВБВБВБВЩ
і і і і і і і і і і і і і і і
ЪБДБДБДБДБї ЪБДБДБДБДБї ЪБДБДБДБДБї
і1 і і1 і і1 і
АДДДДВДДДДЩ АДДДДВДДДДЩ
←предыдущая следующая→
1 2 3
|
|