Вы здесь

9. Аппаратные конфликты

 

Аппаратные конфликты

Причины появления аппаратных конфликтов

Как ни странно, можно без особых раздумий сказать — проблема в универ сальности современных компьютеров.

Изначально у компьютера IBM AT была всего одна-единственная шина, с помощью которой все устройства подключались к оперативной памяти и процессору (это шина ISA ). Вся архитектура IBM -совместимых компьютеров строилась только на ней, что, в общем-то, было вполне оправданным — в те времена производительность 286-го компьютера была просто изуми тельной по сравнению с другими компьютерами, так что перед производи телями не стояло задачи создавать стандарт с большим "запасом прочности". Тем более, что подобные разработки всегда отрицательно сказывались на конечной стоимости продукта.

Не существовала ранее и система автоматической настройки устройств Plug and Play , поэтому все оборудование приходилось настраивать, в прямом смысле, вручную. Чтобы облегчить работу специалистов по настройке ком пьютеров, практически всем устройствам были назначены строго опреде ленные ресурсы компьютера, которые не могли быть заняты другими уст ройствами, что, в общем-то, не только ускоряло сам процесс окончательной настройки компьютера, но и практически на 100% устраняло возможность возникновения аппаратных конфликтов.

Естественно, что с течением времени производительность любого старого стандарта перестает удовлетворять, что приводит к появлению нового. Более скоростные стандарты либо являются надстройками над более старыми вер сиями, позволяющими преодолеть те ограничения, которые последние име ют, либо имеют совершенно иной способ подключения, который совсем не совместим со старым методом. Вот здесь мы и сталкиваемся с первой проблемой. Для сохранения совместимости со старыми устройствами произво дители вынуждены оставлять как разъемы, так и программы, которые, как мы уже знаем, не поддерживают автоматической настройки.

Примечание В качестве доказательства утверждения , что система автоматической настрой ки Plug and Play является одной из причин появления сбоев , можно привести семейство операционных систем Windows NT . Все они заслуженно считаются очень стабильными , особенно по сравнению с семейством Windows 9 x , хотя в последнее время , а именно с появлением версии Windows 2000, и здесь появились различные нюансы . Одним из основных нововведений в Windows 2000 является поддержка системы Plug and Play . Выводы делайте сами ...

Практически все современные устройства разрабатываются согласно требованиям к возможности их автоматической настройки, поэтому все специфи кации, безусловно, поддерживают технологию Plug and Play . Здесь мы стал киваемся со второй более серьезной проблемой. Старые устройства по- прежнему требуют безоговорочного резервирования строго определенных ресурсов компьютера, тогда как современные устройства вполне способны работать практически с любыми свободными ресурсами ПК. Вполне естест венно, что для нормальной работы всех старых устройств в любом случае будут зарезервированы все необходимые ресурсы, в то же время их стано вится все меньше и меньше, пока не наступает предел, когда даже новые устройства уже не могут нормально распределить между собой оставшееся количество ресурсов.

Но давайте рассмотрим все по порядку.

Распределение ресурсов компьютера

Под старыми устройствами сегодня следует понимать те устройства, кото рые для своей работы, точнее для связи с остальными компонентами ком пьютера, используют шину ISA . Это такие устройства, как последователь ные, параллельный и инфракрасный порты, порты для подключения клавиатуры и мыши, контроллер флоппи-дисковода. Все они используются до сих пор, поэтому избежать аппаратного конфликта иногда сложно.

Аппаратный конфликт — это ситуация, когда несколько устройств одновре менно пытаются получить монопольный доступ к одному и тому же ресурсу компьютера, причем компьютер начинает давать сбои в работе одного или нескольких устройств, а то и вообще зависает без всяких предупреждений или сообщений об ошибке.

Ресурсы компьютера можно разделить на три основных группы: прерывания, каналы DMA и порты ввода/вывода.

Прерывания ( IRQ , Interrupt Request ) представляют собой физические сигна лы, при помощи которых специальный контроллер переключает вычисли тельные мощности центрального процессора от одного устройства к друго му, позволяя, таким образом, одновременно обрабатывать последовательно все поступающие запросы. Различают аппаратные и программные прерыва ния — в данном случае имеется в виду первый тип. Если устройство не подает запрос на выполнение определенных действий, тогда соответствующее ему прерывание не генерируется.

