Этапы обработки требования прерывания в микропроцессоре

Вход требования прерывания INTR отвечает на высокий уровень сигнала внешнего устройства. При этом предполагаем, что в устройство интерфейса ввода уже загружено 8 бит параллельных данных готовых для передачи в МП.

Предполагаем, что в устройстве интерфейса ввода загружается 8 бит параллельных данных готовых для передачи в МП. Тогда, описание процедуры прерывания имеет следующую последовательность:

1. Интерфейс ввода выдает сигнал требования прерывания в направлении МП.

2. МП завершает выполнение текущей команды, находящейся в памяти по адресу 2006.

3. Поскольку, управление должно обеспечить последующее обращение к команде по адресу 2007, содержимое счетчика команд (именно 2007) и содержимое большинства регистров МП помещается в специальную область ОЗУ, называемую стеком. Содержимое стека будет позже извлечено в определенном порядке в регистры МП и счетчик команд.

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

5. Перед возвращением в основную программу данные регистров и счетчик команд, помещенные в стеке, возвращаются в МП.

6. Теперь счетчик команд отсылает МП в память по адресу 2007, т.е. в основную программу и нормальное ее выполнение продолжается.

Прерывание является очень нужным способом, позволяющим периферийным устройствам вмешаться и заставить МП выполнять требуемую операцию почти сразу.

Многие МП обладают несколькими прерываниями. Обслуживание и последовательность прерывания обеспечивается соответствующими инструкциями в тексте некой программы программистом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: