Прерывания осуществляются аппаратными средствами, которые заставляют микропроцессор приостановить выполнение текущей программы и отреагировать на внешнее событие. Прерывания исполняются прежде всего для увеличения эффективности центрального процессора. Прерывания дают возможность осуществлять операции ввода-вывода независимо от микропроцессора. Поскольку быстродействие ЦП выше, чем устройств ввода-вывода, то ЦП имеет возможность выполнять другие программы, или осуществлять другие функции, чем постоянно контролировать состояние присоединенных к нему периферийных устройств. Когда же устройство ввода-вывода требует обслуживания со стороны ЦП, оно сообщает об этом микропроцессору формированием соответствующего запроса (сигнала), по которому может быть прервано выполнение текущей программы ЦП.
Interrupt – прерывание – сигнал, по которому процессор узнает о совершении асинхронного события. При этом использование текущей последовательности команд прерывается, а вместо нее начинает выполняться другая последовательность, соответствующая данному прерыванию.
Существует два общих класса прерываний:
· внутренние (инициируются состоянием процессора или командой)
· внешние (инициируются сигналом от других компонентов системы)
Причины:
1. События, происходящие в периферийных устройствах (внешн)
Каждой конкретной причине прерывания назначен номер от 0 до 255. Некоторые номера прерываний уже назначены аппаратно процессором, другие присваиваются аппаратной системой, в которую встроен процессор. (Например, прерывания дискового накопителя). Еще одни зарезервированы для дальнейшего расширения , а все остальные могут использоваться программами. Когда возникает прерывание, процессор использует номер прерывания, как индекс в таблице. Из таблицы извлекается адрес обработки прерывания. Обработчик вызывается для производства конкретной обработки, требуемой прерыванием. Похоже, как будто в программе в точке прерывания вставлена команда вызова.
Запись процедуры прерывания должна быть такой, чтобы прерванная программа продолжалась так, как будто ничего не произошло. Необходимо запоминать и восстанавливать PSW и регистры, используемые процедурой прерывания, и возврат должен происходить к команде, следующей за командой, выполненной до прерывания.
В большинстве процессоров имеются средства прерывания их внешними устройствами. Они освобождают от периодической проверки необходимости обслуживания устройств.
Процессор имеет два входа, по которым внешние устройства могут его остановить: ВХОД NMI- немаскируемого прерывания и ВХОД INTER- маскируемого прерывания. Маска прерываний – средство выборочного подавления прерывания в тех случаях, когда их обработку можно отложить на более позднее время.
Процедура прерывания отличается от процедуры тем, что вместо связывания с конкретной программой она размещается в фиксированной области (размещена абсолютно). Не связанная с остальными сегментами, процедура прерывания может использовать для взаимодействия с другими программами только общие области, также размещенные абсолютно.