Для работы любого устройства рекомендуется наличие свободного прерыва ния, при этом старое оборудование всегда требует для себя уник&тьного но мера прерывания, в то время как некоторые наиболее современные устрой ства вполне могут обойтись так называемыми разделяемыми прерываниями. Кроме того, ставится условие, чтобы устройства, использующие одно пре рывание, не работали одновременно, хотя и здесь имеется ряд нюансов.

Аппаратные прерывания могут происходить в любой момент, так что никто не застрахован от ситуации, когда два прерывания могут возникнуть одно временно. В этом случае система прибегает к специальной таблице приори тетов, где каждому прерыванию назначен уникальный приоритет.

Как уже говорилось, немалое количество ресурсов резервируется под ис пользование их старым оборудованием, поэтому рекомендуется изучить всю таблицу прерываний (табл. 20.1), которую устанавливает операционная сис тема по умолчанию.

Таблица 20.1. Таблица прерываний , устанавливаемая по умолчанию

Прерывание
Устройство, назначаемое по умолчанию, рекомендации по настройке
IRQO
Прерывание системного таймера, который отвечает за работу ча- сов реального времени. Применяется со времен первых IBM PC и для использования другими устройствами недоступно
IRQ1
Прерывание клавиатуры. Генерируется при каждом нажатии на клавиши. Для другого использования недоступно
IRQ2
Сегодня резервируется исключительно ради совместимости со старыми программами. Для другого использования недоступно
IRQ3
Прерывание назначается по умолчанию последовательному порту COM2. Этим прерыванием пользуются устройства, использующие "парный" порт COM4. Для других устройств это прерывание может стать доступным только после отключения порта в BIOS
IRQ4
Прерывание назначается по умолчанию последовательному порту С0М1. Этим прерыванием пользуются устройства, использующие "парный" порт COM3. Для других устройств это прерывание может стать доступным только после отключения порта в BIOS
IRQ5
Прерывание используется звуковыми платами ISA и более новыми PCI. Современные звуковые платы занимают это прерывание ис- ключительно ради совместимости со старыми программами. Пре- рывание доступно для использования другими устройствами, но в этом случае возможны проблемы с запуском старых игр
IRQ6
Прерывание используется контроллером флоппи-дисковода. Для
других устройств это прерывание может стать доступным только
после отключения контроллера в BIOS
IRQ7
Прерывание используется параллельным портом при работе в ре-
жимах ЕРР и ЕСР. Для других устройств это прерывание может
стать доступным только после отключения порта в BIOS или при
выборе режима SPP (Normal)
IRQ8
Прерывание используется часами реального времени. Для исполь зования другими устройствами невозможно
IRQ9
Прерывание свободно для использования другими устройствами
IRQ10
Прерывание свободно для использования другими устройствами
IRQ11
Прерывание используется шиной USB. Для других устройств это
прерывание может стать доступным только после отключения шины в BIOS, т. к. даже при отсутствии подключенных устройств это пре рывание недоступно для использования другими устройствами
IRQ12
Прерывание используется для мыши PS/2. Для других устройств
это прерывание может стать доступным только после отключения
порта в BIOS, т. к. даже при отсутствии мыши прерывание резерви руется и недоступно для использования другими устройствами
IRQ13
Прерывание раньше использовалось для математического сопро цессора, сегодня резервируется ради совместимости со старыми
программами. Для использования другими устройствами недос тупно
IRQ14
Прерывание используется первым каналом контроллера IDE. Для
других целей может быть использовано только после отключения
канала в BIOS
IRQ15
Прерывание используется вторым каналом контроллера IDE. Для
других целей может быть использовано только после отключения
канала в BIOS

Не стоит понимать фразу "это прерывание может стать доступным" буквально, т. к. далеко не все устройства могут занимать выбранное вами прерыва ние. Яркий пример — звуковые платы. Практически все звуковые платы могут работать только либо с IRQ 5, либо IRQ 10, в то время как все остальные для них вполне могут оказаться недоступными.

Для уменьшения вероятности возникновения аппаратных конфликтов реко мендуется придерживаться следующей последовательности установки уст ройств:

? сначала собирается базовая конфигурация — процессор и кулер для него, модуль памяти, видеоплата, жесткий диск и привод CD - ROM ;

