2_Устройство и работа компьютера
.pdfПроцесс обработки прерывания
|
|
Регистры |
ОЗУ |
|
AX |
|
Процессор |
|
|
|
|
Пр.обр.пр. |
|
BX |
Прогр. |
|
CX |
|
|
|
|
Счетчик |
|
|
команд |
|
Стек
Виды прерываний
–программные – вызываются из программы
•int 10h
•interrupt
–аппаратные (системные) – вызываются устройствами, которые хотят обратить на себя внимание процессора
•IRQ0...IRQ15
•interrupt request
–Команды для вызова прерывания есть в любом языке программирования
(c) 2008 Арьков В.Ю. |
21 |
Аппаратные прерывания
•Когда УВВ нужно участие процессора (пришли данные с мышки, принтер закончил работу ...) устройство обращается к прерыванию, выставляя флаг на линии требования прерывания в системной шине IRQ.
•Процессор останавливает выполнение текущей программы и выполняет программу обработки прерывания (принимает данные от устройства), затем возобновляет работу программы с того места, где произошло прерывание. На время обработки прерывания текущее содержимое регистров и слово состояния процессора записываются в стек.
•Регистры процессора (R1, R2, R3, … или АX, ВX, CX, …) и счетчик команд (СК), который содержит адрес выполняемый команды. Адрес – это номер регистра (ячейки) оперативной памяти. Регистры процессора – это ячейки для временного хранения данных.
Вложенные прерывания |
||
Прогр. 1 |
Прогр. 2 |
|
Сохр. |
Прогр. 3 |
|
в стек |
Сохр. |
|
в стек |
||
|
||
Прерыв. |
|
|
Восстан. |
Восстан. |
|
из стека |
из стека |
|
(c) 2008 Арьков В.Ю. |
22 |