♦ Для поддержки Ultra DMA 3 и выше (44-100 Мбайт/с) все линии должны иметь раздельные приемопередатчики. Общими могут быть только сигналы RESET#
, INTRQ
, DA(2:0)
, CS0#
, CS1#
и DASP#
, но стандарт этого не рекомендует.
Поскольку скорость программного обмена задается хост-адаптером, интересно индивидуальное программирование режимов PIO Mode для каждого канала/устройства. Ряд чипсетов этого не допускает и при инициализации назначает общий минимальный режим. В результате подключение «тихоходного» устройства замедляет обмен быстрого соседнего устройства.
Современные системные платы оснащаются высокопроизводительными контроллерами шины ATА, обеспечивающими
Режим UltraDMA привлекателен не только скоростью и разгрузкой процессора, но и контролем достоверности передач по шине ATA (правда, этот контроль корректно работает не со всеми драйверами).
Поскольку контроллеры ATA подключаются к 32-разрядной шине PCI, в них ввели возможность обращения к регистру данных ATA двойными словами. При этом за одну 32-битную операцию процессора и шины PCI по шине ATA последовательно передаются два 16-битных слова. Возможностью 32-разрядного доступа к регистру данных можно управлять через параметр IDE 32-bit Transfer (Enable/Disable)
BIOS Setup.
Более сложные контроллеры (отдельные карты расширения) могут иметь собственную кэш-память и управляющий процессор. Они могут аппаратно поддерживать «зеркальные» диски и организовывать RAID-массивы ATA-дисков. Некоторые адаптеры позволяют соединять несколько физических дисков в один логический на уровне вызовов BIOS.
Адаптеры ATA одно время часто размещали на звуковых картах (для подключения CD-ROM). По умолчанию им назначают ресурсы канала 3 или 4. К этим каналам можно подключать винчестеры, но будет ли их там искать BIOS во время теста POST — вопрос. Современные версии BIOS позволяют хранить конфигурационные параметры четырех жестких дисков, более старые версии — двух. Четыре канала ATA физически позволяют подключить до восьми накопителей, но работа с ними лимитирована программными ограничениями.
Существуют гибридные адаптеры для подключения ATA HDD к шинам XT и MCA или, например, к LPT-порту. В последнее время получили распространение переходные адаптеры, позволяющие подключать устройства ATA/ATAPI к шине USB. При использовании USB 2.0 простота подключения внешнего устройства будет сочетаться и с высокой скоростью передачи данных.
Для шины PCI существует стандартный вариант интерфейса контроллера IDE (название «ATA» здесь не очень уместно, поскольку оно ориентировано на ISA-подобную шину). Спецификация «PCI IDE Controller Specification» появилась еще в 1994 году, она описывала реализацию контроллера, совместимого с интерфейсом ATA. По сравнению с обычным контроллером, у данного контроллера в блоке управляющих регистров имеется лишь один адрес (устаревший регистр адреса недоступен). Чуть позже была опубликована спецификация «Programming Interface for Bus Master IDE Controller», описывающая работу с устройствами в режиме DMA с прямым управлением шиной. Двухканальный контроллер является одной функцией PCI; четырехканальный контроллер будет уже многофункциональным устройством PCI. Для контроллера определены два режима распределения ресурсов:
♦
♦
Распределение ресурсов для контроллера приведено в табл. 9.9. В режиме совместимости контроллер может работать только на первичной шине PCI, поскольку мост PCI-PCI не будет транслировать обращения по стандартным адресам на другую шину. В режиме PCI с перемещаемыми ресурсами контроллер может находиться на любой шине. Конкретный контроллер может поддерживать изменение режима или один из режимов. Если контроллер по умолчанию (или всегда) работает в режиме совместимости, то для ПО он «прозрачен» — работа с ним не отличается от традиционного контроллера ATA. Текущий режим и возможность его смены отражается в байте программного интерфейса, являющегося последним элементом идентификатора класса устройства. Байт интерфейса имеет следующее назначение битов:
♦ бит 7 (bus mastering) — возможность работы в режиме прямого управления;
♦ биты 6:4 — 000 (признак стандартного интерфейса, соответствующего PCI IDE Controller Specification);
♦ бит 3 — индикатор программируемости режима для второго канала (возможности изменения бита 2);
♦ бит 2 — режим второго канала: 0 — совместим со стандартным контроллером ATA IDE, 1 — PCI IDE;
♦ бит 1 — индикатор программируемости режима для первого канала (возможности изменения бита 0);
♦ бит 0 — режим первого канала: 0 — совместим с ATA IDE, 1 — PCI IDE.
Таблица 9.9. Ресурсы контроллера PCI IDE
Ресурс | Режим совместимости: ресурсы для каналов | Естественный режим PCI: базовый адрес (смещение в конфигурационном пространстве) для канала | ||
---|---|---|---|---|
1 | 2 | 1 | 2 |