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



Любая процедура прерывания — подпрограмма, поэтому обработка подпрограммы требует начального адреса подпрограммы, сохранения предыдущих данных и «мягкого» завершения подпрограммы. Такая подпрограмма может быть вызвана электрическими сигналами (запрос на прерывание), либо она может начаться по обращению к адресу как к обычной подпрограмме. Адреса подпрограмм прерываний в конкретных системах команд фиксированы. Программные прерывания упрощают выполнение стандартных процедур (например: обнуление экрана, опрос клавиатуры). Программными требованиями рекомендуют пользоваться при работе на уровне ассемблера. Прерывания от внешних сигналов связаны с обработкой внешних электрических сигналов. У процессора имеется два входа: требование прерывания (вход) и разрешение прерывания (выход). Сигнал на вход поступает от одного или нескольких внешних источников и вызывает обработку нужной подпрограммы. Если источник один можно напрямую подключить этот сигнал к входу процессора. Если источников сигналов несколько, используют различные методы опознавания, какую подпрограмму начать.

Способы:

С последовательным опросом

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


Дата добавления: 2015-12-20; просмотров: 21; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!