Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект АСОИУ.doc
Скачиваний:
22
Добавлен:
01.05.2014
Размер:
43.52 Кб
Скачать

10. Прерывание программы

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

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

Оборудование, необходимое для фиксации и снятия запросов на прерывание, отражено на первой схеме. На триггерах Т1, Т2 запоминаются внутренние запросы. В качестве внутренних запросов выступают сигналы микроопераций У26, У27, созданные в процессе выполнения команд и свидетельствующие о необычном протекании вычислительного процесса (переполнение, деление на нуль и т. п.). Внутренние (ЗП1, ЗП2) и внешние (ЗП3, ЗП4) запросы фиксируются на регистре РЗПР сигналом микрооперации У28. На выходе блока обработки запросов образуются признак наличия запроса Х7 и номер приоритетного запроса НПЗ. Для сброса триггера внутреннего запроса использован дешифратор, запускаемый сигналом микрооперации У29 сброса запросов. Снятие внешнего запроса должно выполняться внешним устройством после получения им сигнала разрешения прерывания РП, формируемого на выходе указанного дешифратора.

Внешние устройства подключаются к входу ЗП3, ЗП4 параллельно, а линию разрешения РП3, РП4 прокладывают последовательно. Присоединение внешних устройств также проиллюстрировано. Каждое из внешних устройств ВУ1 … ВУ3 имеет выход ЗП инверсного запроса, вход РПХ и выход РПЫ разрешения прерывания. Запрос выставляется в инверсном виде для того, чтобы через функцию «МОНТАЖНОЕ И» реализовать функцию «ИЛИ» между запросами. Распространяющийся последовательно сигнал РП разрешения прерывания «застревает» в устройстве, выставившем запрос и находящемся ближе других к процессору. Тем самым позиция устройства в цепочке влияет на его уровень приоритета; налицо простейший способ реализации фиксированного приоритета среди внешних устройств. Если к моменту прохождения сигнала РП устройства откажутся от запросов, то сигнал РП возвращается в процессор на вход КП контроля прерываний и процессор прекращает процесс прерывания.

Номер приоритетного запроса НПЗ, вызвавшего прерывание , должен входить в слово состояния программы и запоминаться в случае вложенных прерываний.

Если требуется исключить возможность прерывания от какого-либо запроса, то применяется маскирование запросов. В блок обработки включают регистр маски РМ и схемы И. Логическая 1 в разряде маси блокирует передачу запроса, и запрос исключается их конкурса запросов. Занесение маски выполняется сигналом микрооперации У30 приема в регистр РМ из регистра команд РК в ходе реализации специальной команды «ЗАНЕСТИ МАСКУ», использующей непосредственную адресацию. Маска включается в слово состояния программы (ССП).

Блок обработки запросов реализует также заданные приоритетные соотношения между запросами. В случае жесткого (неизменного) отношения уровней приоритета используют приоритетный шифратор, вырабатывающий номер самого старшего разряда со значением «1», т.е. номер приоритетного запроса НПЗ.

0

1