Основы вычислительных систем
Общая схема работы прерывающей программы приведена на рис. 4.3.
Так как происходит анализ запросов прерывания, то tp и tобс сравнительно велики, что затрудняет приоритетное обслуживание.При аппаратном распознавании причин прерывания каждому источнику прерывания ставится в соответствие свой адрес начала прерывающей программы. Специальная схема при появлении запроса формирует соответствующий адрес перехода к прерывающей программе.
Вход системы прерывания, обладающей способностью формировать собственный адрес начала прерывающей программы, принято называть уровнем прерывания.
Таким образом, система с аппаратным распознаванием причин прерывания может быть названа многоуровневой системой прерывания.
Простейший способ указания начальных адресов состоит в следующем. Каждому уровню присваивается номер и в памяти отводится ячейка, адрес которой, к примеру, равен номеру уровня. В такой ячейке памяти может храниться команда перехода к остальной части прерывающей программы, которая может находиться в любом месте памяти. Набор фиксированных по отношению к своим уровням ячеек памяти образует таблицу входов в прерывающие программы, содержание которых может менять программист.
![]() |
Рис. 4.3. Схема работы прерывающей программы
Удобный компромисс достигается от сочетания аппаратного и программного методов распознавания причин прерывания. Можно организовать систему, в которой каждый уровень используется для обслуживания нескольких источников прерывания, а физически уровень реализуется в виде некоторого количества прерывающих входов, объединенных схемой ИЛИ. Например, управляющая машина IBM 1800, используя подобный компромисс, имеет 24 уровня прерывания, к каждому из которых может подсоединяться до 16 прерывающих входов. В определенную для данного уровня прерывания ячейку памяти записывается состояние прерывающих входов в момент прерывания.
Адресное кодирование. Вцелях повышения быстродействия компьютера используется модификация команд. Она состоит в изменении адресной части базовой команды. Ветви решений, полученные после формирования параллельной программы, или исходный набор задач для обработки на компьютере в случае многопроцессорных систем или компьютерных сетей должны быть распределены по процессорам (или компьютерам) для выполнения.