Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4,a._Konspekt_1.doc
Скачиваний:
137
Добавлен:
22.08.2013
Размер:
2.97 Mб
Скачать

2.3.1.1. Архитектура 3gio

в начало

Архитектура 3GIO состоит из нескольких уровней (рисунке 2.8). Поддерживается совместимость с моделью адресации в PCI, чтобы обеспечить нормальную работу существующих приложений и драйверов. Процедуры конфигурирования в 3GIO используют стандартные механизмы Plug-and-Play, определенные в PCI. Созданные на программном уровне запросы на чтение и запись транспортируются уровнем транзакций на устройства ввода-вывода, работающие по протоколу, который поддерживает пакеты и транзакции. На канальном уровне к пакетам добавляются порядковые номера и циклический код коррекции ошибок (CRC), что обеспечивает высокую надежность передачи данных. Базовый физический уровень состоит из двойного симплексного канала, который реализован в виде принимающей и получающей пар проводников. Исходная скорость передачи 2,5 Гбит/с в каждом направлении обеспечивает канал связи со скоростью передачи данных 200 Мбайт/с, что в два раза выше, чем у стандартной шины PCI.

Рис.2.8. Деление 3GIO на уровни

Физический уровень.

Стандартное 3GIO-соединение состоит из двух низковольтных, раздельно управляемых сигнальных пар: передающей и принимающей (рисунок 2.9). Для достижения чрезвычайно высоких скоростей передачи данных применяется управляющий сигнал передачи данных со схемой кодировки 8b/10b. Базовая частота (скорость передачи) - 2,5 Гбит/с в каждом направлении; как ожидается, с развитием кремниевых технологий она возрастет до 10 Гбит/с (теоретический максимум для передачи сигналов с использованием медного носителя). Физический уровень пересылает пакеты между транспортными уровнями двух исполнительных устройств 3GIO.

Рис.2.9. 3GIO-соединение

Пропускная способность 3GIO легко линейно масштабируется путем добавления сигнальных пар, обеспечивающих дополнительные линии. Физический уровень поддерживает линии следующих кратностей: x1, x2, x4, x8, x12, x16 и x32, при этом байты данных распределяются по ним определенным образом. Поскольку информация передается по линии с кодированием, то распределение и сборка байтов данных выполняются "прозрачно" для других уровней.

В процессе инициализации каждое 3GIO-соединение устанавливается после согласования ширины связи и частоты использования между двумя исполнительными устройствами на концах соединения. При этом не требуется никаких встроенных программ или кода операционной системы.

Поддержка будущих требований к производительности в 3GIO обеспечивается за счет возможности повышения быстродействия и передовым методам кодирования. Эти требования (к скоростям, методам кодирования или носителям) окажут влияние лишь на физический уровень.

Канальный уровень.

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

Уровень транзакций.

Уровень транзакций принимает от программного уровня запросы на чтение и запись и создает пакеты запроса для передачи по канальному уровню. Все запросы реализованы в виде расщепленных транзакций, поэтому при пересылке некоторых пакетов запроса требуется получение пакета ответа. Уровень транзакций также отвечает за прием пакетов ответа от канального уровня и сопоставление их исходным запросам программного уровня. Каждый пакет оснащен уникальным идентификатором, что позволяет направлять ответные пакеты стороне, создавшей пакет запроса. В формате пакета предусмотрена поддержка стандартной 32-разрядной и расширенной 64-разрядной адресации памяти. У пакетов также имеются атрибуты, например "защищенный" (no-snoop), "низкий приоритет" (relaxed-ordering) и "приоритетный" (priority), которые служат для оптимизации маршрутизации пакетов через подсистему ввода-вывода.

Уровень транзакций поддерживает четыре адресных пространства: три пространства PCI (память, ввод-вывод и конфигурирование) и пространство сообщений (Message Space). Как известно, в спецификации PCI 2.2 определен дополнительный метод передачи прерываний MSI (Message Signaled Interrupt - "прерывание с сообщением"), в котором вместо аппаратного сигнала задействовалась операция записи в память особой информации. В спецификации 3GIO подход MSI применяется как основной метод обработки прерываний, а пространство сообщений используется для обработки всех служебных сигналов (например, прерываний, запросов управления питанием, сбросов и т. д.) как основных сообщений. Другие возможности стандарта PCI 2.2, такие как подтверждение (квитирование) прерываний, также реализованы в виде основных сообщений. Заметим, что сообщения 3GIO следует рассматривать как "виртуальные" коммуникационные линии, поскольку их задача - устранить массу существующих в настоящее время служебных сигналов.

Программные уровни.

Программная совместимость исключительно важна для межкомпонентных соединений ввода-вывода третьего поколения. Существуют две ее стороны: совместимость при инициализации (или перечислении) и совместимость во время выполнения. PCI обладает надежной моделью инициализации, позволяющей операционной системе сначала обнаружить все установленные аппаратные устройства, а затем распределить между ними системные ресурсы, такие как память, пространство ввода-вывода и прерывания, для создания оптимальной системной среды. Конфигурационное пространство PCI и программируемость устройств ввода-вывода - базовые понятия, оставшиеся неизменными в архитектуре 3GIO; фактически все ОС будут загружаться в 3GIO-системе без каких-либо дополнительных модификаций.

Имеющаяся в PCI программная модель сохранена в архитектуре 3GIO, что позволит без проблем пользоваться существующим ПО. А новым программам будут доступны новые возможности.

Механическая конструкция.

