logo search
Кафедра “Системы автоматического управления”

14.1 Понятие системы прерываний, классификация систем прерываний.

Внутри МПС или в связанной с ней внешней среде могут возникать разнообразные события, которые требуют ее немедленной реакции на свое появление, т.е. временной приостановки процесса обработки основной программы и выполнения другой, предназначенной для обслуживания возникшего события. Реакция МПС на внешнее событие должна завершаться возвратом к основной программе (рис.14.1).

Рассмотрим вначале чем могут быть вызваны требования прерываний, т.е. классификацию прерываний в зависимости от источника прерываний:

- аппаратные (внешние) прерывания имеют место при воздействии сигналов, которые вырабатываются периферийными устройствами, требующими обслуживания, например, контрольно-измерительными системами, исполнительными устройствами и т.д.;

- специальные (внутренние) прерывания возникают в МПС в ходе выполнения основной программы под воздействием сигналов, вырабатываемых внутренними аппаратными средствами. Причины их появления следующие:

a) программные сбои или ошибки, являющиеся следствием попыток выполнить неразрешенную (неверную) команду или обратиться к запрещенной области памяти (ошибки адресации);

b) аппаратные сбои, являющиеся следствием внезапного отключения питания, неисправностей отдельных узлов аппаратуры, вызывающих ее неправильное функционирование и др.;

c) переполнение разрядной сетки, т.е. получение в результате вычислений чисел, выходящих за пределы диапазона допустимых значений;

d) трассировка программы - выполнение программы в пошаговом режиме при ее отладке.

- программные прерывания - происходят под воздействием команд прерывания, включенных в основную программу. Т.о. инициатива программного прерывания исходит от самой программы. Используется для обслуживания устройств ввода - вывода по опросу.

Рис.14.1.

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

Для организации обслуживания периферийных устройств по прерываниям МПС должна располагать необходимыми аппаратными и программными средствами.

Аппаратные средства обеспечивают восприятие запроса на прерывание, его идентификацию, запуск последовательности команд для его обслуживания, а также возврат в прерванную программу.

Для того, чтобы прерванная программа могла быть продолжена после обслуживания очередного запроса на прерывание, с того момента на котором она была приостановлена, состояние МП должно быть сохранено и впоследствии полностью восстановлено. Сохранность состояния сигналов управления в аппаратуре обеспечивается тем, что переход к обработке прерывания и возврат к прерванной программе осуществляется в строго определенные моменты времени, когда состояние этих сигналов однозначны и известны, т.е. после завершения выполнения команды. Состояние программно-доступных регистров при этом сохраняется в памяти МПС (стеке), а затем восстанавливается непосредственно перед возвратом в прерванную программу.

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

Существующие системы прерывания МПС различаются по скорости обслуживания прерываний и количеству связей, с помощью которых внешние устройства сообщают МП о требовании обслуживания:

1) Оптимальной с точки зрения быстродействия является радиальная система прерываний, когда каждое устройство подключено к своему входу запроса прерываний. Однако, вследствие естественного ограничения количества входов в БИС МП, такая система прерываний не может быть использована для организации обслуживания большого количества ВУ.

2) Существенного увеличения числа обслуживаемых ВУ можно добиться, если в радиальной системе прерываний к одному входу подключить несколько внешних устройств (расширение радиальной системы методом поллинга). Однако, при этом требуется организация специального программного опроса с целью выявления ВУ, выставившего запрос.

3) Наиболее совершенной является третья - векторная система прерываний , которая аналогично второй позволяет подключить к одному входу несколько ВУ, однако при этом специальная БИС сообщает МП адрес процедуры обслуживания прерываний(вектор).