Что вы должны знать о своем компьютере
bf1271d8

Аппаратные прерывания


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

Аппаратные прерывания (IRQ - Interrupt ReQuest - запрос прерывания) вызываются физическими устройствами и приходят асинхронно. Эти прерывания информируют систему о событиях, связанных с работой устройств, например, о том, что наконец-то завершилась печать символа на принтере и неплохо было бы выдать следующий символ, или о том, что получен очередной символ из последовательного порта и его надо записать в буфер.

Использование прерываний при работе с медленными внешними устройствами позволяет совместить ввод/вывод с обработкой данных в центральном процессоре.

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

Для обработки прерываний, вырабатываемых платами расширения, обычно используются специальные драйверы. Они загружаются в оперативную память во время запуска операционной системы. Их вызов обычно находится в файле CONFIG.SYS или AUTOEXEC.BAT.

В следующей таблице мы перечислили несколько наиболее важных устройств компьютера и указали используемые ими ресурсы.



Устройство Номер IRQ Адреса портов ввода/вывода Адресное пространство оперативной памяти
COM1 4 3F8h - 3FFh
COM2 3 2F8h - 2FFh  
COM3 4 3E8h - 3EFh  
COM4 3 2E8h - 2EFh  
LPT1 7 378h - 37Fh  
LPT2 5 278h - 27Fh  
LPT3 7 3BCh - 3BFh  
Контроллер дискаXT DISK CNTRLR 5 320h - 32Fh C8000h - CBFFFh
Контроллер дискаAT DISK CNTRLR 14 1F0h - 1F8h  
VGA, цветной режим 2/9 3C0h - 35Ah A000h - BFFF0h
VGA, монохромный режим 3 C0h - 3BAh C000h - C7FFFh
EGA 2 3C0h - 3CFh A0000h - AFFFFh
MONO   3B0h - 3BFh B0000h - B3FFFh
CGA   3D0h - 3DFh B8000h - BBFFFh
HGA   3B4h - 3BFh B0000h - B7FFFh
AST CLOCK   2C0h - 2C7h  



Содержание раздела