Технические средства организации прерываний
Прерывание можно охарактеризовать как автоматическое изменение в программе, вызванное условием или совокупностью условий, возникающих в некоторой части вычислительной системы. Для организации прерываний необходимы 2 части:
-
аппаратная;
-
программная.
Система прерываний должна:
-
реагировать на запросы прерывания (аппаратно).
-
формировать код номера запроса прерывания (аппаратно)
-
сравнивать поступающий запрос с уровнем текущего приоритета (аппаратно или программно)
-
обеспечивать сохранение содержимого регистров прерванной программы (программно)
-
обеспечивать переход к вызываемой программе (программно)
-
по окончанию работы вызванной программы, вернуться к прерванной и продолжить её выполнение.
Системы с циклическим опросом.
Схемы входа в прерывание должны обеспечивать режим 2-х вопросов:
-
Сформировать сигнал общего запроса на прерывание;
Сформировать код номера запроса на прерывание
Достоинства: простота реализации при минимальных аппаратных затратах.
Недостатки:
-
сравнительно большое время реакции на прерывание;
-
резко возрастают аппаратные затраты с увеличением входов прерывания;
-
в этой системе не представляется возможным проранжировать сигналы по уровням приоритета.
Блок приоритетных прерываний (БПП)
Любой режим прерывания характеризуется тремя этапами:
-
Режим входа в прерывание. В этом режиме сохраняются регистры в стековой области памяти, формируется адрес первой полезной команды программы, обслуживающей прерывание и считывается данная команда.
-
Выполнение команды, обслуживающей прерывание.
-
Программа выхода из прерывания. На этом этапе осуществляется восстановление регистров прерванной программы и запуск на её выполнение.
-
и 3. этапы не могут быть прерваны запросами на прерывание с более высоким приоритетом.
БПП имеет два режима работы.
-
Активный режим работы – в триггере состояние Т1 записан “0”. Тем самым разрешается приём и реакция БПП на вновь поступающие запросы на прерывание. Шифратор уровня приоритета (Ш) обеспечивает ранжирование по уровням приоритета (Дейзи-цепи) и формирование кода номера запроса на прерывание. Этот код поступает на ССК и, если вновь поступивший уровень приоритета выше текущего, то он проходит через схему “&”, поступает на Т2 и формируется на выходе сигнал приоритета INT. Этот сигнал поступает в вычислительную систему и переключает Т1 в единичное состояние. Если Т1 находится в состоянии “Т1”, то БПП не активен.
БПП в неактивном состоянии – в этом случае выполняется первый этап режима прерывания. БПП не активен до тех пор, пока в триггер текущего состояния не будет записано новое текущее состояние. Сигнал ЗТС – занесение текущего состояния
Два режима работы :
-
Наличие прерывания – считывается код микропрограммного кода (ИМП), сохраняются регистры в стековой области, считывается код номера запроса на прерывание (А0, …), на основе которых формируется адрес первой полезной команды программы обслуживания прерывания (ПОП). В этой схеме БПП обеспечивает: приём запроса на прерывание, ранжирование их по уровню приоритета, формирование кода номера запроса на прерывание, сравнение с уровнем текущего приоритета, формирование общего сигнала на прерывание вычислительной системы (INT).
-
Прерывание отсутствует .