Главная » Ассемблер, Железо » Режимы и протоколы передачи информации ATA

0

Обмен информацией между жестким диском, обозначенным в стандарте термином Device (устройство), и компьютером, обозначенным как Host (хост), должен выполняться по строго определенным правилам. Из таблицы 6.29 видно, что для каждой команды в стандарте определены режим и протокол обмена информацией между устройством и хостом.

Для обмена данными между диском и контроллером используются 16-разрядные слова в пакетах по 256 штук. При работе с современными жесткими дисками может применяться один из двух основных режимов передачи данных: режим программного ввода-вывода (PIO) через процессор или режим прямого доступа к памяти (DMA). Оба режима постоянно совершенствуются и в настоящее 18*

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

Таблица 6.45. Скорость передачи данных в различных режимах ввода-вывода (Мбайт/с)

Номер

РЮ

Single

Multi

Ultra DMA

режима

 

word DMA

word DMA

 

0

3,3

2,08

4,12

16,7

1

5,2

4,16

13,3

25

2

8,3

8,33

16,7

33,3

3

11,1

44,4

4

16,7

66,7

5

100

Современные дисковые накопители поддерживают по несколько различных скоростей передачи данных для режимов РЮ и DMA, чтобы обеспечить совместимость как со старыми, так и с новыми материнскими платами и контроллерами. В процессе тестирования оборудования при загрузке компьютера BIOS опрашивает подключенные к контроллеру устройства и автоматически настраивает их на самые скоростные режимы, какие только могут быть реализованы контроллером и дисками.

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

Для каждой АТА-команды стандарт определяет протокол, но не задает скорость передачи данных (см. табл. 6.29). Стандарт также приводит (в виде диаграмм) описание типовых протоколов. Протокол ввода данных в режиме РЮ показан на рис. 6.13 и 6.14, протокол вывода данных в режиме РЮ — на рис. 6.15 и 6.16, протокол для команд, не требующих передачи данных — на рис. 6.17, протокол передачи данных в режиме DMA — на рис. 6.18 и 6.19.

Рис. 6.15. Типовой протокол вывода данных с диска в режиме РЮ (начало)

Рис. 6.17. Типовой протокол выполнения операций, не требующих передачи блока данных

Рис. 6.19. Типовой протокол передачи данных в режиме DMA (окончание)

Приведенные на рис. 6.13-6.19 протоколы не следует воспринимать слишком буквально (как схемы алгоритмов). В стандарте они — видимо, для большей наглядности — были упрощены (например, нет контроля за временем выполнения операций, и если устройство зависнет, то программа может застрять в бесконечном цикле ожидания сигнала готовности). Кроме того, приведенные схемы носят название примерных и подвергаются изменениям в каждой новой версии стандарта ATA/ATAPI.

В программах, предназначенных для работы в MS-DOS, можно ограничиться простыми протоколами ввода-вывода РЮ, поскольку значительно более сложный для реализации протокол DMA дает выигрыш по скорости только в многозадачном режиме. Дело в том, что скорость передачи данных между диском и контроллером не является основным лимитирующим фактором — гораздо больше времени тратится на поиск нужной области на диске и считывание или запись информации. DMA приносит пользу только в том случае, если процессору есть, чем заняться, пока диск ищет и передает информацию. Однако для того, чтобы задействовать DMA, нужно правильно запрограммировать контроллер, обеспечивающий диску прямой доступ к памяти, что может оказаться нетривиальной задачей вследствие отсутствия описаний на новые типы DMA-контроллеров. Особую осторожность следует проявлять при, программировании режима UltraDM А 66, поскольку он все еще находится в стадии освоения изготовителями периферийного обору-, Дования.

Источник: Кулаков В. К90 Программирование на аппаратном уровне: специальный справочник (+дискета). 2-е издание. — СПб.: Питер, 2003. — 847 е.: ил.

По теме:

  • Комментарии