Информатика -продвинутый курс




ОБРАБОТКА ПРЕРЫВАНИЙ - часть 2


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

Прерывания от внешних устройств подробно рассматриваются в следующем пункте.

Отметим, что термин «прерывание» часто используется еще в одном значении. Речь идет о, так называемых, программных прерываниях. Например, для IBM-совместимых компьютеров существуют многочисленные команды прерывания 1NT с самыми разнообразными номерами. Следует понимать, что 1NT - это одна из инструкций процессора; чтобы она заработала, ее код должен содержаться в программе. В противоположность этому, «настоящие» прерывания возникают аппаратно и не требуют наличия каких-то специальных команд в тексте прерываемой программы. Более того, аппаратное прерывание может произойти между двумя любыми командами программы.

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

Запрет нефатального прерывания называется маскировкой; маскировка задается программистом или системной программой. Делается это либо с помощью установления вида битового поля в специальном регистре маски прерываний, в котором значения разрядов (0 или 1) связаны соответственно с отсутствием или наличием маскировки закрепленного за этим разрядом прерывания, либо с аналогичным использованием разрядов регистра состояния процессора.

После получения сигнала о незамаскированном прерывании процессор делает следующее:

• запоминает состояние прерванной программы;

• распознает источник прерывания;

• вызывает и выполняет специальную системную программу обработки прерываний;

• восстанавливает состояние прерванной программы и, при возможности, продолжает ее исполнение.

Для распознавания источника прерывания анализируются некоторые биты регистра состояния процессора, состояние внешних устройств и т.д.


Содержание  Назад  Вперед