О внутренний модем ( PCI или ISA ). Внешний модем подключается к одно му из последовательных портов, поэтому его настройка обычно не вызы вает больших проблем;

  • звуковая плата ( PCI или ISA ). Если звуковая плата интегрированная, то
    гда она настраивается сразу же еще до установки всех остальных устройств;
  • сетевая плата ( PCI или ISA );
  • плата для работы с видеоизображением ( PCI или ISA );
  • контроллер SCSI ( PCI или ISA );
  • все остальные платы.

После установки каждого последующего устройства в компьютер может произойти аппаратный конфликт. При этом может потребоваться изменить порядок установки компонентов, которые уже установлены в вашем компь ютере (то есть потребуется изменить порядок, какое устройство будет уста навливаться первым, какое — вторым, какое — третьим и т. д.). Как пока зывает практика, время от времени встречаются компьютеры, которые нормально работают только в случае строгого соблюдения или указанной выше последовательности сборки или иной, в противном случае добиться стабильной работы бывает крайне сложно.

Несмотря на то, что аппаратные конфликты встречаются нередко, в послед нее время все чаще и чаще причиной сбоев становятся драйверы устройств. Если во времена процессоров Pentium / Pentium II было достаточно устано вить Windows 98 и на этом вся настройка могла быть закончена, то теперь приходится устанавливать разнообразные "патчи", "сервис-паки" и прочее. И далеко не всегда на компакт-диске с драйверами, который идет в ком плекте с каждым устройством, можно найти весь комплект, а то и просто нормально работающий драйвер. В таком случае приходится или мириться с ситуацией, или искать в Интернете другие версии драйверов, которые бу дут работать нормально. Яркий пример — многочисленное поколение драй веров для видеоплат от nVidia , так называемые Detonator ' bi . К тому же если все проблемы начинаются после переустановки операционной системы, стоит предположить, что все-таки виноваты в этом именно драйверы, хотя каждый случай требует отдельного разбирательства.

Устранение аппаратных конфликтов

Перед тем как устанавливать новое устройство, желательно записать или запомнить, какое устройство какой ресурс использует. Это и прерывания, и каналы DMA , а еще и области оперативной памяти, так называемые порты ввода/вывода. Это поможет вам впоследствии относительно быстро восста новить прежнюю конфигурацию, если, например, нужно срочно доделать работу, а времени разбираться с проблемой нет.

