http://npc-news.ru/

Контроллер прерываний

Контроллер прерываний — устройство, которое получает запросы на аппаратные прерывания от всех внешних устройств. Он определяет, какие запросы следует обслужить, какие должны ждать своей очереди, а какие не будут обслуживаться вообще.

Контроллеров прерываний, так же как и контроллеров DMA, два. Первый контроллер, обслуживающий запросы на прерывания от IRQ0 до IRQ7, управляется через порты 20h и 21h, а второй (IRQ8 – IRQ15) — через порты A0h и A1h.

Команды контроллеру делят на команды управления (OCW) и инициализации (ICW):
порт 20h/A0h для записи: OCW2, OCW3, ICW1
порт 20h/A0h для чтения — см. команду OCW3
порт 21h/A1h для чтения и записи: OCW1 — маскирование прерываний
порт 21h/A1h для записи — ICW2, ICW3, ICW4 сразу после ICW1

OCW1:Команды управления
При помощи этой команды можно временно запретить или разрешить то или иное аппаратное прерывание.

OCW2: команды конца прерывания и сдвига приоритетов.

Работа с приоритетами

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

Чаще всего OCW3 используют для чтения состояния контроллера.


Добавить комментарий

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>