Напрямую взаимодействовать каким-либо периферийным устройствам с процессором, в современных операционных системах, нельзя. Для этого придумали специальный способ – который называется прерывания.
Прерывание – это специальное оповещение, которое приходит процессору. Оно говорит ему, что наступило событие (любое). В результате этого те команды, которые процессор в данный момент выполнял – останавливаются (сохраняются в памяти), и загружаются те инструкции, которые должны обрабатывать данное прерывание.
Если нашему периферийному устройству понадобилось, чтобы его данные обработал процессор – это ПУ отправляет сигнал по специальной линии запроса прерывания (Interrupt ReQuest line, IRQ).
Приведу таблицу, в которой содержатся данные стандартного распределения для различноразрядных линий PCI:
IRQ | Тип | Используется |
00 | Немаскируемые прерывания; системный таймер | |
01 | Клавиатура | |
02 | Программируемый контроллер прерываний | |
03 | 8-16 разрядный | COM2 |
04 | 8-16 разрядный | COM1 |
05 | 8-16 разрядный | Звуковая карта; LPT2 |
06 | 8-16 разрядный | Гибкие диски |
07 | 8-16 разрядный | LPT1 |
08 | Отсчет реального времени | |
09 | 8-16 разрядный | Сетевой интерфейс |
10 | 16 разрядный | Сетевой интерфейс; USB |
11 | 16 разрядный | Видеоадаптер, SCSI |
12 | 16 разрядный | Мышь |
13 | Математический сопроцессор | |
14 | 16 разрядный | IDE |
15 | 16 разрядный | Дополнительный IDE |
Линии 00 и 01 зарезервированы за системой, поэтому использоваться они не могут. Кроме того, линии 02, 08 и 13 – пусты (то есть их никто не использует). Эти прерывания устройствам не могут быть назначены.
Ели происходит следующая ситуация: процессор одновременно получает два прерывания (естественно – на различные линии) то обрабатывать такие прерывания процессор будет в соответствии с приоритетами. Приоритет распределяется от меньших номеров к большим. То есть прерывание с номер 00 будет иметь больший вес по сравнению с прерываниями под номером 03.
Для IRQ линий прерываний для карт PCI свойственно то, что можно такие линии изменять. То есть – можно переназначить прерывания (другими словами). Это можно делать начиная с операционных систем Windows 98 и выше.
Комментариев нет:
Отправить комментарий