- •2. Интерфейсы систем ввода-вывода
- •2.1. Понятие интерфейса и его характеристики
- •2.2. Организация интерфейсов
- •2.3. Среда интерфейса
- •2.4. Интерфейс ввода-вывода ес эвм
- •2.5. Системные интерфейсы мини- и микроЭвм
- •2.6 Шины расширения ввода/вывода рс-совместимых пэвм.
- •2.6.1. Шины isa, eisa и pc-104
- •2.6.2. Шина мса
- •2.6.3. Локальная шина vlb
- •2.6.4. Шина рсi
- •2.6.5. Магистральный интерфейс agp
- •2.6.6. Шины pcmcia (pc Card)
- •2.7. Малые интерфейсы периферийных устройств
- •2.7.2. Внешние интерфейсы персональных компьютеров.
- •2.7.2.1. Параллельный интерфейс: lpt-порт
- •2.7.2.1.1. Интерфейс Centronics
- •2.7.2.1.2. Традиционный lpt-порт
- •2.7.2.1.3. Расширения параллельного порта
- •2.7.2.1.4. Стандарт ieee 1284-1994
- •2.7.2.2. Последовательные интерфейсы.
- •2.7.2.2.1. Последовательный порт (сом-порт)
- •2.7.2.2.1.1. Интерфейс rs-232c
- •2.7.2.2.2. Интерфейс «токовая петля»
- •2.7.2.2.3. Инфракрасный интерфейс
- •2.7.2.2.4. Интерфейс midi
- •2.7.2.3. Игровой адаптер - game-порт
- •2.7.2.4. Интерфейс клавиатуры
- •2.7.2.5. Интерфейс с монитором
- •2.7.2.6. Интерфейс нгмд.
- •2.7.2.7. Интерфейсы нмд
- •2.7.2.7.1. Интерфейс st-506 (st-412) и esdi
- •2.7.2.7.2. Интерфейс ата (ide)
- •2.7.2.7.3. Последовательный интерфейс Serial ата
- •2.7.2.8. Шина scsi
- •2.7.2.8.1. Параллельные интерфейсы scsi
- •2.7.2.8.1.1. Кабели, разъемы, сигналы
- •2.7.2.8.1.2. Терминаторы
- •2.7.2.8.1.3. Протокол шины
- •2.7.2.8.1.4. Конфигурирование устройств
- •2.7.2.8.1.5. Подключение устройств к шине
- •2.7.2.8.2. Интерфейс Fibre Channel
- •2.7.2.8.3. Хост-адаптер scsi
- •5.4. Управление интерфейсом и выполнение команд
- •2.7.2.9. Последовательная шина usb
- •2.7.2.10. Шина ieee 1394 — FireWire
- •2.7.2.10.1. Структура и взаимодействие устройств шины
- •2.7.2.10.2. Синонимы и дополнения стандарта 1еее1394
- •2.7.2.10.3. Сравнение FireWire и usb
- •2.7.2.11. Последовательная шина access.Bus и интерфейс i2c
- •2.7.2.12. Интерфейс jtag (Boundary Scan)
2.7.2.7.3. Последовательный интерфейс Serial ата
Параллельный интерфейс АТА, использующий сигналы TTL-уровня, исчерпал свои ресурсы пропускной способности, достигшей 100 Мбайт/с в режиме UltraDMA Mode 5. Для дальнейшего повышения пропускной способности интерфейса (но, конечно же, не самих устройств хранения, которые имеют гораздо меньшие внутренние скорости обмена с носителем) было принято решение о переходе на последовательный интерфейс. Цель перехода — улучшение и удешевление кабелей и коннекторов, улучшение условий охлаждения устройств внутри системного блока (избавление от широкого шлейфа), обеспечение возможности разработки компактных устройств, облегчение конфигурирования устройств пользователем. Попутно расширяется адресация блоков (достижение предельной емкости адресации АТА в 137 Гбайт не за горами).
Спецификация Serial АТА версии 1.0 опубликована в 2001 г. и доступна в Сети по адресу www.serialata.org. Массовое производство устройств, поддерживающих Serial АТА, началось в 2002-2003 годах. Продвижение стандарта на рынок ведется в основном стараниями VITESSE, Dell, Intel, Maxtor и Seagate - так называемой промгруппой Serial ATA. Программа развития стандарта была составлена примерно на десять лет вперед. В ней предусмотрена разработка трех версий. Первая - это та, которую мы имеем сегодня. Во второй будет в два раза увеличена пропускная способность - до 3 Гбит/с при сохранении полной совместимости с первой. В третьей версии скорость будет составлять 6 Гбит/с, а совместимость будет под вопросом, говорится, что возможно будет сохранена только механическая и электрическая совместимость с предыдущими версиями. SATA-2 должна появится в середине 2004 года, а SATA-3 ожидается в середине 2007. Новую шину, наверное, в обязательном порядке, будут учить думать - создавать очереди команд и оптимизировать их. Это обещает хороший прирост производительности, особенно в многозадачных средах. Следует отметить, что интерфейс SCSI уже сегодня умеет все это делать и много всего, что и не снилось SATA и при гораздо более высокой пропускной способности - 320 Мбайт/с уже доступны (Ultra320 SCSI), и ведутся работы над 640 Мбайт/с (Ultra640 SCSI). Есть варианты SCSI и с последовательной передачей. Единственный недостаток SCSI - высокая стоимость. Serial ATA в настоящее время незначительно дороже параллельного АТА и в будущем предполагается поддерживать эту относительную дешевизну.
Приведенная ниже информация относится к версии 1.0. (SATA-1).
Интерфейс Serial АТА является хост-центрическим, в нем определяется только взаимодействие хоста с каждым из подключенных устройств, а взаимодействие между ведущим и ведомым устройствами, свойственное традиционному интерфейсу АТА, исключается. Программно хост видит множество устройств, подключенных к контроллеру, как набор каналов АТА, у каждого из которых имеется единственное ведущее устройство. Имеется возможность эмуляции пар устройств (ведущее - ведомое) на одном канале, если такая необходимость возникнет. Программное взаимодействие с устройствами Serial АТА практически совпадает с прежним, набор команд соответствует ATA/ATAPI-5. В то же время аппаратная реализация хост-адаптера Serial АТА сильно отличается от примитивного (в исходном варианте) интерфейса АТА. В параллельном интерфейсе АТА хост-адаптер был простым средством, обеспечивающим программное обращение к регистрам, расположенным в самих подключенных устройствах. В Serial АТА ситуация иная: хост-адаптер имеет блоки так называемых «теневых» регистров (Shadow Registers), совпадающих по назначению с обычными регистрами устройств АТА. Каждому подключенному устройству соответствует свой набор регистров. Обращения к этим теневым регистрам вызывают процессы взаимодействия хост-адаптера с подключенными устройствами и исполнение команд.
В стандарте рассматривается многоуровневая модель взаимодействия хоста и устройства, где прикладным уровнем является обмен командами, информацией о состоянии и хранимыми данными. На физическом уровне для передачи информации между контроллером и устройством используются две пары проводов, по которым передаются сигналы с амплитудой 250мв (а не 5В, как в параллельном АТА). На передающей стороне используются парафазные передатчики, а на приемной - дифференциальные усилители. Это значительно снижает искажающее влияние внешних электрических помех на передаваемые по линии сигналы. Данные передаются кадрами, транспортный уровень формирует и проверяет корректность информационных структур кадров (Frame Information Structure, FIS). Для облегчения высокоскоростной передачи на канальном уровне данные кодируются по схеме 8В/10В (8 бит данных кодируются 10-битным символом) и скремблируются, после чего по физической линии передаются по простейшему методу NRZ (Non Return to Zero) (уровень сигнала соответствует передаваемому биту). Использование логического кодирования 8В/10В позволяет с одной стороны избавиться от длинных последовательностей "нулей" в передаваемых данных, что позволяет использовать для передачи несамосинхронизирующийся физический код NRZ, а с другой стороны за счет избыточности кода 8В/10В контролировать правильность передаваемых байтов данных. Скремблирование позволяет избавиться от постоянной составляющей сигналов в линиях передачи. Между канальным и прикладным уровнем имеется транспортный уровень, отвечающий за доставку кадров. На каждом уровне имеются свои средства контроля достоверности и целостности. В первом поколении Serial ATA данные по кабелю передаются со скоростью 1500 Мбит/с, что с учетом кодирования 8В/10В обеспечивает скорость 150 Мбайт/с (без учета накладных расходов протоколов верхних уровней). В дальнейшем планируется повышать скорость передачи, и в интерфейсе заложена возможность согласования скоростей обмена по каждому интерфейсу в соответствии с возможностями хоста и устройства, а также качеством связи. Хост-адаптер имеет средства управления соединениями, программно эти средства доступны через специальные регистры Serial ATA.
В стандарте предусматривается управление энергорежимом интерфейсов. Каждый интерфейс кроме активного состояния может находиться в состояниях PARTIAL и SLUMBER с пониженным энергопотреблением, для выхода из которых требуется заметное время (10 мс).
Команды, требующие передачи данных, могут исполняться в различных режимах обмена. Обращение в режиме PIO и традиционный способ обмена по DMA (legacy DMA) выполняется аналогично параллельному интерфейсу ATA. Однако внутренний протокол обмена между хост-адаптером и устройствами позволяет передавать между ними разноплановую информацию (структуры FIS определены не только для команд, состояния и собственно хранимых данных). В приложении D к спецификации описывается весьма своеобразный способ обмена по DMA, который предполагается основным (First-party DMA) для устройств Serial ATA. В традиционном контроллере DMA адаптера ATA для каждого канала имеется буфер, в который перед выполнением операции обмена загружают дескрипторы блоков памяти, участвующей в обмене. Теперь же предполагается, что адресная информация, относящаяся к оперативной памяти хост компьютера, будет доводиться до устройства хранения, подключенного к адаптеру Serial ATA. Эта информация из устройства хранения при исполнении команд обмена выгружается в контроллер DMA хост-адаптера и используется им для формирования адреса текущей передачи. Мотивы и полезность этого нововведения не совсем понятны; расплатой за некоторое упрощение хост-адаптера (особенно многоканального) является усложнение протокола и расширение функций, выполняемых устройством хранения. Все-таки более привычно традиционное разделение функций, при котором задача устройств внешней памяти — хранить данные, «не интересуясь» тем, в каком месте оперативной памяти компьютера они должны находиться при операциях обмена.
Физический интерфейс Serial ATA
Последовательный интерфейс ATA, как и его параллельный предшественник, предназначен для подключений устройств внутри компьютера. Длина кабелей не превышает 1 м, при этом все соединения радиальные, каждое устройство подключается к хост-адаптеру своим кабелем. В стандарте предусматривается и непосредственное подключение устройств к разъемам кросс-платы с возможностью «горячей» замены.
Таблица 2.43. Разъем Serial ATA
-
Контакт
Цепь
Назначение
S1
GND
Экран
S2
А+
Дифференциальная пара сигналов А
S3
А-
Дифференциальная пара сигналов А
S4
GND
Экран
S5
В-
Дифференциальная пара сигналов В
S6
В+
Дифференциальная пара сигналов В
S7
GND
Экран
Ключи и свободное пространство
Р1
V33
Питание 3,3 В
Р2
V33
Питание 3,3 В
РЗ
V33
Питание 3,3 В, предзаряд
Р4
GND
Общий
Р5
GND
Общий
Р6
GND
Общий
Р7
V5
Питание 5 В, предзаряд
Р8
V5
Питание 5 В
Р9
V5
Питание 5 В
Р10
GND
Общий
Р11
Резерв
Р12
GND
Общий
Р13
V12
Питание 12 В, предзаряд
Р14
V12
Питание 12 В
Р15
V12
Питание 12 В
Стандарт определяет новый однорядный двухсегментный разъем с механическими ключами, препятствующими ошибочному подключению. Сигнальный сегмент имеет 7 контактов (S1-S7), питающий — 15 (Р1-Р15); все контакты расположены в один ряд с шагом 1,27 мм. Назначение контактов приведено в табл. 2.43. Малые размеры разъема (полная длина — около 36 мм) и малое количество цепей облегчают компоновку системных плат и карт расширения. Питающий сегмент может отсутствовать (устройство может получать питание и от обычного 4-контактного разъема ATA). Вид разъемов приведен на рис. 2.63. Для обеспечения «горячего» подключения контакты разъемов имеют разную длину, в первую очередь соединяются контакты «земли» Р4 и Р12, затем остальные «земли» и контакты предзаряда конденсаторов в цепях питания РЗ, Р7 и Р13 (для уменьшения броска потребляемого тока), после чего соединяются основные питающие контакты и сигнальные цепи.
Рис. 2.63. Разъемы Serial ATA: a — полный разъем на устройстве, б — сигнальный сегмент кабельного разъема, в — питающий сегмент кабельного разъема, г — сигнальный сегмент разъема хост-адаптера, д — разъем хоста для непосредственного подключения устройства
Регистры Serial ATA
Каждое устройство, подключенное к адаптеру Serial ATA, представляется тремя блоками регистров, два из которых соответствуют традиционным регистрам ATA и называются «теневыми», третий блок — новый. Привязка адресов блоков к адресному пространству хоста стандартом не регламентируется; для PCI-контроллера блоки задаются регистрами конфигурационного пространства и «теневые» регистры могут располагаться по стандартным адресам ATA (см. [51-53]). В блоке управляющих регистров, как и в ATA, используется лишь один (AS для чтения, DC для записи). В блоке командных регистров разрядность регистров SC, SN, CL и СН расширена до 16 бит, назначение младших байтов сохранилось. В режиме LBA старшие байты регистров SN, СL и СН несут биты логического адреса (24:31), (32:39) и (40:47) соответственно. В регистре D/H бит DEV игнорируется (при эмуляции пар устройств на одном канале бит DEV используется для выбора устройства). Из спецификации не совсем ясно, используются ли младшие биты D/H для задания бит LBA(27:24), поскольку эти же биты фигурируют в старшем байте SN.
Новый блок регистров SCR (Serial ATA Status and Control registers) состоит из 16 смежных 32-разрядных регистров SCR0-SCR15, из которых пока определены лишь 3 (остальные зарезервированы).
Регистр SStatus (SCR0) — регистр текущего состояния интерфейса хост адаптера (только чтение).
Регистр SError (SCR1) — регистр диагностической информации, относящейся к интерфейсу. В регистре представлены ошибки, накапливающиеся с момента последней очистки регистра. Регистр очищается операцией сброса, отдельные биты можно сбрасывать операцией записи в регистр (единицы в позициях сбрасываемых бит).
Регистр SControl (SCR2) — регистр управления интерфейсом (запись и чтение).
Описание форматов этих регистров можно найти в [51].
