
- •Характеристики системы прерываний
- •1 Этап. Прием и хранение запросов прерываний от многих источников
- •2 Этап. Выделение наиболее приоритетного запроса из множества поступивших.
- •3 Этап. Проверка возможности обработки
- •4 Этап. Сохранение состояния (контекста) прерываемой программы
- •5 Этап. Вызов соответствующего обработчика прерываний
- •7 Этап. Восстановление состояния (контекста) прерванной программы
Характеристики системы прерываний
2. Время реакции – это время между появлением сигнала запроса прерывания и началом выполнения обработчика прерывания в том случае, если данное прерывание разрешено к обслуживанию.
Рисунок 13.2 – Упрощенная временная диаграмма процесса прерывания
tреакции зависит от того, сколько программ с наивысшим приоритетом выставило запросы по отношению к текущему запросу на прерывание,
tзап – время запоминания состояния прерываемой программы;
tвосст – время, необходимое для восстановления прерываемой программы.
5. Глубина системы прерываний – это максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний.
Частный случай – единичная глубина, когда прерываемую программу может прервать одна прерывающая программа, и никакая другая программа не может ее прервать до окончания ее выполнения. Системы с большей глубиной имеют меньшие издержки.
Рисунок 13.4 – Демонстрация обработки прерываний разной глубины
Следует отметить, что система с большей глубиной прерывания обеспечивает более быструю реакцию на срочные запросы.
7. Число уровней прерывания (число классов прерывания). В ЭВМ число различных запросов (причин) прерывания может достигать нескольких десятков или сотен. В таких случаях часть запросов разделяют на отдельные классы или уровни. Совокупность запросов, инициирующих одну и ту же прерывающую программу, образует класс или уровень прерывания. Разделение запросов на классы прерывания представлено на рис. 9.3.
Рисунок 13.5 – Разделение запросов на классы прерывания
Запросы всех источников прерывания поступают на РгЗП, устанавливая соответствующие его разряды в единицу, которая указывает на наличие запроса прерывания определенного источника. Запросы классов прерывания ЗПК формируются схемами ИЛИ, объединяющих разряды РгЗП, относящихся к соответствующим уровням прерывания. Еще одна схема ИЛИ формирует общий сигнал прерывания ОСП, поступающий в устройство управления процессора. После принятия запроса прерывания на исполнение и передачу управления прерывающий программе соответствующий триггер РгЗП сбрасывается. Следует отметить, что объединение запросов в классы прерывания позволяет уменьшить объем аппаратуры, но приводит к замедлению работы системы прерываний.
Рассмотрим поэтапно процесс обслуживания прерывания.
1 Этап. Прием и хранение запросов прерываний от многих источников
Эта функция реализуется на аппаратном уровне путем установки соответствующих битов специального регистра запросов при появлении этих запросов. Например, в микросхеме PIC (Intel 8259A) имеется специальный регистр IRR (Interrupt Request Register – регистр запросов прерываний), который является восьмибитным (по числу обслуживаемых запросов). Каждый бит этого регистра соответствует определенному источнику прерываний (например, запрос от таймера или клавиатуры), и установка этого бита свидетельствует о наличии запроса от источника. При количестве источников запросов больше восьми применяется так называемая схема каскадного подключения микросхем PIC. В типовой комплект ПК входят две микросхемы PIC, одна из них называется ведущей, а другая – ведомой.