Метод захват управления шиной оказался чрезвычайно эффективным усовершенствованием интерфейса контроллера накопителя. Системные платы и чипсеты, в которых поддерживается захват управления шиной IDE, часто маркируются как BM-IDE (Bus Mastering IDE). При правильной настройке в режиме захвата управления шиной при записи и считывании данных из EIDE/IDE-накопителя (жесткого диска или CD-дисковода) данные передаются через канал DMA. Делается это для того, чтобы снизить нагрузку на процессор. Для сравнения отметим, что при программном вводе/выводе (РЮ) процессор используется очень интенсивно. Захват управления шиной особенно полезен при одновременной работе нескольких приложений, активно взаимодействующих с накопителем. Захват управления шиной поддерживается во многих современных компьютерах, но для максимально эффективного использования этого метода должны быть выполнены следующие условия.
■ Системная плата (IDE-контроллер) должна допускать захват управления шиной.
■ Захват управления шиной должен быть предусмотрен в системной BIOS.
■ Операционная система должна быть многозадачной (Windows 9x/Me/2000/XP).
■ В операционной системе должен быть загружен драйвер, обеспечивающий захват управления шиной.
■ EIDE/IDE-устройство (жесткий диск, CD-дисковод) должно быть работоспособно в режиме захвата управления шиной с групповой (multiword) передачей данных через канал DMA.
В одной и той же системе могут быть установлены IDE-устройства, как поддерживающие, так и не поддерживающие захват управления шиной — но в этом случае быстродействие первых из них окажется пониженным. Надо отметить, что захват управления шиной IDE-устройствами — это далеко не универсальный метод повышения производительности системы. Скорее всего, он окажется малоэффективным в компьютерах, работающих под управлением DOS, а также в тех случаях, когда пользователи работают только с одним приложением или даже с несколькими программами, не слишком интенсивно взаимодействующими с накопителем.
Захват управления шиной и Windows
Как было сказано выше, для захвата управления шиной в операционной системе должен быть предусмотрен соответствующий драйвер. В первой версии Windows 95 использовался лишь типовой общий драйвер (ESDI_506.PDR), да и в версии OSR2 он оставался весьма примитивным. Драйверы управления шиной, входящие в Windows 98 и далее, как правило, обеспечивают лучшую производительность. Наилучших результатов можно добиться при использовании драйверов, разработанных для конкретных системных плат или контроллеров накопителей. Вы можете найти некоторые из новых драйверов управления шиной, например, на сайте Drivers Headquarters — www.drivershq.com. В Windows XP встроена полная поддержка DMA (см. рис. 11.4), и установка других драйвером рекомендуется только в том случае, если операционная система не содержит встроенных драйверов для определенного устройства (контроллера или системной платы).
Возможные проблемы
Несмотря на то, что захват управления шиной, несомненно, может увеличить производительность интенсивно работающей многозадачной системы, при использовании этого метода могут возникнуть определенные проблемы. Как правило, они возникают в операционных системах Windows 9х/Ме, в Windows XP этого не наблюдается. Большинство из них связано с драйверами управления шиной. Наиболее распространенными проблемами являются две:
■ После установки драйвера управления шиной теряется CD-дисковод или жесткий диск, подключенный к вторичному каналу контроллера.
■ После установки драйвера управления шиной загрузка Windows длится слишком долго. В обоих случаях вы можете заметить, что в списке устройств Панели управления больше
не появляется вторичный IDE-канал. Это происходит потому, что драйвер управления шиной некорректно поддерживает IDE-контроллер. Вам необходимо установить драйвер управления шиной для первичного канала контроллера и сохранить драйвер РЮ для поддержки вторичного канала. Для этого установите драйвер управления шиной, а затем вручную внесите изменения в реестр с тем, чтобы снова перенастроить вторичный канал контроллера на использование стандартного IDE-драйвера.
1. Запустите программу редактирования реестра (REGEDIT.EXE) и найдите раздел HKEY_LOCAL_MACHINE/System/CurrentControlSet/control/Services/Class/hdc/
2. В нем находятся четыре подраздела: 0000-0003.
3. В зависимости от канала, который вы хотите настроить, найдите тот из подразделов, в котором значение параметра DriverDesc выглядит наподобие «Primary Bus Master IDE controller» (в русской версии — «Основной контроллер IDE») или «Secondary Bus Master IDE controller» («Дополнительный контроллер IDE»). Им, скорее всего, окажется подраздел 0002 или 0003. Как показывает практика, чаще приходится изменять настройку вторичного (дополнительного) канала контроллера.
4. В найденном подразделе замените значение параметра PortDriver с ESDI506.PDR (оно может быть и другим, в зависимости от того, какой драйвер управления шиной используется в системе) на IDEATAPI.MPD.
5. Вы можете также изменить значение параметра DriverDesc (это просто описание драйвера) на другое, более привычное и понятное: например, «Стандартный контроллер IDE/ESDI». Именно это название будет отображаться в списке Устройства {Device Manager) в Панели управления (Control Panel).
6. Сохраните внесенные в реестр изменения и перезагрузите компьютер.
Теперь вторичный канал ID Е-контроллера будет работать под управлением стандартного драйвера, и подключенные к нему накопители (например, CD-дисковод) появятся в списке устройств. Существует еще один прием, который позволит вам уменьшить время загрузки системы: запустите Windows в режиме защиты от сбоев и удалите из списка устройств все дисковые накопители. Затем перезагрузите компьютер и дайте возможность Windows вновь самостоятельно обнаружить все накопители.
Некоторые специалисты полагают, что CD-дисковод ATAPI может работать при использовании драйвера управления шиной, если он сконфигурирован как ведомый и является единственным устройством, подключенным к вторичному каналу IDE-контроллера. Напомним, что обычно единственное IDE-устройство должно быть настроено, как ведущее. Реализация этого предложения не приведет к повреждению CD-дисковода или контроллера, однако, насколько нам известно, никто не проводил исчерпывающего тестирования этого метода. Учитывая большое разнообразие программных и аппаратных средств управления шиной, можно предположить, что в одних системах перенастройка дисковода может дать результат, а в других — нет. Рассматривайте это предложение как крайнее средство.