Максимальная эффективность системы управления достигается в том случае, если время обмена данными не фиксируется и каждое отдельное устройство взаимодействует с контроллером с собственной максимальной скоростью.
Такой обмен возможен с помощью сигналов запроса прерывания (ЗПР), которые инициируются самими внешними устройствами, и появляется произвольно в моменты времени асинхронные по отношению к циклу рабочей программы УМК. Т.е. управлять их действиями программа не может, т.к. неизвестно в какой точке программы и какое внешнее устройство инициирует сигнал ЗПР.
Процедура ввода-вывода организуется так: с приходом сигнала ЗПР процессор должен прерывать текущую программу, определить устройство, запросившее прерывание, запомнить промежуточные данные и перейти к подпрограмме обслуживания данного устройства. После завершения этой подпрограммы возвратиться в основную программу, прерванную подпрограммой. Прерванная основная программа должна возобновится, как будто подпрограммы и не было, единственным фактором этого события является увеличение времени работы цикла.
Общая последовательность реакции процессора на сигналы прерывания.
1. Если прерывания разрешены (регистр IE) процессор завершает текущую команду и устанавливает соответствующий флаг прерывания.
2. Осуществляется запоминание содержимого счетчика команд. Путем автоматической записи в стек.
. Процессор по флагу прерывания идентифицирует прерывающее устройство и находит на соответствии вектор прерывания.
. Выполняется подпрограмма обслуживания данного устройства. Вначале этой подпрограммы программным путем запоминается содержимое регистров PUSH A, PUSH PSW в стек. Далее в подпрограмме обычно выполняется действие по обмену информации со внешними устройством. В конце подпрограммы в обратном порядке извлекаются регистры POP PSW, POP A.
. Восстанавливается состояние прерванной программы, которое инициируется командой RET I, при этом из стека автоматически загружается в счетчик командой PC адрес возврата.
Для того чтобы идентифицировать прерывание, возникающее от нескольких устройств, вводится иерархия прерываний или приоритет. При этом действует следующая закономерность: процессор всегда реагирует на запрос более высокого уровня, если в данный момент выполняется подпрограмма низкого уровня, то она прерывается.
В итоге может образоваться система вложенных подпрограмм обработки прерываний.
Для гибкого управления системой прерываний в контроллере обычно имеется регистр установки приоритетов. Позволяющий изменять естественный порядок приоритетов в зависимости от решаемой задачи.
Самое читаемое:
Метод частотной модуляции радиотехнического сигнала
За последнее время существенно повысился технический уровень
электронной техники. Быстрое развитие требует создания все более точного и
сложного автоматизированного технологического оборудования для изобретения
более сложных и совершенных устройств с лучшими характеристиками и параметрами,
меньшими габаритами.
Для у ...