Основы микропроцессорной техники. Ливенцов С.Н - 105 стр.

UptoLike

105
Организация прерываний с программным опросом готовности
предполагает наличие в памяти микроЭВМ единой подпрограммы об-
служивания прерываний от всех внешних устройств. Структура такой
подпрограммы приведена на рис. 39.
Обслуживание ВУ с помощью единой подпрограммы обработки
прерываний производится следующим образом. В конце последнего
машинного цикла выполнения очередной команды основной програм-
мы процессор проверяет наличие требования прерывания от ВУ. Если
сигнал прерывания есть и в процессоре прерывание разрешено, то про-
цессор переключается на выполнение подпрограммы обработки пре-
рываний.
После сохранения содержимого регистров процессора, используе-
мых в подпрограмме, начинается последовательный опрос регистров
состояния контроллеров всех ВУ, работающих в режиме прерывания.
Как только подпрограмма обнаружит готовое к обмену ВУ, сразу вы-
полняются действия по его обслуживанию. Завершается подпрограмма
обработки прерывания после опроса готовности всех ВУ и восстанов-
ления содержимого регистров процессора.
Приоритет ВУ в микроЭВМ с программным опросом готовности
внешнего устройства однозначно определяется порядком их опроса в
подпрограмме обработки прерываний. Чем раньше в подпрограмме оп-
рашивается готовность ВУ, тем меньше время реакции на его запрос и
выше приоритет. Необходимость проверки готовности всех внешних
устройств существенно увеличивает время обслуживания тех ВУ, ко-
торые опрашиваются последними. Это является основным недостатком
рассматриваемого способа организации прерываний. Поэтому обслу-
живание прерываний с опросом готовности ВУ используется только в
тех случаях, когда отсутствуют жесткие требования на время обработ-
ки сигналов прерывания внешних устройств.
Организация системы прерываний в микроЭВМ с использованием
векторов прерываний позволяет устранить указанный недостаток. При
такой организации системы прерываний ВУ, запросившее обслужива-
ния, само идентифицирует себя с помощью вектора прерывания ад-
реса ячейки основной памяти микроЭВМ, в которой хранится либо
первая команда подпрограммы обслуживания прерывания данного ВУ,
либо адрес начала такой подпрограммы.
Таким образом, процессор, получив вектор прерывания, сразу пе-
реключается на выполнение требуемой подпрограммы обработки пре-
рывания. В микроЭВМ с векторной системой прерывания каждое ВУ
должно иметь собственную подпрограмму обработки прерывания.