Режим PIO против режима DMA
Стандарт ATA определяет два класса режимов передачи: «Режим PIO» (режим программного ввода-вывода) и «Режим DMA» (режим прямого доступа к памяти). Передача в режиме PIO выполняется намного медленнее и требует участия процессора для управления обменом данными между устройством и памятью. Передача в режиме DMA происходит гораздо быстрее и без участия процессора. Если хотя бы одно устройство на канале ATA использует режим PIO, оба устройства должны работать в этом режиме. Это снижает пропускную способность и создает большую нагрузку на процессор, замедляя работу системы при каждом обращении к диску.
Все современные устройства ATA и ATAPI поддерживают режим DMA, но для обратной совместимости большинство из них можно настроить на использование режима PIO. Использование режима PIO — ошибка. При модернизации системы, если вы обнаружите диски, поддерживающие только режим PIO, замените их. Поскольку в режиме PIO работают только очень старые жесткие диски и оптические приводы, их замена является очевидным решением.
Включение режима передачи DMA
В зависимости от того, какой уровень DMA поддерживают ваш жесткий диск и интерфейс, включение передачи DMA может заметно повысить производительность диска, а может и не дать ощутимого эффекта. Однако включение DMA всегда оправдано, так как это значительно снижает нагрузку, которую передача в режиме PIO создает для процессора. Если при использовании передачи PIO загрузка процессора составляет 75%, то тот же компьютер при использовании передачи DMA может обеспечить такую же или более высокую производительность диска при загрузке процессора всего около 1,5%. В многозадачных операционных системах эти освободившиеся ресурсы процессора делают отклик системы быстрее.
Для использования передачи DMA жесткий диск, BIOS и чипсет должны иметь явную поддержку DMA, а в операционной системе должны быть установлены, загружены и включены драйверы DMA. Все последние версии Windows поддерживают передачу DMA, но DMA не всегда включен по умолчанию, как описано далее:
- Чистая установка Windows автоматически устанавливает драйверы с поддержкой DMA и проверяет BIOS, интерфейс и жесткий диск на совместимость с DMA. Если какая-либо из этих проверок не пройдена, DMA отключается. Если все три проверки успешны, DMA включается автоматически в самом быстром режиме, поддерживаемом как диском, так и интерфейсом.
- Обновление существующей системы до Windows XP автоматически включает DMA только в том случае, если он был включен ранее. Если DMA был выключен, вам придется включить его вручную.
При установке второго жесткого диска и перезагрузке системы сразу проверьте текущий статус DMA для этого диска и включите его, если он неактивен. Для этого выполните следующие действия:
Рисунок 7-13: В Windows XP показано, что этот жесткий диск использует режим передачи UDMA-5 (UltraATA-100)
- Нажмите правой кнопкой мыши на «Мой компьютер» и выберите «Свойства», чтобы открыть диалоговое окно «Свойства системы».
- Перейдите на вкладку «Оборудование» и нажмите кнопку «Диспетчер устройств», чтобы открыть диспетчер устройств.
- Найдите и разверните пункт «Контроллеры IDE ATA/ATAPI». В стандартной системе с двумя включенными контроллерами ATA будет указано три элемента. Первый описывает сам контроллер ATA, его можно игнорировать. Два других элемента — это «Первичный канал IDE» и «Вторичный канал IDE».
- Нажмите правой кнопкой мыши на канал, к которому подключено устройство, для которого вы хотите включить DMA, выберите «Свойства», а затем перейдите на вкладку «Дополнительные параметры», чтобы открыть диалоговое окно, показанное на Рисунке 7-13.
- В этом окне отображается тип устройства и текущий режим передачи для «Устройства 0» (ведущее/master) и «Устройства 1» (ведомое/slave) на выбранном канале ATA. Поле «Текущий режим передачи» показывает используемый режим, который можно изменить следующим образом:
Режим DMA x или режим Ultra DMA x
Windows использует указанный режим DMA или UDMA, который является самым быстрым из поддерживаемых интерфейсом, кабелем и устройством. Например, если жесткий диск поддерживает UltraATA-100, а встроенный интерфейс материнской платы — UltraATA-66, но вы используете стандартный 40-жильный кабель ATA, Windows настроит интерфейс на использование UltraATA-33. Если вы замените кабель на 80-жильный UltraDMA и перезагрузите систему, Windows перенастроит интерфейс на использование UltraATA-66. Вы не можете принудительно выбрать режим UDMA вручную.
Режим PIO или режим PIO x
Windows использует самый быстрый режим PIO, поддерживаемый интерфейсом и устройством, обычно PIO-4 (16,7 МБ/с). Если для режима передачи установлено значение «Только PIO», вы можете включить DMA, установив для режима передачи значение «DMA, если доступно» и перезагрузив систему. Если после перезагрузки текущий режим передачи для устройства по-прежнему отображается как «Режим PIO», значит, это устройство не может работать в режиме DMA. Замените устройство на то, которое поддерживает DMA.
Неприменимо
Устройство не установлено.
Все современные версии Windows автоматически отключают передачу DMA при загрузке и возвращаются к передаче PIO, если обнаруживают явную проблему с DMA. Флажок DMA, который сбрасывается после перезагрузки системы, является верным признаком того, что ваш компьютер некорректно поддерживает DMA. К сожалению, этот способ проверки не является безотказным. DMA может выглядеть установленным успешно, но всё равно периодически вызывать проблемы. Любой из следующих симптомов может (или не может) указывать на проблему с DMA:
- Вы совсем не можете получить доступ к жесткому диску или замечаете поврежденные/отсутствующие файлы.
- Диск иногда кратковременно «зависает» или скорость доступа к файлам то растет, то падает.
- Клавиатура или активное приложение иногда перестают отвечать на короткое время, или курсор мыши дергается/замирает.
- Windows зависает во время фазы обнаружения оборудования Plug and Play при настройке.
- Windows запускается только в безопасном режиме.
- Завершение работы Windows занимает гораздо больше времени, чем до включения DMA.
Если возникают какие-либо из этих проблем, это не обязательно означает, что вы не можете использовать DMA на своем компьютере. Ниже приведены вероятные причины этих проблем:
Кабель
Согласно стандарту ATA, длина кабелей не должна превышать 18 дюймов (0,45 м), но мы часто видим кабели PATA длиной 24 и даже 36 дюймов (около 0,6 и 0,9 м). Эти длинные кабели могут работать ненадежно или вообще не работать с высокоскоростными режимами DMA. Кабели также сильно различаются по качеству. Те, что продаются в корзинах компьютерных магазинов по 1,99 доллара, вряд ли будут работать надежно на высоких скоростях, в отличие от кабелей, поставляемых с новым жестким диском. При установке жесткого диска всегда заменяйте старый кабель ATA на тот, который идет в комплекте с диском. Если кабель не прилагался, купите качественный кабель DMA отдельно. Если у вас возникли проблемы с DMA, замена кабеля на более качественный может их решить.
Диск
Все современные диски корректно поддерживают DMA, но некоторые ранние диски UltraATA-33 реализовали режимы DMA неправильно. Если вы перенастраиваете старый диск на использование DMA, сначала проверьте веб-сайт производителя на наличие информации об этой модели. Для некоторых моделей доступны программные исправления.
BIOS
Некоторые ранние реализации BIOS, формально предоставляющие поддержку DMA, делают это некорректно. Если для вашего компьютера доступна более новая версия BIOS, ее загрузка и установка могут устранить периодические проблемы с DMA. Если ваш текущий BIOS не поддерживает DMA, возможно, доступна исправленная версия, добавляющая эту возможность.
SATA упрощает задачу
В отличие от дисков и интерфейсов PATA, которые могут использовать различные режимы PIO и DMA, диски и интерфейсы SATA используют только режим DMA. Вам не нужно настраивать параметры вручную. Если диск SATA вообще работает, вы можете быть уверены, что он использует оптимальные настройки.
0 Комментариев