Чтение онлайн

на главную

Жанры

Аппаратные интерфейсы ПК. Энциклопедия

Гук Михаил Юрьевич

Шрифт:

Современные системные платы оснащаются высокопроизводительными контроллерами шины ATА, обеспечивающими прямое управление шиной PCI (bus mastering) при обмене с устройствами в режимах DMA и Ultra DMA. Прямое управление шиной повышает суммарную производительность компьютера в многозадачных и многопоточных операционных системах. Сами по себе режимы DMA не дают выигрыша в скорости обмена по шине ATA — только режимы UltraDMA Mode 1 и выше превосходят по скорости режим PIO Mode 4 (см. табл. 9.7). Однако обмен в режиме DMA значительно меньше загружает центральный процессор компьютера, и параллельно с дисковым обменом процессор может заниматься обработкой других потоков (задач). В однозадачных (и однопоточных) системах во время дискового обмена процессор все равно ничем другим не занимается, поэтому для них хорош и режим PIO Mode. Для реального использования режима прямого управления в операционной системе должен быть установлен специальный драйвер Bus-Master,

соответствующий используемому контроллеру ATA (как правило, чипсету системной платы). Стандартный контроллер PCI IDE описан ниже. Операционная система MS-DOS режимы DMA (и прямое управление) не использует. Для многозадачных ОС (Windows 9x/NT/2000, OS/2, Unix, Linux, NetWare…) драйверы могут входить в комплект поставки ОС или поставляться производителями системных плат (контроллеров ATA). И наконец, режим DMA должны поддерживать подключаемые устройства. Практически все современные устройства поддерживают Ultra DMA (или Multiword DMA), но если в паре с таким устройством к одному контроллеру подключено старое устройство, не поддерживающее этот режим, то прогрессивные режимы могут оказаться недоступными (по вине чипсета или драйвера) и для нового устройства.

ВНИМАНИЕ

Режим 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

Для шины PCI существует стандартный вариант интерфейса контроллера IDE (название «ATA» здесь не очень уместно, поскольку оно ориентировано на ISA-подобную шину). Спецификация «PCI IDE Controller Specification» появилась еще в 1994 году, она описывала реализацию контроллера, совместимого с интерфейсом ATA. По сравнению с обычным контроллером, у данного контроллера в блоке управляющих регистров имеется лишь один адрес (устаревший регистр адреса недоступен). Чуть позже была опубликована спецификация «Programming Interface for Bus Master IDE Controller», описывающая работу с устройствами в режиме DMA с прямым управлением шиной. Двухканальный контроллер является одной функцией PCI; четырехканальный контроллер будет уже многофункциональным устройством PCI. Для контроллера определены два режима распределения ресурсов:

♦ режим совместимости (compatibility), в котором каналам выделяются традиционные области адресов ввода-вывода и линии прерываний;

♦ естественный режим PCI (native-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
Блок командных регистров 1F0h-1F7h 170h-177h 10h 14h
Блок управляющих регистров 3F6h 376h 18h 1Ch
Прерывание 14 15    

Типовой контроллер имеет класс 01:01:80h и реализован в чипсетах большинства современных системных плат. Контроллер выглядит как расширение стандартного ATA-контроллера, обеспечивающего доступ к регистрам устройств ATA/ATAPI по известным адресам. Расширение касается прямого управления шиной PCI (bus mastering), благодаря которому можно реализовать обмен данными с устройствами в режимах DMA. Контроллер позволяет использовать все доступные ему режимы обмена PIO (3,3-16,6 Мбайт/с), режимы DMA в стиле контроллера 8237А (2-16,6 Мбайт/с) и режимы UltraDMA (16,6-100 Мбайт/с). Все настройки временных параметров выполняются через конфигурационные регистры PCI, их состав может быть специфичным. Однако с этими регистрами должна иметь дело только процедура POST, устанавливая для каждого обнаруженного устройства ATA/ATAPI оптимальные режимы PIO и DMA/UltraDMA. В эти настройки может вмешаться пользователь, установив какие-либо ограничивающие параметры в BIOS Setup. В итоге после конфигурирования во время POST при обращении программ к устройствам остается выбор лишь между PIO и DMA (если устройство поддерживает DMA). Для обмена в режиме PIO никаких специальных действий не требуется, программа просто выполняет чтение или запись в регистр данных командами

REP INS/OUTS
. Для обмена в режиме DMA требуется «зарядить» и запустить контроллер прямого управления, о чем и пойдет речь ниже.

Двухканальный контроллер имеет 16-байтный блок регистров, расположенный в пространстве портов ввода-вывода. Базовый адрес блока хранится в конфигурационном пространстве устройства по смещению 20h (берутся младшие 16 бит двойного слова). Расположение регистров в блоке показано в табл. 9.10, имена регистров имеют префикс BMI (Bus Master IDE) и окончание P (Primary) для первого канала, S (Secondary) — для второго; в описании будем использовать окончание x (любой канал).

Таблица 9.10. Блок регистров контроллера PCI IDE

Смещение для канала Длина, байт Регистр для первого/второго каналов
1 2
0 8 1 BMICP/BMICS (RW) — регистр команд: бит 0: 1 — запуск, 0 — останов; бит 3 — направление: 0 — чтение памяти, 1 — запись в память; биты 1–2, 3–7 — резерв (0)
1 9 1 Резерв (0)
2 0Ah 1 BMISP/BMISS — регистр состояния: бит 0 (R/O) — активность канала; бит 1 (RWC) — ошибка обмена по PCI; бит 2 (RWC) — запрос прерывания от устройства; биты 3–4 — резерв (0); бит 5 (RW) — устройство 0 поддерживает DMA; бит 6 (RW) — устройство 1 поддерживает DMA; бит 7 — признак симплексного режима (1, если каналы не могут работать одновременно)
3 0Bh 1 Резерв (0)
4 0Ch 4 BMIDPTP/BMIDPTS (RW) — адрес таблицы дескрипторов
Поделиться:
Популярные книги

Неудержимый. Книга VIII

Боярский Андрей
8. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
6.00
рейтинг книги
Неудержимый. Книга VIII

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Волк 2: Лихие 90-е

Киров Никита
2. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 2: Лихие 90-е

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Бывшая жена драконьего военачальника

Найт Алекс
2. Мир Разлома
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бывшая жена драконьего военачальника

Мимик нового Мира 4

Северный Лис
3. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 4

Восход. Солнцев. Книга X

Скабер Артемий
10. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга X

Проводник

Кораблев Родион
2. Другая сторона
Фантастика:
боевая фантастика
рпг
7.41
рейтинг книги
Проводник

Польская партия

Ланцов Михаил Алексеевич
3. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Польская партия

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Провинциал. Книга 2

Лопарев Игорь Викторович
2. Провинциал
Фантастика:
космическая фантастика
рпг
аниме
5.00
рейтинг книги
Провинциал. Книга 2

Огненный князь 6

Машуков Тимур
6. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 6