Пересылки по прерыванию



Последовательность действий в алгоритме пересылок по прерыванию может быть описана следующими шагами:

1. Периферийное устройство запрашивает прерывание, выставляя сигнал «Запрос» на соответствующий вход процес­сора.

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

3. ПУ принимает сигнал «Добро» и выставляет на шину данных двоичный код, идентифицирующий данное устройст­во. Одновременно на линию «Готов» выставляется соответст­вующий сигнал.

4. Приняв сигнал «Готов», процессор снимает идентифи­цирующий ПУ код с шины данных и организует переход к программе обработки данного прерывания аналогично пере­ходу к обычной подпрограмме (например, используя стек).

5. Первыми командами подпрограммы обработки преры­вания должно быть обеспечено сохранение (в стеке) значений флагового регистра и регистров РОН, соответствующих моменту прерывания текущей программы. Далее в подпро­грамме обработки прерывания производятся программно-уп­равляемая пересылка данных (например, по асинхронному алгоритму) и, возможно, какие-либо преобразования.

6. Подпрограмма обработки прерывания заканчивается восстановлением содержимого всех внутренних регистров процессора и командой возврата из подпрограммы.

7. Возобновляется счет по прерванной программе.

Код, идентифицирующий выдавшее запрос прерывания ПУ, ис­пользуется тем или иным способом (в зависимости от конст­рукции процессора) для определения начального адреса хра­нящейся в главной памяти программы обработки данного запроса — вектора прерывания. Кроме описанного выше «векторного» способа обработки запросов существуют и другие. Однако данный способ имеет в настоящее время наиболь­шее распространение.


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

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






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