Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
материалы_2_полуг.doc
Скачиваний:
12
Добавлен:
08.09.2019
Размер:
938.5 Кб
Скачать

5.1.3. Характеристики системы прерывания

Характеристики системы прерывания следующие:

1. Общее количество типов запросов прерываний (число входов в систему прерывания).

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

3. Затраты времени на переключение программ, которые равны суммарному расходу времени на запоминание и восстановление состояния программы.

4. Глубина прерывания - это максимальное число программ, которые могут прерывать друг друга. Если после перехода к прерывающей программе и вплоть до ее окончания прием других запросов запрещается, то говорят, что система имеет глубину прерывания, равную 1.

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

Насыщение системы прерываний

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

Допустимые моменты прерывания программ

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

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

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

Число классов (уровней) прерываний

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

Совокупность запросов, инициирующих одну и ту же прерывающую программу, образует класс или уровень прерывания. В этом случае запросы одного класса прерывания формируются элементами ИЛИ, еще одна схема ИЛИ формирует общий сигнал прерывания. Объединение запросов в классы прерывания позволяет уменьшить объем аппаратуры, но связано с замедлением работы системы прерывания.

5.1.4. Приоритетное обслуживание запросов прерывания

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

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

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

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

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

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

Процедура прерывания с опросом источников прерывания

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

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

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

Векторное прерывание

Процедура опроса источников прерывания, даже если она выполняется аппаратными средствами, требует больших затрат времени.

Более гибким и динамичным является векторное прерывание, при котором исключается опрос источников прерывания.

Прерывание называется векторным, если источник прерывания, выставляя запрос, посылает в процессор код адреса в памяти своего вектора прерывания.

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