Стандартное распределение IRQ и DMA BIOS'ом материнской платы
IRQ (Interrupt ReQuest - запрос на прерывание) - сигнал от одного из компонентов компьютера, требующий внимания процессора к этому компоненту. Возникает при наступлении какого-либо события (например, перемещение курсора мыши, нажатие клавиши на клавиатуре, завершение печати принтером очередной порции данных и т.д.). На PC AT предусмотрено 15 (на XT - 8) линий IRQ, часть их которых используется встроенными контроллерами материнской платы, а остальные не используются и свободны для внешних адаптеров.
Стандартное распределение прерываний для IBM PC-AT совместимых ПК:
Прерывание (IRQ) | Приоритет | Стандартная функция |
---|---|---|
0 | 1 | Системный таймер |
1 | 2 | Контроллер клавиатуры |
2 | Н/Д | Программируемое прерывание (соединен с IRQ 9) |
3* | 11 | Последовательный порт COM2/COM4 |
4* | 12 | Последовательный порт COM1/COM3 |
5* | 13 | Звуковая карта (иногда порт принтера LPT2) |
6 | 14 | Контроллер флоппи-дисковода (FDD) |
7* | 15 | Порт принтера (LPT1) |
8 | 3 | Системное CMOS/Часы реального времени (RTC) |
9* | 4 | Режим ACPI (либо параллельна IRQ 2) |
10* | 5 | Используется устройствами на PCI шине |
11* | 6 | Используется устройствами на PCI шине |
12* | 7 | Порт PS/2 совместимой мыши |
13 | 8 | Математический сопроцессор |
14* | 9 | Первичный канал IDE контроллера |
15* | 10 | Вторичный канал IDE контроллера |
* - Эти прерывания обычно доступны для внешних и внутренних устройств на PCI шине, т.е. их можно переназначать.
На AT и всех современных платах сигнал IRQ 2 схемно поступает на вход, соответствующий IRQ 9 и вызывает запуск обработчика прерываний, связанного с IRQ 9, который программно эмулирует прерывание по IRQ 2. Таким образом, программы, работающие с IRQ 9, будут работать всегда, а использующие IRQ 2 - могут не работать, если не установлен правильный обработчик IRQ 9.
Стандартное распределение прерываний для IBM PC-XT совместимых ПК:
Прерывание (IRQ) | Приоритет | Стандартная функция |
---|---|---|
0 | 1 | Системный таймер |
1 | 2 | Контроллер клавиатуры |
2 | Н/Д | Сигнал возврата по кадру (EGA/VGA) |
3 | 4 | Последовательный порт COM2/COM4 |
4 | 5 | Последовательный порт COM1/COM3 |
5 | 6 | Контроллер жесткого диска (HDD) |
6 | 7 | Контроллер флоппи-дисковода (FDD) |
7 | 8 | Порт принтера (LPT1) |
8 | 3 | Часы реального времени с автономным питанием (RTC) |
DMA (Direct Memory Access - прямой доступ к памяти) - способ обмена данными между внешним устройством и памятью без участия процессора, что может заметно снизить нагрузку на процессор и повысить общую производительность системы. Режим DMA позволяет освободить процессор от рутинной пересылки данных между внешними устройствами и памятью, отдав эту работу контроллеру DMA; процессор в это время может обрабатывать другие данные или другую задачу в многозадачной системе. На PC AT есть 7 (на XT - 4) независимых каналов контроллера DMA.
Канал DMA | Разрядность | Стандартная функция |
---|---|---|
0 | 8 бит | Регенерация памяти на некоторых платах |
1 | 8 бит | Свободно для внешних устройств |
2 | 8 бит | Контроллер флоппи-дисковода (FDD) |
3 | 8 бит | Контроллер HDD на XT, на AT не используется |
5 | 16 бит | Свободно для внешних устройств |
6 | 16 бит | Свободно для внешних устройств |
7 | 16 бит | Свободно для внешних устройств |
С учетом этого, новые адаптеры следует настраивать прежде всего на полностью свободные каналы IRQ (10, 11) и DMA (1, 5-7), а затем - на свободные в конкретной системе (например, IRQ 5 или 12, DMA 3). Возможность использования одного IRQ несколькими адаптерами зависит от типа шины и требует поддержки со стороны драйверов этих адаптеров. Использование разными адаптерами одного канала DMA в принципе возможно, но связано со множеством проблем и потому не рекомендуется.
Почти все современные материнские платы поддерживают режим Plug-n-Play, который сам занимается распределением IRQ и DMA.