Основные задачи прерывания выполнения программы. Общая схема механизма прерывания программы. Порядок восстановления прерванной программы. Типы прерываний

Основные цели, задачи и механизм прерываний исполнения программ.

Цель прерывания программы: остановка исполнения текущей программы в процессе её исполнения для выполнения другой программы, либо обработки какого либо события или ошибки.

Основные задачи:

1. Регистрация запросов на прерывание.

2. Определения готовности и приоритетов устройств, требующих обработки центральным процессором их требований.

3. Формирование адреса программы-обработчика прерывания и инициализация процесса обработки прерывания с сохранением состояния текущей программы.

4. Восстановление исходного состояния текущей программы и продолжение вычислений после завершения обработки прерывания.

Механизм прерываний исполнения программ.

Механизм прерывания в режиме прямой адресации памяти ПЭВМ.

Типы прерываний.

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

Аппаратные прерывания не связываются с работой программного обеспечения, но обязательно имеют соответствующие программы-обработчики, которые инициируются векторами прерываний, связанными с аппаратными прерываниями через контроллер прерываний.

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

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

Адреса программ прерываний называют векторами. Каждый вектор имеет длину четыре байта. В первом слове хранится значение IP, а во втором - CS. Совокупность векторов составляет таблицу векторов.

Система радиальных (аппаратных) прерываний.

(Аппаратные прерывания в порядке их приоритета)

IRQ 0 таймер

IRQ 1 клавиатура основной ПКП

IRQ 2 канал ввода/вывода 2-го каскада

IRQ 8 часы реального времени

IRQ 9 контроллер шины PCI, PnP

IRQ 10 аудио устройства, PnP

IRQ 11 контроллер LAN, USB, PnP каскадируемый ПКП

IRQ 12 мышь PS/2

IRQ 13 мат. сопроцессор

IRQ 14 контроллер HDD 1

IRQ 15 контроллер HDD 2

IRQ 3 COM1 (COM2)

IRQ 4 COM2 (COM1)

IRQ 5 контроллер VGA, USB, PnP основной ПКП

IRQ 6 контроллер FDD

IRQ 7 LPT1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: