Обмен по прерываниям.


Простота программно-управляемого ввода-вывода оборачивается "бездельем" МП, который почти все время находится в ожидании вво­да или вывода. Например, если на принтер выводится информация с быстродействием 1000 символов в секунду, то полезное время работы МП составит всего 0,1% и менее.

При недопустимости такой ситуации требуется обеспечить такой режим работы МП, когда он выполняет две независимые программы, одна из которых - программа управления обменом с ВУ (программно-управляемый обмен) - вызывается только тогда, когда ВУ необходимо выполнить какие-то действия (аварийные, допусковые ситуации и др.). Указанный режим реализуется с помощью механизма прерываний. Данный способ представляет собой расширение "демократии" взаимодействия между элементами в системе и, как следствие, требует дополнительных организационных затрат: аппаратных и программных.

Для организации обмена по прерываниям необходимо дополнительно ввести две шины управления: "Запрос прерывания" (ЗПР) – ВУ запрашивает обслуживания у МП, "Разрешение прерывания" (РПР) – МП подтверждает начало обслуживания (рис.21).

Рис.21 Рис.22

На МП возлагаются следующие функции:

· принять сигнал ЗПР;

· завершить выполнение текущей команды основной программы;

· запомнить в стеке (ОЗУ) адрес следующей для исполнения команды;

· передать управление подпрограмме обработки прерывания (обслуживания запроса ВУ);

· выдать сигнал РПР.

Так как МП не "знает", где в запоминающем устройстве расположена подпрограмма обработки прерывания, он передает управление не ей, а команде ЗУ, расположенной чаще всего по адресу 0 (или любой другой, обусловленной схемотехникой МП). На программиста возлагается задача расположить по этому адресу команду передачи управления подпрограмме обработки запроса ВУ (см. рис.22).

Для корректного использования такого способа ввода-вывода между фоновой программой и программой обмена существуют некоторые соглашения. Так как основная программа будет продолжена, подпрограмма обработки прерывания ВУ должна:

1. Запомнить в стеке состояние всех используемых регистров основной программы.

2. Выполнить обмен информацией между МП и ВУ, устранив причину запроса.

3. Восстановить из стека состояние используемых регистров основной программы.

4. Передать управление в основную программу (адрес возврата находится в стеке).

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



Дата добавления: 2017-02-13; просмотров: 1908;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.