Описание процессора i8086 для программиста

       

Приоритет прерываний


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

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

Следом по приоритету следует немаскируемое внешнее прерывание. Как уже отмечалось, если такое прерывание произошло, следующее немаскируемое прерывание может быть выполнено только после выполнения команды IRET, при этом не играет роли, обработку какого запроса прерывания данная команда завершает (аппаратура микропроцессора реагирует на сам факт выполнения инструкции IRET).

На третьем месте стоят маскируемые внешние прерывания. Поскольку выполнение прерывания приводит к сбросу флажка IF в регистре флагов, выполнение маскируемого прерывания откладывается до тех пор, пока флажок IF не будет вновь установлен.

Самый низкий приоритет имеет трассировочное прерывание.



Содержание раздела