logo
АВМиС - бывшее АПЭВМ / apvem / всякаявсячина

28. Приоритет обработки прерываний

Организация IBM PC XT/AT и совместимых с ними РС, реализованных на базе МП Intel 80x86, основывается на открытой архитектуре, в основу которой положен принцип развитой иерархической системы прерываний базового микропроцессора. Это качество позволяет обеспечить гибкий механизм доступа к ресурсам РС системных и пользовательских программ. В системах, построенных на базе Intel 80x86, прерывания могут генерироваться собственно микропроцессором, аппаратурой, входящей в состав РС, а также программой.

Система прерываний PC AT:

1 Аппаратные прерывания: Маскируемые, Немаскируемые;

2 Программные прерывания: BIOS прерывания (DSR, ISR), DOS прерывания, Пользовательские прерывания;

3 Исключительные ситуации: Ошибки, Ловушки, Аварийные завершения.

Когда одновременно приходят запросы на выполнение нескольких прерываний, они обслуживаются в строго определенной последовательности, приведенной в табл1 для МП 80286 и в табл2 для МП 80386. Выполнение прерывания включает в себя сохранение в стеке флажков, адреса возврата (CS:IP) и настройку CS:IP на первую команду программы обработки прерывания. Если в это время произойдет разрешение другого прерывания, оно будет выполнено перед тем, как начнет выполняться первая команда программы обработки текущего прерывания. Следовательно, в этом случае последнее прерывание будет обслужено первым.

Табл1. Приоритет обработки внутренних прерываний в МП 80286

1 Исключительная ситуация из-за ошибки в команде; 2 Прерывание пошагового режима; 3 NMI; 4 Переполнение сегмента сопроцессора; 5 INTR; 6 Команда INT

Табл2. Приоритет обработки внутренних прерываний в МП 80286

1 Исключительная ситуация из-за ошибки в команде; 2 Ловушки команд INTO, INT n, INT 3; 3 Ловушка отладки в данной команде; 4 Ошибка отладки в следующей команде; 5 NMI; 6 INTR.