1.7.2 ВВОД-ВЫВОД В РЕЖИМЕ ПРЕРЫВАНИЙ
При организации в ЭВМ системы (или подсистемы) прерываний
непроизводительные потери времени процессора в циклах ожидания резко
сокращаются.
Последовательность событий при прерываниях. Каждое периферийное
устройство может посылать в процессор сигнал INT запроса прерывания или
запроса на обслуживание, когда оно готово к операциям ВВ, т. е. требует
немедленной реакции процессора. По существу, этот сигнал представляет
собой выходной сигнал триггера, фиксирующего флажок готовности READY.
Сигнал INT появляется в произвольные моменты времени, асинхронно по
отношению к действиям процессора, и управлять его появлением программа
не может. Следовательно, заранее неизвестно, в какой точке программы и
какие периферийные устройства инициируют прерывания, поэтому
непосредственно в программе команды ВВ использовать нельзя. Остается
одно: реагируя на сигнал INT процессор должен прервать, т. e. временно
приостановить, текущую программу, идентифицировать прерывающее
устройство, перейти к подпрограмме обслуживания прерываний от этого
устройства, а после её завершения возобновить выполнение прерванной
программы. Подпрограмме обслуживания потребуются внутренние регистры
процессора: аккумулятор, программный счётчик, некоторые РОН, и их
текущее содержимое будет модифицировано. Но прерванная программа
должна возобновляться так, как будто прерывания вообще не было.
Кроме как увеличением времени выполнения факт обслуживания
прерывания не должен влиять на прерванную программу. Следовательно,
содержимое всех регистров, необходимых подпрограмме обслуживания
прерывания, следует временно запоминать. Удобно и просто использовать в
качестве такого временного «хранилища» стек.