Обработка прерываний

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

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

Прерывания возникают при работе компьютера постоянно [4]. Достаточно сказать, что все процедуры ввода-вывода информации выполняются по прерываниям,

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

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

Прерывания делятся на :

1. аппаратные – инициируются аппаратурой, например сигналом от принтера, нажатием клавиши на клавиатуре и т.п.

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

3. программные – инициируются программами, то есть появляются когда одна программа хочет получить сервис от другой, например доступ к определенным аппаратным средствам.

Каждое прерывание имеет уникальный номер и с ним связана определенная подпрограмма. Для IBM совместимых ПК существует команда прерывания INT с разными номерами. INT – это одна из инструкций процессора.

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

Схема обработки прерываний:

 

Вызывается прерывание
Процессор оставляет свою работу
Выполняет прерывание
Загружается адрес программы обработки прерывания
Ей передается управление
Возврат к основной программе

 


Аппаратные прерывания - низшего уровня, их обслуживает BIOS.

Программные и логические – обрабатываются операционной системой (верхний уровень).

 


[1] Синий Брукшир








Дата добавления: 2017-09-19; просмотров: 1018;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.