Небольшое количество линий в 3GIO-соединениях позволит обеспечить эволюционный подход к конструкции подсистемы ввода-вывода и революционный подход к делению системы на модули. Начальные реализации плат-расширений на базе 3GIO будут сосуществовать с действующими платами с форм-фактором PCI (как полноразмерными, так и с высотой в половину стандартной). Существуют две возможности поддержки механически совместимого с PCI подключения: например, для низкопроизводительных подключений с одной или двумя линиями можно использовать стандартный PCI-разъем, а для высокопроизводительных подключений к графической плате (четыре линии) применить новый соединитель, размещенный рядом с существующим PCI-разъемом, там, где раньше располагался ISA-разъем. Система будущего будет состоять из вычислительного "кирпича", полностью отделенного от компонентов пользовательского интерфейса ввода-вывода.

Производительность.

Дифференциальные 3GIO-подключения по схеме точка-точка обеспечивают высокоскоростную связь между компонентами с минимумом управляющих сигналов. В 3GIO из пространства сообщений изъяты все существовавшие ранее служебные сигналы, что позволило сократить число сигналов до минимума. На рисунке 2.10показаны результаты сравнительного изменения пропускной способности в расчете на вывод для различных шин. (Пропускная способность на вывод рассчитана как пиковая пропускная способность шины, деленная на общее количество выводов в компоненте, которое равно сумме числа выводов для передачи данных, адресных, управляющих, питающих выводов и заземления.)

Рис.2.10. Сравнение пропускной способности различных шин

Достигаемая благодаря архитектуре 3GIO скорость 100 Мбайт/с позволит обеспечить самую низкую стоимость изготовления при удовлетворении практически любых требований по пропускной способности.

Рабочая группа Arapahoe, которая в настоящее время разрабатывает спецификацию 3GIO, сотрудничает с отраслевой группой PCI-SIG (PCI Special Interest Group), стремясь к тому, чтобы изделия на основе 3GIO появились во второй половине 2003 г. Однако, как показывает история индустрии, путь к окончательной спецификации может оказаться довольно тернистым.

2.3.2. HyperTransport

в начало

Разработка шины Lightning Data Transfer (LDT) была начата AMD в 1997 году. Несколько позже к компании из Саннивэйл присоединились такие гиганты как API Networks, Apple Computer, Cisco Systems, Nvidia, PMC-Sierra, Sun Microsystems, немного позже Transmeta и Acer Laboratories и, буквально на днях, VIA Technologies, и другие компании, образовав HyperTransport Technology Consortium, который в настоящий момент насчитывает около 150 участников, больших и малых фирм, занимающихся разработкой программного и аппаратного обеспечения.

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

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

Устройства, поддерживающие протокол HyperTransport (процессоры, наборы логики, контроллеры) соединены по принципу «точка-точка» (peer-to-peer), что теоретически означает, что между собой могут быть соединены любые компоненты системы, причем без применения каких-либо коммутаторов или мостов. Каждое соединение состоит из субсоединения Передачи (Tx) и субсоединения Получения (Rx), работающих асинхронно. Передача данных организована в виде пакетов длиной до 64 байт (значение должно быть кратно четырем). Протокол HyperTransport предполагает передачу данных по обоим фронтам сигнала.

Таким образом, HyperTransport предоставляет инженерам и разработчикам огромную гибкость: в случае устройств с высокими требованиями к пропускной способности (процессоры) используется пара 32-х битных соединений с частотой в 800 МГц, обеспечивающие 6.4 ГБ/сек для Tx и 6.4 ГБ/сек для Rx соединения (результирующая линейная пропускная способность - 12.8 ГБ/сек), тогда как для сообщения между менее требовательными к скорости передачи данных компонентами (например, внутри какого-либо переносного устройства), можно задействовать четырехбитную (2 по 2 бита) магистраль, работающую на 200 МГц, что даст по 100 МБ/сек для каждого направления. HyperTransport в 10 раз быстрее, чем InfiniBand (1.25 МБ/с в четырехканальной реализации), в 12 раз — чем PCI-X (1 ГБ/с), и в 48 раз — чем PCI (266 МБ/с).

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

Следует отметить, что устройства с разными режимами передачи данных смогут работать вместе в режиме менее быстрого. Иными словами, предполагается возможность выбора режима работы компонента. Например, устройство с шиной в 16 бит может быть подключено к устройству с режимами работы от 2 до 8 бит. Это же самое устройство может быть подключено к более быстрому, с магистралью от 32 до 64 бит.

Мы также должны упомянуть, что HyperTransport программно совместим с текущим PCI, иначе говоря, все ПО, разработанное с учетом моделей адресации и инициализации протокола PCI, будет иметь возможность функционировать и на HyperTransport платформе.

В пользу HyperTransport говорит также и относительно небольшое количество выводов, требуемых для высокой скорости передачи данных. Пример показан на рисунке 2.11.

Ширина шины (в каждую сторону)

2

4

8

16

32

Количество контактов для данных

8

16

32

64

128

Количество контактов для задания несущей тактовой частоты (clock pins)

4

4

4

8

16

Контрольные контакты

4

4

4

4

4

Общее количество контактов для передачи данных

16

24

40

76

148

VLDT (питание)

2

2

3

6

10

GND (заземление)

4

6

10

19

37

PWROK (power ok)

1

1

1

1

1

RESET_L (reset)

1

1

1

1

1

HyperTransport Device Stop_l (опционально, для мобильных устройств)

---

---

---

---

---

Devreq_l (опционально, для мобильных устройств)

---

---

---

---

---

Общее количество контактов

24

34

55

103

197

Пиковая пропускная способность соединения (в обе стороны) при тактовой частоте в 800 МГц

0.8

1.6

3.2

6.4

12.8

«---» - нет данных (судя по всему, требуется один дополнительный контакт для HyperTransport Device Stop_l и еще один для Devreq_l).

В дополнение к таблице приведена иллюстрация:

Рис.2.11. Взаимодействие двух устройств.

Соседние файлы в предмете Системы ввода и вывода данных