Материалы для подготовки к экзамену по дисциплине "Организация ЭВМ", страница 13

Существует несколько допустимых моментов прерываний:

1 момент – прерывание по слову состояния программ (ССП) для машин, не работающих в реальном масштабе времени – когда прерывание возможно по окончании цикла исполнения команды. В этом случае время реакции системы будет больше, чем при прерывании по уровню (см. ниже). В этом случае запоминается содержимое программного счетчика прерываемой программы и состояние триггеров-флажков, то есть запоминается регистр флагов. Эта информация и будет словом состояния программы. Время реакции системы определяется в основном длительностью цикла исполнения команд.

2 момент – прерывание по уровню. Используется для машин, работающих в реальном масштабе времени, когда нельзя ждать окончания цикла исполнения команды иначе запросы могут быть потеряны. В этом случае допустимы моменты прерывания после каждого такта. Прерывание называется «по уровню», потому что запоминается больше информации, чем при прерывании по слову состояния программ. Запоминается следующая информация:

Ø  содержимое программного счетчика прерываемой программы

Ø  состояние триггеров-флажков, то есть регистр флагов

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

Информация, подлежащая запоминанию, называется вектором состояния программы (или словом состояния программы).

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

Все вектора прерываний хранятся в ОЗУ в определенных ячейках памяти.

Взаимодействие векторов

РССП – регистр слова состояния программы

Если a - адрес, на котором была прервана программа, то с адреса (a+1) возобновляется работа прерываемой программы.

4.  Уровни системы прерываний. Количество запросов на прерывание ЭВМ может достигать порядка сотен. Определенные группы причин прерываний могут вызывать одну и ту же прерывающую программу. Тогда такие запросы объединяются в уровни и каждый уровень (то есть группа запросов) вызывает одну прерывающую программу.

РЗП – регистр запросов прерываний

Элементы «ИЛИ» - схема запроса уровней

ОСП – общий сигнал прерываний

Работа схемы:

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

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

Приоритетное обслуживание прерываний

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

Программный способ


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