Шина ATA

 

Интерфейс АТА (АТ Attachment for Disc Drives ) разработан в 1986 г. для подключения накопителей на жестких магнитных дисках в компьютерах IBM РС/АТ с шиной ISA. Интерфейс появился в результате установки контроллера жесткого диска в сам накопитель, то есть создания устройства со встроенным контроллером — IDE (Integrated Device Electronic). Поскольку стандартный контроллер жестких дисков АТ позволял подключать до двух накопителей, эту возможность включили и в новый интерфейс. Оба накопителя подключили к одной интерфейсной шине, а для обеспечения программной совместимости бит выбора накопителя в регистре номера головки и номера устройства стали использовать для выбора устройства (фактически, для выбора контроллера). Для организации взаимодействия пары устройств на шине ввели несколько дополнительных сигналов.

Принятая система команд и регистров, являющаяся частью спецификации АТА, ориентирована на обмен с устройствами прямого доступа блоками данных. Для иных устройств, например CD-ROM, существует спецификация ATAPI, основанная на тех же аппаратных средствах.

В системе адресации данных интерфейса АТА изначально указывается адрес цилиндра (Cylinder), головки (Head) и сектора (Sector) — CHS. Позже стали различать физическую и логическую адресацию СН5. Взаимное преобразование логической и физической адресации выполняется встроенным контроллером устройства. В настоящее время используется линейная адресация логического блока LBA (Logical Block Addressing).

Архитектурой интерфейса АТА предусмотрены следующие компоненты:

  • хост-адаптер для сопряжения интерфейса АТА с системной шиной;
  • шлейф с 40 или 80 проводниками, с двумя или тремя разъемами;
  • ведущее устройство (Master), представленное в системе как Device 0;
  • ведомое устройство (Slave), представленное в системе как Device 1.

Если к шине АТА подключено одно устройство, оно должно быть ведущим. Если подключены два устройства, одно должно быть ведущим, другое — ведомым. Все иные варианты назначения устройств неработоспособны.

Существует два способа задания адреса устройства на канале шины АТА: с помощью кабельной выборки или явным заданием адреса на каждом из устройств. Режим кабельной выборки включают перемычкой CS (Cable Select — кабельная выборка). В этом случае оба устройства на шине конфигурируются одинаково (в режим CS), а адрес устройства определяется его положением на шлейфе.

Режим кабельной выборки работоспособен, если он поддерживается всеми устройствами данного канала шины. Недостатком метода кабельной выборки является привязка физического положения устройств к кабелю: ведущее устройство должно быть ближе к адаптеру, чем ведомое устройство.

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

Интерфейс АТА имеет систему команд, рассчитанную на приводы магнитных дисков. Для операций, связанных с обменом данными, предназначены команды, использующие программные режимы ввода-вывода PIO (Programmed Input/Output) или режимы прямого доступа к памяти DMA (Direct Memory Access). Режим DMA за счет сокращения обращений к процессору позволяет заметно повысить производительность. Обмен данными по каналу DMA в отличие от PIO занимает только шины ввода/вывода и памяти.

В канале DMA предусмотрены одиночный и множественный режимы передачи данных. Во множественном режиме (Multiword DMA) на сигнал запроса данных хост-контроллер отвечает потоком циклов DMA. Если устройство не справляется с этим потоком, оно приостанавливает поток, а по готовности к продолжению — возобновляет.

В режиме Ultra DMA за каждый такт передаются два слова данных, одно — по фронту синхронизирующего сигнала, другое — по спаду.

На сегодняшний день последней официально утвержденной спецификацией интерфейса считается АТА-133. Здесь используется 48-бит­ная адресация секторов жесткого диска, что позволяет адресовать устройства объемом до 144 Петабайт. Поддержка режима Multiword DMA Mode 7 обеспечивает скорость передачи до 133 Мбайт/с.

Режим Минимальное время цикла, нс Скорость передачи, Мбайт/с
PIO mode 0 600 3,3
PIO mode 1 383 5,2
PIO mode 2 240 8,3
PIO mode 3 180 8,3
PIO mode 4 120 16,6
PIO mode 5 100 20
Single word DMA Mode 0 960 2,08
Single word DMA Mode 1 480 4,16
Single word DMA Mode 2 240 8,33
Multiword DMA Mode 0 480 4,12
Multiword DMA Mode 1 150 13,3
Multiword DMA Mode 2 120 16,6
Multiword DMA Mode 3 100 20
Multiword DMA Mode 4 80 33
Multiword DMA Mode 5 60 66
Multiword DMA Mode 6 40 100
Multiword DMA Mode 7 20 133