Управление прерываниями

 Рубрика: BIOS

Главное требование, которое необходимо соблюдать при распределении системных ресурсов, заключается в том, что их совместное использование недопустимо — попытка нарушить его неизбежно приводит к конфликту. На протяжении более чем 20 лет и специалисты, и рядовые пользователи неукоснительно следовали этому правилу. Однако количество различных устройств, которые можно установить в современные компьютеры, выросло настолько, что на повестку дня встал вопрос о расширении возможностей использования ограниченных системных ресурсов (в первую очередь прерываний). Если бы одну и ту же линию прерывания удалось бы использовать для обслуживания нескольких устройств, то количество плат расширения в компьютере можно было бы существенно увеличить. В рамках архитектуры шины ISA этот подход реализовать невозможно, однако шина PCI построена таким образом, что прерывания отдельным устройствам можно назначать динамически. Метод динамического присвоения прерываний получил название управления прерываниями (PCIbus IRQ steering). Его поддержка предусмотрена в Windows 95 OSR2 и выше. Учтите, что в исходной версии Windows 95 и версии Windows 95 OSR1 управление прерываниями в шине PCI не предусмотрено.
Назначение прерываний устройствам, подключаемым к шине PCI
Управление прерываниями позволяет при работе под Windows 98/SE и выше достаточно быстро перепрограммировать IRQ в рамках шины PCI в тех ситуациях, когда нужно перераспределить ресурсы устройств РпР, подключаемых к шинам ISA и PCI, во избежание их конфликтов с устройствами ISA, несоответствующими стандарту РпР. В результате многие конфликты из-за прерываний устраняются автоматически, без непосредственного вмешательства пользователя или технического специалиста. Если в Windows управление прерываниями отключено, то они назначаются устройствам PCI в BIOS. В противном случае IRQ, назначенные в Windows, перекрывают распределение, сделанное в BIOS.
Если в системе предусмотрено управление прерываниями, то для операционной системы Windows 9x/Me в списке присвоенных IRQ (рис. 10.4) будут присутствовать несколько строк, которые соответствуют устройствам и драйверам, использующим прерывание шины PCI (IRQ holder). Например, наличие строки «Поддержка IRQ для управления PCI»(IRQ Holder for PCI IRQ Steering) означает, что соответствующее прерывание запрограммировано на использование шиной PCI и недоступно для устройств ISA даже в тех случаях, когда нет реальных устройств PCI, использующих эту линию.
Настройка режима управления прерываниями
В подавляющем большинстве современных компьютеров управление прерываниями шины PCI должно быть включено. В операционной системе Windows XP управление прерываниями осуществляется автоматически. В Windows 9x/Me имеется возможность проверить это, просмотрев распределение IRQ (рис. 10.4). Если хотя бы в одной строке списка вы увидите слова вида «Поддержка IRQ для управления PCI» (IRQ Holder), то это означает, что управление прерываниями включено. Вы можете выяснить это и другим способом
1. Выберите пункт «Пуск | Настройка | Панель управления | Система» (Start | Settings | Control Panel | System).
2. Выберите вкладку «Устройства» (Device Manager).
3. Раскройте список «Системные устройства» (System Devices) — соответствующая строка располагается в конце общего списка.
4. Найдите строку «Шина PCI» (PCI Bus) и дважды щелкните по ней. Выберите вкладку «Управление IRQ» (IRQ Steering). В разделе «Переадресация IRQ» (IRQ Routing Status) отображается текущее состояние системы: Управление IRQ включено (IRQ Steering Enabled) или Управление IRQ отключено (IRQ Steering Disabled).