Узнать, как в данный момент распределены номера прерываний на вашем ПК, можно, запустив программу Сведения о системе из раздела Служебные программы. Также можно просмотреть список прерываний в Панели управления
операционных систем Windows 9x, выбрав в свойствах Системы пункт Диспетчер устройств. Каждый раз после установки нового устройства или компонента системы, которым требуется прерывание, записывайте номера прерываний и названия устройств, которым эти прерывания назначены. Эти сведения помогут вам в разрешении аппаратных конфликтов.
После того как вы подключили новое устройство, обязательно обратите внимание на то, как изменилось распределение ресурсов. В первую очередь изучите таблицу, что выводится на экран монитора перед началом загрузки операционной системы. Чтобы остановить на время запуск компьютера, можно воспользоваться клавишей <PAUSE>, которая расположена в верхнем правом углу. Чтобы поймать нужный момент, возможно, придется нажать ее несколько раз. В таблице указано, какое устройство какое прерывание занимает. Если вы обнаружите два или более устройств, возле которых стоит одна и та же цифра, скорее всего, одно из этих устройств нормально работать не будет. Особенно важно это, если конфликт связан с видеоплатой, т. к. в таком случае система может вообще не загрузиться.
Для уменьшения вероятности аппаратных конфликтов следует совершить следующие действия:

  • при первом же включении ПК после подключения нового устройства запустите программу CMOS Setup Utility, найдите параметр Reset Configuration или Force Update ESCD, который, скорее всего, находится в разделе PnP/PCI Configuration, и установите его в значение Yes. Выйдите из программы с сохранением изменений. После перезагрузки данные об установленном оборудовании "обнулятся", что приведет к инициализации системы Plug and Play и перераспределению ресурсов компьютера между установленными устройствами. Если этого не сделать, система попытается назначить новому устройству одно из свободных ресурсов, который может оказаться неподходящим для данного устройства;
    помимо вышеописанного параметра, стоит обратить внимание ее на следующие параметры (их можно использовать для устранения аппаратных конфликтов):
    • DMA n Assigned To — этот параметр позволяет назначить любой канал DMA строго определенному устройству, например звуковой плате ISA. Для этого требуется установить его в значение Legacy ISA, в противном случае следует оставить значение PCI/ISA РпР. В последнем случае каналы DMA будут распределяться согласно возможностям системы Plug and Play.
      Параметр может иметь название DMA n Used By ISA. Соответственно этот параметр должен принимать значение либо No/ICU, либо Yes;
    • IRQ n Assigned To — этот параметр позволяет резервировать прерывания подобно предыдущему параметру.
      Параметр может иметь название IRQ n User By ISA с соответствующими ранее описанными значениями;
    • Interrupt Mode — параметр позволяет использовать усовершенствованный контроллер прерываний, реапизующий 24 аппаратных прерывания вместо стандартных 16-ти. Обратите внимание, что если установить Windows при включенном параметре, выключение может привести к серьезным сбоям в работе компьютера, вплоть до невозможности его загрузки. Значение для включения параметра — APIC, для выключения — PIC;
    • PCI IDE IRQ Map To — позволяет освободить прерывание, используемое контроллером IDE (IRQ14 и IRQ15), на материнской плате, в случае, если вы его не используете. При этом значение его должно быть PC AT (ISA). Если вы все-таки используете IDE-контроллер, оставьте значение, которое установлено по умолчанию (чаще всего это PCI IDE IRQ Mapping);
    • PS/2 Mouse Function Control — параметр позволяет освободить прерывание, по умолчанию резервируемое для мыши PS/2 (IRQ12). Для этого значение параметра должно быть Auto или Disable. Если вы используете мышь PS/2, ни в коем случае не отключайте этот параметр;
    • РпР OS Installed — параметр позволяет отдать приоритет в распределении ресурсов операционной системе (значение Yes) или материнской плате (значение No), точнее установленной на ней BIOS. Параметр может иметь название РпР Operating System.
      Обратите внимание, что операционная система Windows NT 4.0 не обладает возможностью автоматического определения устройств, поэтому в BIOS этот параметр должен находиться в выключенном состоянии;
    • Resource Controlled By — параметр позволяет отключить автоматическое распределение ресурсов;
    • USB IRQ — позволяет освободить прерывание, по умолчанию используемое контроллером шины USB (значение Disabled);
  • отключите все неиспользуемые устройства, такие как:
    • последовательные порты. На современных компьютерах они используются крайне редко, особенно COM2, т. к. на платах с интегрированным звуком разъем COM2 вообще не выведен наружу, что позволяет отключить его без особых последствий. Если вы используете внутренний модем, вам следует знать, что внутренние модемы не используют последовательный порт, а эмулируют его наличие, поэтому можно отключить оба порта;
    • параллельный порт. Если у вас нет принтера, подключаемого к нему, тогда его следует отключить;
    • контроллер IDE. Если вы используете только одно устройство IDE, можно отключить второй неиспользуемый канал. При этом можно освободить IRQ14 или IRQ15;
    • контроллер шины PS/2. Если вы используете мышь, подключаемую к СОМ-порту, следует отключить его, освободив тем самым IRQ12.

При подключении новых устройств могут возникать самые разнообразные проблемы, а не только аппаратные конфликты, например система Plug and Play вообще никаким образом не определяет новое устройство, создавая впечатление его неисправности, даже если на другом компьютере оно работало исправно. Такое может случиться или в том случае, если устройство не поддерживает стандарт Plug and Play (например, наиболее старые ISA платы), или если не поступает напряжение питания (например, для устройства необходимо использовать дополнительный источник питания, или разъем недостаточно плотно подключен), или устройство неисправно. В первом случае следует обратиться к документации устройства, выяснить, какие ресурсы устройство должно использовать, после чего зарезервировать их при помощи параметров BIOS. Во втором случае следует проверить качество соединения всех разъемов и наличие напряжения на соответствующих выводах. В третьем случае ответ краток — ищите в срочном порядке гарантийный талон, если таковой имеется, и несите в сервис-центр.
Если какое-либо устройство, например контроллер шины USB, не отключается при помощи параметров BIOS, можно отключить его в Диспетчере устройств Windows, что, в общем-то, практически однозначно первому способу.

 

Top.Mail.Ru