Во время вычислительного процесса могут возникнуть ситуации, требующие немедленной реакции со стороны процессора. Реакция процессора состоит в том, что процессор прерывает обработку текущей программы и переходит к другой программе, специально предназначенной для данного события. После завершения этой специальной программы процессор возвращается к выполнению прерванной программы. Этот процесс называется прерыванием программы.
Моменты возникновения событий, требующих прерывания программ, заранее неизвестны, случайны и не могут быть учтены при программировании.
Для обслуживания прерываний в системе имеются специальные аппаратные и программные средства, которые образуют систему прерываний программ.
Основные функции системы прерываний:
1) запоминание состояния прерванной программы (т.е. формирование слова состояния процессора);
2) переход к программе, обрабатывающей прерывание;
3) восстановление состояния прерванной программы и возврат к ней.
Каждое событие, требующее прерывания, называется запросом прерывания.
Все прерывания делятся на классы:
1. прерывания от схем контроля (прерывания по сбою)
2. программные прерывания (по ошибкам программ)
3. прерывания от внешних источников
4. прерывания от устройств ввода-вывода.
Каждый запрос прерывания имеет свой код. Код запроса прерывания в каждом отдельном случае запоминается в ОЗУ. Код запроса необходимо хранить, т.к.:
1) одновременно могут выдать запросы несколько источников, а к обслуживанию принимается только один;
2) во время выполнения прерывающей программы могут поступить запросы от других источников.
При наличии нескольких источников запросов прерываний устанавливается дисциплина обслуживания запросов. В МП-системах запросы прерывания обслуживаются на основе приоритетов (т.е. по старшинству).
Характеристики системы прерываний
1.Общее число запросов прерывания (число входов в систему прерывания).
2. время реакции – время между появлением запроса прерывания и началом выполнения прерывающей программы.
Упрощенная временная диаграмма процесса прерывания:
tp – время реакции
tзапр – время формирования сигнала запроса
tзапом – время формирования слова состояния процессора
tc – собственно время выполнения прерывающей программы
tв – время восстановления прерванной программы
3. затраты времени на переключение программ (издержки прерывания)
tизд = tp + tв
4. глубина прерывания – максимальное число программ, которые могут прерывать друг друга.
5. число классов (уровней) прерываний.
Число запросов, вызывающих одну и ту же прерывающую программу, называется классом или уровнем прерывания.
Итак, прерывание – это процесс прекращения выполнения текущей программы и переход к некоторой специальной программе, которая предназначена для обслуживания события, вызвавшего прерывание.
Графически:
О - основная (текущая) программа
1, 2 – программы, обслуживающие события Зап.1 и Зап.2.
Запрос прерывания – это сигнал, поступающий в процессор.
Схема расположения выводов микропроцессора 8085А.
А8 – А15 – адресная шина. Старший байт адреса паями или байт адреса ввода-вывода.
Д0 – Д7 – мультиплексная шина адреса/данных. Младший байт адреса памяти или адреса ввода-вывода появляются на этой шине в течение первого такта машинного цикла. В течение второго и третьего тактов она становится шиной данных.
ALE (выход) – разрешение фиксации адреса.
S0,S1,IO/M (выход) – состояние машинного цикла.
IO/M |
S0 |
S1 |
состояние |
0 0 1 1 0 1 * * * |
0 1 0 1 1 1 0 Х Х |
1 0 1 0 1 1 0 Х Х |
Запись в память Чтение из памяти Запись при вводе-выводе Чтение при вводе выводе Выборка кода операции Подтверждение прерывания Останов Захват Сброс |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.