Самая свежая информация Paolo Pecora на сайте.
Вероятно, наиболее распространенный конфликт прерываний (IRQ) связан с интегрированным последовательным портом COM2, существующим в современных системных платах, и внутренним модемом (имеется в виду полноценный внутренний PC-модем, а не программный модем, который также называется WinModem). Дело в том, что в полноценном внутреннем модеме уже есть поддержка некоторого порта; по умолчанию этот порт назначается в COM2, при этом в системе также обычно включен второй последовательный порт. Таким образом, в системе оказывается два идентичных порта, использующих одни и те же ресурсы (прерывания и адреса порта ввода-вывода).
Решить эту проблему довольно просто: следует войти в BIOS Setup системы и отключить встроенный порт COM2. Кроме того, можно подумать об отключении порта COM1, который также используется крайне редко. Отключение неиспользуемых портов СОМх — один из лучших способов высвобождения прерываний (IRQ) для других устройств.
Еще один распространенный конфликт также связан с последовательными портами. В стандартной таблице распределения прерываний вы, наверное, заметили, что IRQ3 назначается порту COM2, а IRQ4 — порту COM1. Проблема возникает тогда, когда в систему добавляются дополнительные порты COM3 и/или COM4 и им не назначаются вручную свободные прерывания (по умолчанию они используют все те же IRQ3 и IRQ4).
Дополнительные сложности вносит то, что некоторые платы портов не допускают выбора прерываний, отличных от IRQ3 и IRQ4. В результате назначение IRQ3 порту COM4 и IRQ4 порту COM3 приводит к конфликту с портами COM1 и COM2, также использующими эти прерывания: два порта не могут одновременно использовать один и тот же канал управления прерываниями. При работе в DOS это допускалось, поскольку в ней одновременно могла выполняться только одна задача, но в Windows и OS/2 это совершенно невозможно. Для того чтобы в компьютере можно было применять более двух параллельных портов COM, необходима многопортовая плата, которая, помимо прерываний с номерами 3 и 4, позволяет использовать дополнительные прерывания. Совместное использование прерываний в принципе допустимо для устройств, которые в обычных условиях не работают одновременно (или постоянно). Порты не попадают в эту категорию устройств. Совместно можно применять прерывание для сканера и модема, однако и в этом случае, если они будут использоваться одновременно, возникнет конфликт. К счастью, большинство устройств, которые ранее использовали порты (например, мыши, принтеры этикеток и внешние модемы), теперь подключаются к портам USB, так что проблем с необходимостью поддержки множества портов у современных пользователей компьютеров возникать не должно.
Если все же необходимо использовать несколько последовательных портов, лучшим решением станет покупка многопортовой платы, которая либо предоставляет возможность установить неконфликтующие прерывания, либо содержит собственный процессор, позволяющий распределять одно системное прерывание между несколькими портами. Некоторые старые многопортовые карты имели интерфейс ISA, но сегодня их вытеснили карты PCI, которые к тому же имеют преимущества в быстродействии.
Если некоторое устройство, упомянутое в таблице, отсутствует (например, встроенный порт мыши (IRQ12) или второй параллельный порт (IRQ5)), их прерывания можно считать доступными. К примеру, второй параллельный порт можно встретить крайне редко, так что отведенное для него прерывание IRQ5 чаще всего используется для платы звукового адаптера. Аналогично прерывание IRQ15 используется для вторичного контроллера IDE. Если в системе к вторичному каналу IDE не подключены дисковые устройства, можно отключить этот контроллер в BIOS, тем самым освободив еще одно прерывание для других устройств.
Следует отметить, что проще всего проверить настройки прерыаний в диспетчере устройств Windows. В системе Windows 95b существует программа HWDIAG, а в Windows 98 и более поздних версиях — консоль Сведения о системе. Эти утилиты позволяют получить детальный отчет об использовании ресурсов в системе, а также об установленных драйверах устройств и записей реестра Windows для каждого из устройств. В системах Windows XP и Vista информацию о системе предоставляет программа Msinfo32.
Чтобы обеспечить максимально возможное количество совместных прерываний в современной системе без разъемов ISA, при работе с системной BIOS выполните следующие действия.