Контроллер прерываний 8259A представляет собой устройство, реализующее до восьми уровней запросов на прерывания, с возможностью программного маскирования и изменения порядка обслуживания прерываний.
Контроллер прерываний (рис. 13.3) состоит из следующих блоков:
Один контроллер 8259A способен обслуживать прерывания от 8 источников. Для обслуживания большего количества устройств используется каскадное включение контроллеров (рис. 13.4). В системах IBM PC AT каскадное включение позволяет до 15 устройствам сигнализировать о прерывании (табл. 13.1).
NMI | Ошибка памяти или другая неисправимая ошибка в системе | 02h | |
IRQ0 | Системный таймер | 1 | 08h |
IRQ1 | Клавиатура | 2 | 09h |
IRQ8 | Часы реального времени | 3 | 70h |
IRQ9 | Устройство на шине ISA | 4 | 71h |
IRQ10 | Устройство на шине ISA | 5 | 72h |
IRQ11 | Устройство на шине ISA | 6 | 73h |
IRQ12 | Устройство на шине ISA | 7 | 74h |
IRQ13 | Ошибка сопроцессора | 9 | 75h |
IRQ14 | IDE контроллер | 9 | 76h |
IRQ15 | Устройство на шине ISA | 10 | 77h |
IRQ3 | Последовательный порт (COM2 или COM4) | 11 | 0Bh |
IRQ4 | Последовательный порт (COM1 или COM3) | 12 | 0Ch |
IRQ5 | Параллельный порт (LPT2) или IDE контроллер (вторичный) | 13 | 0Dh |
IRQ6 | Контроллер дисковода | 14 | 0Eh |
IRQ7 | Параллельный порт (LPT1) | 15 | 0Fh |