Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Выcокопроизводительные параллельные интерфейсы



Шина PCI является синхронной 32- или 64-разрядной шиной, работающей на частоте 33 или 66 МГц. В современных ПК используется 32-разрядная 33 МГц шина PCI, хотя есть и исключения: наборы микросхем для ПК поддерживают 64-разрядную шину, в рабочих станциях Digital и Sun также используется 64-разрядная шина PCI.

Для уменьшения числа контактов в PCI применено мультиплексирование (передача адреса и данных по одним и тем же линиям в разные моменты времени). PCI позволяет использовать платы с напряжением питания 5 и 3,3 В.

Шина поддерживает несколько арбитров шины (multiply bus master). При передаче данных поддерживается кэширование и блочная передача. Шина PCI поддерживает автоматическое определение и конфигурирование плат расширения (Plug-n-play). Спецификация PCI позволяет создавать на одной плате многофункциональные устройства с числом функций до восьми (например, модем, звук, сетевой интерфейс и т. п

Максимально возможная скорость передачи данных по шине PCI составляет от 132 Мбайт/с для 32-бит/33 МГц до 528 Мбайт/с для 64-бит/66 МГц - реализаций шины. Система сигналов и шин приведена на рис.4. 4.

Рис. 4. 4. Система сигналов и шин интерфейса PCI

Слева реализованы обязательные сигналы и шины. Справа сигналы и шины расширения. Рассмотрим группы сигналов:

- шины Адрес/Данные – AD (31-00);

- шины управления (C/ BE), обеспечивающие в адресной фазе выбор и выполнение команды и в фазе данных – выбор количества байт, участвующих в транзакции;

- сигналы управления интерфейсом – FRAME, IRDY#, ТRDY#, STOP#, EVSEL#, IDSEL#.

- сигналы системных ошибок PERR#, SERR#;

- сигналы арбитража REQ#, GNT#;

- обеспечивающие системные сигналы CLK, RST#.

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

Основным режимом обмена по шине является программный блочный обмен данными. Рассмотрим пример транзакции чтения (рис.4. 5).

Рис.4. 5. Временная диаграмма транзакции чтения на шине PCI.

Процесс чтения состоит из двух фаз: фаза идентификации адреса агента транзакции и фаза передачи данных. В фазе идентификации адреса активное устройство выставляет адрес агента, реакцией целевого устройства является активизация сигнала DEVSEL#.

Через определенный временной промежуток (время ожидания данных на шине), целевое устройство выставляет первое слово (от 1 до 4 байт в зависимости от кода на шинах C/BE). Прием слова возможен при низком уровне сигналов IRDY (активное устройство может принять данные) и TRDY

(целевое устройство готово выдать данные). Данные в регистр активного устройства заносятся по тактовому сигналу CLK.

Как уже было сказано выше, существует несколько разновидностей стандарта PCI. Версия PCI-X имеет частоту на шине 133 МГц. При ширине шины 64 разряда, теоретически (если время ожидания готовности устройства равно 0) достижимая производительность составит: 133х8(байт) = 1064 Мбайт/c.

Другая версия стандарта PCI-X (266) позволяет данные фиксировать по обоим фронтам тактового сигнала CLK. (DDR – технология). Это позволяет увеличить производительность вдвое. И, наконец, технология QDR позволяет за один такт сигнала CLK передать четыре восьмибайтовых слова. В этом случае используют процедуру расщепления фазы. Другими словами, дополнительно к сигналу CLK формируется сдвинутая по фазе дополнительная тактовая последовательность и по каждой последовательности сигналов реализуется технология DDR. Производительность, таким образом, увеличивается до 4 Гбайт/c.

Стандарт на AGP (Accelerated Graphic Port — порт ускоренной графики) был разработан фирмой Intel для того, чтобы не меняя сложившийся стандарт на шину PCI, ускорить обмен данными с видеокарту и, кроме этого, увеличить производительность компьютера при обработке трехмерных изображений без установки дорогостоящих двухпроцессорных видеокарт с большими объемами как видеопамяти, так и памяти под текстуры, z -буфер и т.п. Этот стандарт был поддержан большим количеством фирм, входящих в AGP Implementors Forum, организацию, созданную на добровольной основе для внедрения этого стандарта. Адаптер порта содержит: акселератор — специализированный графический процессор; локальную память, используемую как видеопамять, и как локальное ОЗУ графического процессора; управляющие и конфигурационные регистры, доступные как локальному, так и центральному процессорам. Акселератор может обращаться и к локальной памяти, и к системному ОЗУ, в котором для него могут храниться наборы данных, не умещающиеся в локальной памяти (как правило, текстуры большого объема). Основная идея порта AGP заключается в предоставлении акселератору максимально быстрого доступа к системной памяти (при недостатке локальной памяти), более приоритетного, чем доступ к ОЗУ со стороны других устройств.

Порт AGP представляет собой 32-разрядный параллельный синхронный интерфейс с тактовой частотой 66 МГц, большая часть сигналов которого заимствована от шины PCI. Однако, в отличие от PCI, здесь исключен арбитраж, интерфейс AGP имеет архитектуру точка- точка (порт), соединяющий графический акселератор с памятью и системной шиной процессора каналами данных чипсета (" северного" моста) системной платы, не пересекаясь с "узким местом" — шиной PC I. Обмен через порт может происходить как по протоколу PCI, так и по протоколу AGP. Отличительные особенности порта AGP:

- конвейеризация обращений к памяти;

- умноженная относительно тактовой частоты порта частота передачи данных (2х/4х/8х);

- "внеполосная" подача команд (SBA), обеспеченная демультиплексированием шин адреса и данных.

Идею конвейеризации обращений к памяти иллюстрирует рис.4. 6, где сравниваются обращения к памяти по шине PCI и через порт AGP. В PCI во время реакции памяти или внешнего устройства на запрос шина простаивает (но не свободна). Конвейерный доступ AGP позволяет в это время передавать следующие запросы, а потом получать поток ответов независимо от задержки.

Рис.4. 6. Циклы обращения к памяти PCI и AGP

Умножение частоты передачи данных обеспечивает при частоте 66 МГц пиковую пропускную способность до 533 Мбайт/с в режиме 2х, до 1066 при 4х и до 2132 Мбайт/с при 8х. Выше 66 МГц тактовую частоту официально не поднимают.

Для шины AGP реализовано демультиплексирование (разделение) шины адреса и данных. С целью экономии числа интерфейсных линий шину адреса и команды в демультиплексированном режиме AGP представляют всего 8 линий SBA (SideBand Address), по которым команда, адрес и значение длины передачи передаются последовательно за несколько тактов. Поддержка демультиплексированной адресации не являлась обязательной для устройства AGP 1.0, поскольку имеется альтернативный способ передачи адреса по шине адрес/данные (AD). В версии AGP 2.0 она стала обязательной, а для AGP 3.0 это уже единственный способ передачи адреса.

Отметим, что порт AGP обеспечивает только потенциальные преимущества, которые могут быть реализованы лишь при поддержке аппаратными средствами графического адаптера и специального программного обеспечения (ПО). Графический адаптер с интерфейсом AGP может реально вести себя по-разному:

- не задействовать конвейеризацию, а использовать только быструю запись PCI (Fast Write);

- не работать с текстурами, расположенными в системной памяти, но обеспечивать более быстрый обмен данными между памятью и локальным буфером;

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

Как уже было сказано, порт AGP содержит практически полный набор сигналов шины PCI и дополнительные сигналы AGP. Устройство, подключаемое к порту AGP, может предназначаться как исключительно для операций AGP, так и для комбинированных операций AGP и PCI. Акселератор адаптера является мастером (ведущим устройством) порта AGP, свои запросы он может выполнять как в режиме AGP, так и в режиме PCI. В режиме AGP обмены выполняются с поддержкой (или без поддержки) таких свойств, как внеполосная адресация (SBA) и скорости 2х/4х/8х. Для транзакций в режиме AGP ему доступно только системное ОЗУ (но не локальная память устройств PCI). Кроме того, адаптер является целевым устройством PCI, для которого, помимо обычных команд PCI, может поддерживаться (или не поддерживаться) быстрая запись (Fast write) со скоростью 2х/4х/8х стороны процессора. В качестве целевого устройства адаптер выступает при обращениях ЦП к его локальной памяти, регистрам ввода-вывода и конфигурационного пространства.

Порт AGP позволяет акселератору работать в двух режимах — DMA и DIME (Direct Memory Execute). В режиме DMA акселератор при вычислениях рассматривает локальную память как первичную, а когда ее недостаточно, подкачивает в нее данные из основной памяти. В режиме DIME, он же режим исполнения (executive mode), локальная и основная память для акселератора логически равнозначны и располагаются в едином адресном пространстве. В режиме DMA для трафика порта характерны длительные блочные передачи, в режиме DIME трафик порта насыщен короткими произвольными запросами.

Спецификации AGP разрабатывались фирмой Intel на базе шины PCI 2.1 с частотой 66 МГц и имеется три основные версии спецификаций:

- AGP 1.0 (1996 г.) — определен порт с конвейерным обращением к памяти и двумя альтернативными способами подачи команд: внеполосной (по шине SBA) и внутриполосной (по сигналу РIРЕ#). Режимы передачи — 1х/2х, питание интерфейса — 3,3 В.

- AGP 2.0 (1998 г.) — добавлена возможность быстрой записи в режиме PCI (Fast Writes), а также режим 4х с питанием 1,5 В.

- AGP 3.0 (2002 г., проект назывался AGP8X) — добавлен режим 8х с питанием 0,8 В и динамическим инвертированием байтов, отменены скорости 1х и 2х; оставлен один способ подачи команд — внеполосный (SBA); исключены некоторые команды AGP; введены команды изохронного обмена; введена возможность выбора размера страниц, описанных в таблице GART; введена селективная поддержка когерентности при обращениях к разным страницам в пределах GART.

Порт AGP предназначен только для подключения "интеллектуального" графического адаптера, имеющего 3D -акселератор (только одного, за исключением AGP 3.0, который допускает подключение двух графических адаптеров).

Системная логика порта AGP отличается сложным контроллером памяти, который выполняет глубокую буферизацию и высокопроизводительное обслуживание запросов AGP (от адаптера) и других своих клиентов — центрального процессора (одного или нескольких) и шины PCI. AGP может реализовать всю пропускную способность 64-битной системы памяти современного компьютера. При этом возможны конкурирующие обращения к памяти со стороны как процессора, так и мостов шин PCI. В настоящее время порт AGP имеется во многих системных платах для PC -совместимых компьютеров и других платформ (даже Macintosh). Однако, на сегодняшний день происходит повсеместная замена порта AGP на последовательную высокопроизводительную шину PCI Express.

IDE (Integrated Drive Electronics) – это интерфейс, обеспечивающий передачу данных между внешними устройствами (дисковыми накопителями) и вычислительной системой. Первые IDE накопители и разъемы для них были разработаны инженерами фирм Western Digital, Compaq и CDC в 1984 году. Как стандарт интерфейс был принят институтом ANSI лишь в 1989 году. Интерфейс АТА разрабатывался для подключения накопителей на жестких магнитных дисках к компьютерам IBM PC AT с шиной ISA, и сигналы шины ISA служили базой для разработки физического интерфейса IDE. Из всех сигналов шины ISA выбрали минимальный набор сигналов, часть из которых буферизовали на небольшой плате, устанавливаемой в слот, а часть направили прямо на разъем ленточного кабеля нового интерфейса. Из сигналов системной шины ISA используются следующие:

- шина данных, используется полностью;

- шина адреса, три младших разряда адреса используются непосредственно, старшие разряды адреса и сигнал AEN проходят через дешифратор, вырабатывающий сигналы выбора устройства;

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

Принятая система команд и регистров, ориентирована на блочный обмен данными с устройствами, имеющими возможности обмена по каналу прямого доступа к памяти.

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

Оба устройства воспринимают команды от хост-адаптера одновременно. Однако исполнять команду будет лишь выбранное устройство. Если бит DEV =0, выбрано ведущее устройство, если DEV =1 - ведомое. Выходные сигналы на шину АТА имеет право выводить только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-адаптер не может переключиться на обслуживание другого до завершения начатой операции. Параллельно могут работать только устройства ID E, подключаемые к разным шинам (каналам) АТ А.

Параллельный интерфейс ATA представляет собой шину, в которой все сигналы соответствуют стандартной логике ТТЛ.

Все информационные сигналы интерфейса передаются через 40-контактный разъем. Для соединения устройств, применяется плоский многожильный кабель, длиной не более 0,46 м. Для устойчивой работы в режиме Ultra DMA рекомендуется применение 80-проводных кабелей, обеспечивающих чередование сигнальных цепей и проводов схемной земли (эти кабели "разделываются" на обычные 40-контактные разъемы).

Устройства и адаптеры, рассчитанные на использование Ultra DMA, должны иметь в сигнальных цепях последовательные согласующие резисторы с сопротивлением для различных цепей 22, 33 или 82 Ом. Спецификация АТА предусматривает использование 40-контактного сигнального и 4-контактного разъема питания, но для малогабаритных устройств питание может подаваться по 44-проводному интерфейсному кабелю.

Каждое устройство АТА имеет стандартный набор регистров, адресуемых сигналами от хост-адаптера. Набор регистров состоит из двух блоков. Блок командных регистров служит для посылки команд устройству и чтения информации о его состоянии. Блок управляющих регистров используется для управления устройством и получения более подробной информации о его состоянии. Протокол взаимодействия хоста с устройством выглядит следующим образом:

1. Хост читает регистр состояния устройства, дожидаясь нулевого значения разряда BSY. Если присутствуют два устройства, хост обращается к ним "наугад" – состояние будет сообщать последнее выбранное устройство.

2. Если устройство свободно, хост записывает в регистр DH байт, у которого разряд DEV указывает на адресуемое устройство. В этом причина невозможности параллельной работы двух устройств на одной шине АТА: обратиться к устройству можно только после освобождения обоих устройств.

3. Хост читает основной или альтернативный регистр состояния адресованного устройства, дожидаясь признака готовности (DRDY = "1").

4. Хост заносит требуемые параметры в блок командных регистров.

5. Хост записывает код команды в регистр команд.

6. Устройство устанавливает бит BSY и переходит к исполнению команды. Дальнейшие действия зависят от протокола передачи данных, заданного командой.

Для команд, не требующих передачи данных (ND):

7. Завершив исполнение команды, устройство сбрасывает бит BSY и устанавливает запрос прерывания (если он не запрещен). К этому моменту в регистрах состояния и ошибок уже имеется информация о результате исполнения. Выполнение завершается. Единичное значение бита BSY шагами 6 и 7 из-за скорости может быть не зафиксировано хостом, но для фиксации факта выполнения команды или ее части предназначен запрос прерывания.

Для команд, требующих чтения данных в режиме PIO (PI):

7. Подготовившись к передаче первого блока данных по шине АТА, устройство устанавливает бит DRQ. Если была ошибка, она фиксируется в регистрах состояния и ошибок. Далее устройство сбрасывает бит BSY и устанавливает запрос прерывания (если он не запрещен).

8. Зафиксировав сброс бита BSY (или по прерыванию), хост считывает регистр состояния, что приводит к сбросу прерывания от устройства.

9. Если хост обнаружил единичное значение бита DRQ, он производит чтение первого блока данных в режиме PIO (адресуясь к регистру данных). Если обнаружена ошибка, считанные данные могут быть недостоверными.

Программа взаимодействует с устройствами ATA через регистры, используя инструкции ввода/вывода IN и OUT. Для передачи данных, которую стремятся выполнять с максимальной скоростью, применяют программный доступ к регистру данных или обмен по каналу DMA. Тип обмена задается командой, причем, если программный доступ обязателен для всех устройств, команды, дублирующие те же функции в режиме DMA, устройствами могут и не поддерживаться.

Программный доступ PIO выполняется в виде следующих друг за другом операций чтения или записи в пространстве ввода/ вывода по адресу регистра данных. В отличие от программно-управляемого ввода/вывода, применяемого, например, для общения с LPT -портом, передача блока данных в режиме PIO производится без программного опроса какого-либо бита готовности для передачи каждого слова. Готовность устройства проверяется только перед началом передачи блока, после чего хост имеет право произвести серию операций в определенном темпе. Этот темп определяется выбранным режимом PIO Mode, для каждого из которых определены допустимые границы всех параметров временной диаграммы цикла обмена.

Высокопроизводительные адаптеры ATA могут иметь собственные более эффективные контроллеры. Режимы обмена по каналу DMA могут быть одиночными и множественными. При поточном режиме на сигнал запроса хост отвечает потоком циклов DMA. Если устройство не справляется с этим потоком, оно может приостановить поток, а по готовности к продолжению, снова его установить. Поточный режим позволяет развивать более высокую скорость передачи. Более поздние достижения в повышении скорости обмена – режимы Ultra DMA, позволяющие достигнуть скорости передачи по шине ATA 33 Мбайт/с и обеспечить контроль достоверности передач.

Стандартом ATA-4 определено 3 режима Ultra DMA (0, 1 и 2), выбор режима осуществляется с помощью команд. В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации используются оба перепада сигналов. Это позволяет повысить пропускную способность шины, не увеличивая максимальную частоту переключений сигналов.

Правильный выбор режима обмена обеспечит надежную работу и высокую производительность устройства. Все устройства обязаны поддерживать режим PIO Mode 0, в котором может быть считан блок параметров идентификации. В этом блоке имеются поля, описывающие режим обмена по умолчанию и, возможно, более эффективные режимы обмена, поддерживаемые данным устройством. Командой можно изменить параметры режима обмена. Случается, что реально накопитель не обеспечивает надежной передачи данных в заявленном высокоскоростном режиме обмена. При этом данные будут записываться или считываться с диска с ошибками, не выявляемыми никакими схемами контроля. Если при работе с накопителями возникает недоверие к сохранности данных, первым делом стоит выбрать режим обмена данными с меньшей производительностью.

Главная система ввода-вывода (BIOS) обычно определяет режим обмена с каждым устройством индивидуально с учетом ограничений, заданных в Setup. Старые IDE -диски, не сообщающие своих параметров, могут не работать с разрешенными старшими режимами PIO. На одном шлейфе (канале ATA) могут присутствовать устройства, поддерживающие разные режимы обмена - спецификация ATA это допускает. Однако реально могут проявиться аппаратные или программные ограничения. Некоторые микросхемы системных плат, в которые входят и IDE -адаптеры, не позволяют программировать режим обмена индивидуально для каждого устройства, подключенного к каналу ATA. В таком случае при подключении двух устройств с разными возможностями (например, PIO Mode 1 и 3) с обоими устройствами обмен будет происходить со скоростью меньшего (в данном случае PIO Mode 1).

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

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

Простейший адаптер ATA содержит только буферы сигналов шины и дешифратор зоны адресов. Все регистры контроллера и схемы кодирования размещены в самом устройстве IDE. Шина ATA требует выделения системных ресурсов - обязательно двух областей портов ввода/вывода и линии прерывания, и дополнительно может использоваться канал DMA. Поскольку интерфейс ATA пришел на смену традиционному контроллеру жесткого диска, ему и выделили ресурсы, ранее используемые данным контроллером. Так были определены ресурсы для первого канала, который чаще всего был и единственным. Второму каналу назначили ресурсы альтернативного контроллера жестких дисков, предусмотренного архитектурой AT.

Ресурсы, используемые 3-м и 4-м каналами, могут конфликтовать с другими устройствами (так, IRQ 12 используется мышью PS/2, IRQ 10 - обычно занимается сетевой картой).

Более сложные адаптеры ATA содержат собственный контроллер DM A. На современных системных платах с шиной PCI фактическим стандартом является установка двухканального адаптера, обычно занимающего ресурсы каналов 1 и 2. Этот адаптер обеспечивает шинам ATA 16-битные каналы DMA, поддерживающие высокоскоростные режимы обмена. Двухканальные контроллеры могут быть реализованы по-разному. В идеальном варианте они имеют шины, полностью изолированные друг от друга буферными и логическими схемами. В самом дешевом варианте они могут использовать общие буферы для линий данных и управляющих сигналов и отдельные только для некоторых сугубо индивидуальных сигналов. Логически это оправдано, но с точки зрения нагрузочной способности (влияния паразитных параметров) имеются ограничения для такой разделяемой шины: суммарная длина обоих шлейфов не должна превышать 46 см. Если эти ограничения нарушаются, на высокоскоростных режимах обмена возможны проблемы, выражающиеся и в неконтролируемых искажениях передаваемых данных.

Первые дисковые накопители IDE представляли собой просто аналог пары диск-контроллер ST-506/412, выполненной в едином конструктиве. Эти устройства с современной точки зрения были примитивными, за что и были впоследствии причислены к категории неинтеллектуальных устройств со встроенным контроллером - Non-Intelligent IDE. Эти устройства не выполняли трансляцию нумерации секторов - их логические параметры всегда совпадали с физическими. Команды идентификации устройства и установки параметров ими не выполнялись. Дефектные блоки, отмеченные в заводском списке и появляющиеся в процессе эксплуатации, были видны пользователю. Низкоуровневое форматирование этими устройствами выполнялось непосредственно по команде, так что неудачное форматирование могло понизить производительность из-за нарушения оптимальных установок чередования и смещения.

Для шины PCI существует стандартный вариант контроллера IDE. Для контроллера определены два режима распределения ресурсов:

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

- естественный режим PCI, в котором базовые адреса блоков регистров и линии прерывания задаются в регистрах конфигурационного пространства и могут быть произвольно перемещаемы в любую область.

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

В режиме PCI с перемещаемыми ресурсами контроллер может находиться на любой шине.

Конкретный контроллер может поддерживать изменение режима или один из режимов. Если контроллер по умолчанию (или всегда) работает в режиме совместимости, то для ПО он "прозрачен"- работа с ним не отличается от традиционного контроллера АТА. Текущий режим и возможность его смены отражается в байте программного интерфейса, являющегося последним элементом идентификатора класса устройства.

Интерфейс SCSI. По физической реализации интерфейс является 8-битной параллельной шиной с тактовой частотой 5 МГц. Шина допускает подключение до 8 устройств(включая контроллер), скорость передачи данных в первоначальной версии достигала 5 Мбайт/с. В1991 г. появилась спецификация - SCSI-2, расширяющая возможности шины как в количественных, так и в качественных показателях. Тактовая частота шины Fast SCSI-2 достигала 10 МГц, а Ultra SCSI-2 - 20 МГц. Разрядность данных может быть увеличена до 16 бит - эта версия называется Wide SCSI-2 (широкий), а 8-битную версию назвали Narrow (узкий). 16-битная шина позволяет увеличивать число устройств до 16. Стандарт SCSI-2 определяет и 32-битную версию интерфейса, но такие устройства распространения не получили из-за неоправданно высокой стоимости интерфейса. Комбинации тактовой частоты и разрядности обеспечивают широкий диапазон пропускной способности, достигающей 40 Мбайт/с для реальной версии Ultra Wide SCSI-2.

Для интерфейса SCSI необходимо наличие терминаторов — согласующих сопротивлений. Высокая чувствительность к качеству изготовления кабелей и к их длине, характерна для интерфейса SCSI.

Спецификация SCSI-2 определяет систему команд, которая включает набор базовых команд, обязательных для всех периферийных устройств, и специфических команд для периферии различных классов. Стандарт полностью описывает протокол взаимодействия устройств на шине, включая структуры передаваемой информации. Поддержка устройствами возможности исполнения цепочек команд, очередей (до 256 команд) и независимости их работы друг от друга обуславливают высокую эффективность применения SCSI в многозадачных системах. Возможность присутствия на шине более одного контроллера (инициатора обмена) позволяет обеспечить разделяемое использование периферии несколькими компьютерами, подключенными к одной шине.
SCSI-3 - дальнейшее развитие стандарта, направленное на увеличение количества подключаемых устройств, спецификацию дополнительных команд, поддержку Plug and Play. SCSI-3 существует в виде широкого спектра документов, определяющих отдельные стороны интерфейса. Транспортный уровень может использовать различные протоколы с соответствующей поддержкой физических соединений:

SIP (SCSI-3 Interlocked Protocol) - протокол обмена традиционного интерфейса, физически реализуемый параллельным интерфейсом SCSI.

FCP (Fibre Channel Protocol) - протокол оптоволоконного канала с соответствующим физическим уровнем FC-PH со скоростью передачи данных 100 Мбайт/с.

SBP (Serial Bus Protocol) - протокол последовательной шины, реализуемый интерфейсом 1394 (FireWire).

GPP (Generic Packetized Protocol) - обобщенный пакетный протокол, реализуемый любым пакетным интерфейсом.

SSP (Serial Storage Protocol) - последовательный протокол памяти.

В настоящее время наибольшее распространение имеют устройства SCSI-2 и SCSI-3, которые в значительной степени сохраняют совместимость и с исходной версией, теперь называемой SCSI-1.

Основными характеристиками шины SCSI являются:

- Ширина шины - 8 или 16 бит. Или, другими словами, " narrow " или " wide ".

- Скорость (частота, с которой тактируется шина). Максимальную скорость передачи устройство-контроллер легко подсчитать. Для этого нужно знать частоту шины, а в случае наличия " Wide " умножить ее на 2.

- Физический тип интерфейса (однополярный, дифференциальный, оптоволокно). Дифференциальный вариант обеспечивает повышенную помехозащищенность и увеличенную допустимую длину шины SCSI.

Интерфейс с низкоуровневыми сигналами (Low-voltage) применяется с новым протоколом Ultra2. Интерфейс высокоуровневыми сигналами (Single connector) используются в основном в hot-swap конфигурациях, т.к. объединяют сигналы SCSI питания и заземления в одном разъеме.

Разновидность интерфейса Fibre Channel(FC) используется как интерфейс для сетей хранения данных (последовательный интерфейс). Скорость в 1Гбит/с для него вполне обычна. Применяется в Hi-End конфигурациях.

Программное обеспечение для интерфейса SCSI не оперирует физическими характеристиками накопителя (то есть числом цилиндров, головок и т. д.), а имеет дело только с логическими блоками данных, поэтому в одной SCSI -цепочке с легкостью уживаются, например, сканер, жесткий диск и накопитель CD-R.

Опрос устройств производится контроллером SCSI сразу после включения питания. При этом для устройств SCSI реализовано автоконфигурирование устройств (Plug-n-play) по протоколу SCAM (SCSI Configured AutoMagically), в котором значения SCSI ID выделяются автоматически. Для стандартизированного управления SCSI -устройствами наиболее широко применяется программный интерфейс ASPI (Advanced SCSI Programming Interface).

Фазы шины SCSI. В каждый конкретный момент времени шина SCSI может находиться только в одной из перечисленных фаз:

1. Bus Free – шина находится в состоянии покоя.

2. Arbitration – устройство (ИУ) может получить право на управление шиной.

3.1. Selection – инициатор, выигравший арбитраж, выбирает ЦУ (только одно), с которым он будет работать.

3.2. Reselection – аналогична предыдущей, но её вводит целевое устройство. Т.е. ИУ и ЦУ меняются ролями – ЦУ вызывает ИУ. Эта фаза появляется в том случае, когда целевое устройство на время исполнения команды отключалось от шины (disconnection). По завершении внутренней операции это устройство, выиграв арбитраж, будет вызывать инициатора, который ранее породил исполнение этой операции.

4. Command In (Out), Data In (Out), Status, Message In (Out) – информационные фазы (по шине данных передается информация).

Последовательность фаз представлена на рис. 4.7.

Рис. 4.7. Последовательность фаз шины SCSI

Временные диаграммы асинхронного обмена приведены на рис. 4.8. Здесь передача каждого байта сопровождается взаимосвязанной парой сигналов REQ#/ACK#. Инициатор фиксирует принимаемые данные, получив сигнал REQ# (по отрицательному перепаду). Целевое устройство считает принимаемые данные действительными по отрицательному перепаду сигнала ACK#. Асинхронный обмен поддерживается всеми устройствами для всех фаз передачи информации.

Рис. 4.8. Временные диаграммы асинхронного обмена

Фазы передачи данных Data OUT и Data IN по предварительной "договоренности" устройств могут выполняться и в синхронном режиме обмена. При согласовании синхронного режима определяется минимальные длительности и периоды управляющих импульсов ACK# и REQ#, а также допустимое отставание подтверждений от запросов (REQ/ACK offset agreement). Целевое устройство передает серию данных, сопровождаемых стробами REQ#

(рис. 4.9) в темпе, ограниченном установленными временными параметрами. Инициатор фиксирует принимаемые данные по отрицательному перепаду сигнала REQ#, но отвечать на них сигналом ACK# может с некоторым опозданием. Как только отставание количества принятых сигналов ACK# от количества посланных REQ# достигнет оговоренного предельного значения (в данном примере 2), целевое устройство приостановит обмен до прихода очередного подтверждения ACK#. Операция будет считаться завершенной, когда число принятых подтверждений совпадет с числом посланных запросов (и байт данных). При приеме данных целевым устройством механизм согласования остается тем же, но данные фиксируются по отрицательному перепаду сигнала ACK#.

Рис. 4.9. Временные диаграммы синхронной передачи

После фазы Selection ИУ может проводить процедуру тайм-аута выбора (Selection Time-Out), которая может быть реализована двумя методами:

1. Hard Reset.

2. Переход в фазу Bus Free.

Для реализации фазы Reselection во всех вышеприведенных фазах Initiator и Target меняются местами в вопросах выполнения действий.

В любом случае завершающей фазой является фаза Message In, в которой передается сообщение Disconnect или Command Complete, после чего шина переходит в состояние Bus Free.

В любой системе SCSI предусмотрена возможность сброса системы (Reset), для чего имеется линия Reset, на которую может быть выставлен сигнал сброса в любое время и любым устройством. Обработка сигнала Reset может быть реализована двумя методами:

1. Жёсткий сброс (Hard Reset) – аналогичен отключению питания для всех устройств системы SCSI.

2. Мягкий сброс (Soft Reset) – позволяет одному инициатору выполнить сброс шины SCSI, не нарушая работы других инициаторов в системе, где таких инициаторов несколько.

Сигналы управления шиной Интерфейс SCSI использует девять сигналов управления, активным уровнем которых является низкий уровень сигнала: BSY (Занят), SEL (Выбор), C/D (Управление/Данные), I/O (Ввод/Вывод ), MSG (Сообщение ), REQ (Запрос), ACK (Подтверждение), RST (Сброс), ATN (Внимание).

Источники вышеприведённых сигналов приведены в табл.4.1.

Таблица 4.1

Сигнал BSY SEL C/D I/O MSG REQ ACK RST ATN
Источник ИУ, ЦУ ИУ, ЦУ ЦУ ЦУ ЦУ ЦУ ИУ ИУ, ЦУ ИУ

Между фазами передачи информации сигналы Busy, Select, REQ, ACK должны оставаться в неизменном состоянии, меняться могут только значения сигналов Msg, C/D, I/O.

Конфигурирование устройств SCSI. Все устройства на шине должны быть согласованно сконфигурированы. Для них требуется программно или с помощью переключателей установить следующие основные параметры:

- Идентификатор устройства - SCSI ID - адрес 0-7 (для Wide-SCSI допустимы адреса 0-15), уникальный для каждого устройства на шине. Обычно хост-адаптеру, который должен иметь высший приоритет, назначается адрес 7 (15 для Wide SCSI).

- Контроль паритета - SCSI Parity. Если хоть одно устройство на шине не поддерживает контроль паритета, он должен быть отключен на всех устройствах данной шины. Контроль паритета, особенно для дисковых устройств, является надежным средством защиты от искажения данных при передаче по шине.

- Включение терминаторов - Termination. В современных устройствах применяются активные терминаторы, которые могут включаться одним джампером или даже программно-управляемым сигналом. Терминаторы должны быть включены только на крайних устройствах в цепочке. Современные хост-адаптеры позволяют автоматически включать свой терминатор, если они являются крайними, и отключать, если используются внутренний и внешний разъем канала. Корректность использования терминаторов имеет существенное значение - отсутствие одного из терминаторов, или, наоборот, лишний терминатор может привести к неустойчивости или потере работоспособности интерфейса.

- Питание терминаторов - Terminator Power. Питание терминаторов переключателем или программно должно быть включено хотя бы на одном устройстве, когда используются активные терминаторы (а для современных устройств это означает "всегда").

- Согласование скорости синхронного обмена - SCSI Synchronous Negotiation. Режим синхронного обмена, обеспечивающий высокую производительность, включается по взаимному согласованию устройств. Однако если хоть одно устройство на шине его не поддерживает, согласование необходимо запретить на хост-адаптере. При этом, если обмен будет инициирован синхронным устройством, хост-адаптер поддержит этот режим.

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

- Разрешение отключения - Enable Disconnection. Выбор этой опции позволяет устройствам отключаться от шины при неготовности данных во время длительных операций с носителем, что весьма эффективно используется в многозадачном режиме при нескольких периферийных устройствах на шине. Однако в случае одного устройства на шине отключение приведет только к дополнительным затратам времени на повторное соединение.

Система команд SCSI. Система команд SCSI включает общие команды, применимые для устройств всех классов, и специфические для каждого класса. Все команды делятся на три категории:

- обязательные (mandatory);

- дополнительные (optional);

- фирменные (vendor specific).

Любое SCSI-устройство должно поддерживать обязательные команды общего набора и своего класса, чем обеспечивается высокий уровень совместимости. Команды SCSI для устройств прямого доступа (Direct-Access Devices) приведены в [ ].

Некоторые команды сопровождаются блоком параметров, следующим за блоком дескриптора команды. Форматы блоков стандартизированы, длина блока определяется кодом операции, который всегда является первым байтом блока и может составлять 6, 10 или 12 байтов.

Любое ЦУ SCSI должно поддерживать четыре команды: Inquiry, Request Sense, Send Diagnostic, Test Unit Ready.

Рассмотрим структуру команды SCSI на примере 6-байтной команды Copy. (См. таблицу 4.2).

Таблица 4.2

Byte\Bit                        
                  Operation Code
              LUN Reserved Pad
    Parameter List Length (MSB)
    Parameter List Length
    Parameter List Length (LSB)
                Vendor Unique Reser Flag Link

Байт 5 является контрольным (Control byte);

Operation Code – код операции 18h;

LUN – Logical Unit Number, номер логического блока;

Reserved – зарезервировано для последующих стандартов, должны быть записаны нули;

Parameter List Length – длина списка параметров (MSB – старший байт, LSB – младший байт);

Vendor Unique – определяется разработчиком (изготовителем);

Flag – определяет сообщение, передаваемое в случае успешного выполнения команд цепочки;

Link – признак объединения команд в цепочку;

Pad – используется в связке с Cat bit, определяет, какое действие будет следующим, если сегмент копирования не соответствует точному числу блоков назначения.

Команда копирования обеспечивает возможность копирования данных с одного логического блока на другой или на тот же логический блок. Логические блоки могут располагаться на разных устройствах SCSI либо на одном и том же. Некоторые устройства SCSI могут не поддерживать операцию копирования для "третьей стороны", где копирующее устройство не является исходным устройством или устройством назначения. Некоторые устройства SCSI поддерживают только операции копирования в рамках одного устройства SCSI, но без участия других устройств SCSI.

Parameter List Length указывает число байтов параметров, которые должны быть переданы во время выполнения фазы Data Out команды.

Совместно с развитием интерфейса SCSI развивались и аппаратные средства для его поддержки. В начале своего развития это были регистро - ориентированные устройства требующие для своего управления отдельного микропроцессора и специального программного обеспечения. Внешний процессор должен был записывать в регистры контроллера сигналы, выставляемые на шину SCSI, и также мог считать действительное ее состояние. Таким образом контроль состояний на шине практически полностью осуществлялся внешней программой.

В качестве примера такого контроллера можно привести DP5380 фирмы National Semiconductors или его аналога Z53C80 фирмы Zilog, которые были выпущены в 1992 г. Оба могли работать в режиме инициатора и исполнителя, поддерживали прямой доступ к памяти (ПДП) и автоматически распознавали последовательность REQ/ACK при передачи данных, на шине SCSI. Также поддерживали такие SCSI операции, как арбитраж и состояние ожидания фазы Selection/Reselection.

Контроллер имел следующие характеристики:

ПДП или программируемая передача данных; поддержка арбитража; поддержка блочных ПДП передач; асинхронная передача данных со скоростью до 3 Мбайт/с; поддержка режима инициатора и исполнителя; выходные приемники/передатчики с выходным током до 48 мА.

Структурная схема контроллера представлена на рис.4.1 0. Блок контроля логики шины SCSI выполняет функции определения фазы Selection/Reselection и Arbitration. В случае обнаружения таких состояний, выставлял прерывание внешнему процессору. Также в его функции входило выполнение протокола передачи данных (последовательности Req/Ack) при работе контроллера в режиме ПДП. Для получения возможности работы в ПДП режиме необходимо было наличие внешнего контроллера ПДП, который нужно настроить на начальный адрес памяти и количество передаваемых байт. После передачи последнего байта (определяется появлением сигнала - EOP) контроллер выставляет прерывание о завершении передачи информации.

Рисунок 4.10. Блок схема контроллера DP5380

Что бы решить проблему обеспечения требований стандарта без использования дополнительных "интеллектуальных" средств стали использовать машины состояний на кристалле контроллера. Контроллер получал команду от ведущего процессора и руководствуясь машиной состояний выполнял ее. Например, командно-ориентированный контроллер Am53C974A фирмы Advanced Micro Device - AMD) [ ]. Данный контроллер мог исполнять 22 команды. Команды делились на две группы - команды ПДП и без ПДП. При работе без ПДП данные проходили только через SCSI FIFO и буферизовалисья там.

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

Однако, структура такого контроллера не предоставляет необходимой гибкости и недостаточно освобождает процессор. Решением данной проблемы можно считать использование вместо жестко заданной машины состояний микропроцессор с изменяемой памятью программ, т.е. программно - ориентированный контроллер. Поэтому на данном этапе большинство фирм для реализации функции контроля и управления включают в состав микросхемы от одного до двух RISC -процессоров. Примером является контроллер SYM53C845 фирмы Symbios Logic Inc. Контроллер рассчитан на стандарт SCSI-2, хотя и совместим со стандартом SCSI-3. Контроллер состоит из следующих частей: это высокопроизводительное SCSI ядро, ядро PCI мастера, и SCSI Risk–CPU процессор который позволяет гибко приспосабливаться к требованиям стандартов SCSI. Микросхема полностью совместима с программным обеспечением которое поддерживает Common Access Method (CAM) (общий метод доступа), и ANSI Advanced SCSI Protocol Interface (ASPI) (улучшенный протокол интерфейса со SCSI). Поддерживает максимальную скорость передачи по SCSI - интерфейсу в асинхронном режиме 5 Мбайт/с, в синхронном 10 Мбайт/с.

Контроллер полностью проводит последовательность операций на SCSI шине без прерываний процессора и имеет следующие технические характеристики:

- скорость передачи данных по шине SCSI в асинхронном режиме

-5 Мбайт/с, в синхронном 10 Мбайт/с;

максимальная скорость передачи в пакетном режиме по шине PCI

- 132 Мбайт/с;

- емкость FIFO буфера для ПДП -64 байта;

- имеется возможность маскирования всех прерываний;

- имеется программируемый SCSI - таймер (время выбора/перевыбора, время между REQ/ACK, и т.д.);

-емкость EPROM -2 Кбайт.

Микроархитектура контроллера представлена на рис. 4.11.


Рисунок 4.11. Блок схема SCSI контроллера NCR53C810

Интерфейсная часть блока PCI связывает регистры контроллера с внешней шиной. Там же находиться контроллер ПДП. Который производит передачу информации между FIFO ПДП и шиной PCI адресуя ее во внешнею память.

В SCSI блоке соответственно располагается управляющий блок интерфейса шины SCSI. Он содержит программируемый таймер, блок контроля фазы шины SCSI, и контроллер передачи информации.

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

Для достижения совместной работы всех блоков устройства применяется SCSI Risk–CPU - процессор. По своей структуре это RISC - подобный микропроцессор, т.е. он выполняет за один такт одну команду. Процессор может адресоваться к внутренней памяти, регистрам контроллера, а также через контроллер ПДП и к внешней памяти. Он также в любой момент может принять команду от главного процессора, при этом прерывая исполнение текущей программы.

Контроллер имеет набор из нескольких команд, характерных для других, не специализированных микропроцессоров [14].





Дата публикования: 2015-07-22; Прочитано: 1999 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.045 с)...