Введение

Общая производительность компьютера, не беря во внимание работу с жесткими дисками, зависит от трех компонент — процессора, памяти и видеосистемы. Каждая из них в той или иной мере влияет на быстродействие в отдельных приложениях. Например, скорость работы с графическими данными зависит чаще всего от видеосистемы. Как же быть, если производительность этих трех компонент настолько велика, что системная шина, соединяющая их, не позволяет нарастить быстродействие системы в целом? Вместе с показателями процессорной шины растет пропускная способность памяти. Ведь набор микросхем обычно имеет хабовую архитектуру (рис. 20), которая включает концентраторы памяти и подсистемы ввода-вывода. Причина такого разбиения в том, что шина памяти обычно изменяется вместе с приходом нового поколения процессоров. Не секрет, что одна из главных функций набора микросхем - служить неким буфером между быстро изменяющейся шиной памяти и практически не обновляемой шиной ввода-вывода.

Именно этот факт побуждает производителей к изменениям спецификации шины PCI и увеличению ее пропускной способности. Внутренняя шина компьютера на текущий момент является "Узким местом" при передаче данных между компонентами; именно она не позволяет наращивать производительность. В настоящее время полным ходом ведутся работы над новыми стандартами системных шин, для того чтобы через 2 года они могли быть реализованы в железе. Спецификации некоторых из них уже сейчас практически готовы, и в ближайшее время появятся продукты, реализующие их преимущества. Как вы уже наверно поняли, далее речь пойдет о технологиях Arapahoe и HyperTransport, призванных заменить системную шину PCI, которая медленно, но уверенно устаревает и перестает удовлетворять современным требованиям.

Задача увеличения пропускной способности PCI (Peripheral Component Interconnect) встала перед инженерами достаточно давно. Появление спецификации AGP — это результат изменений в архитектуре, призванных увеличить производительность компьютера в целом за счет ускорения пересылки графических данных. В настоящий момент шина ISA практически закончила свое существование, передав свои функции шине PCI. Частично ее функции взяла на себя USB (Universal Serial Bus). Одна технология устаревает — на смену ей приходит другая, и вполне возможно, что не одна, а сразу несколько.

Современная системная шина — это не просто "проводочки", соединяющие отдельные устройства. Это прежде всего протокол, с помощью которого происходит обмен данными, и главная проблема состоит именно в разработке этого протокола. Увеличение тактовых частот процессоров, появление таких видов памяти как DDR RAM и Rambus с большой пропускной способностью накладывает свой отпечаток на работу компьютера. Шина перестает справляться с нагрузками, не позволяя наращивать производительность системы за счет увеличения скорости работы процессоров, видеокарт и памяти.

В настоящий момент мы являемся свидетелями изменения приоритетов в индустрии высоких технологий. После того как Intel и AMD оптимизировали свои CPU, они обратили внимание на то, что производительность компьютера можно увеличить еще и за счет оптимизации чипсетов. Следующей на очереди стала память, в результате чего были разработаны спецификации Rambus DRAM и DDR RAM (хотя разработки этих видов памяти велись сторонними фирмами, известно, какое влияние оказали Intel и AMD на их реализацию). Следующим же этапом этой гонки стала борьба за увеличение пропускной способности системной шины. А результатом ее станут, как можно предположить, не только денежные поступления, но и выигрыш в сражении между архитектурами.

Проблема увеличения пропускной способности системной шины затрагивает интересы многих фирм, но прежде всего — производителей процессоров, памяти и видеочипов/видеокарт. Ранее решением проблем такого типа занималась неприбыльная организация PCI Special Interest Group (PCI SIG), в обязанности которой входила разработка, реализация и поддержка спецификации шины PCI. В настоящий момент на рынке образованы две группы, которые продвигают свои собственные стандарты. Первую, под названием HyperTransport Technology Consortium (HTTC), возглавляет AMD. Эта группа продвигает на рынок стандарт под названием HyperTransport. Вторая группа, возглавляемая Intel, имеет название Arapahoe Working Group. Стандарт Arapahoe, продвигаемый этой неприбыльной организацией, призван заменить шину PCI-X (табл. 17).

Конкуренция между двумя полупроводниковыми гигантами с рынков процессоров и чипсетов перебросилась на рынок архитектур системных шин. В настоящий момент эти стандарты позиционируются на рынок как открытые, но за то время, которое пройдет до их реализации в железе, может многое измениться. Открытый стандарт может превратиться в закрытый, а это повлечет за собой лицензионные отчисления каждого производителя компонентов, который будет использовать этот стандарт. Поэтому вполне понятным становится желание ведущих производителей процессоров откусить лакомый кусочек от этого огромного денежного пирога. Ведь выгода от этого двойная: во-первых, это деньги, которые принесет спецификация в результате лицензионных соглашений, во-вторых — оптимизация архитектуры шины под свои CPU позволит более жестко играть и на процессорном рынке. Однако проблем от такого разделения рынка может быть больше, чем преимуществ. "Arapahoe, продвигаемая на рынок Arapahoe Working Group, и HyperTransport, продвигаемая на рынок HTTC, могут привести к разделению архитектур рынка компьютеров", — заявил Габриэль Сартори (Gabriele Sartori), президент HyperTransport Technology Consortium. Результаты такого разделения могут быть похлеще того, что мы получили в связи с различием между разъемами для процессоров от Intel и AMD.

Фактически, одновременное присутствие на рынке двух шин (причем весьма вероятно, что один отдельно взятый чипсет будет поддерживать либо одну, либо другую, но не обе вместе) может повлечь за собой переориентацию производителей компонентов на платформу только одного из двух производителей, с полным отказом от второго. И, к примеру, видеокарту от NVIDIA, ориентированную только на шину HyperTransport, нельзя будет использовать на платформе Intel или, вполне возможно, для ее корректной работы нужен будет переходник, что не только повысит цену компьютера, но и уменьшит производительность. Но не буду пугать читателя страшными прогнозами, для которых пока нет реальных оснований, так как о равноправной конкуренции этих архитектур говорить еще очень рано. Пожалуй, главным аргументом в борьбе шинных спецификаций является тот факт, что фирма AMD готова выпустить на рынок продукты, поддерживающие HyperTransport, в этом году. Intel же не готова к такому шагу, так как спецификация Arapahoe находится лишь на стадии разработки и сможет увидеть свет только в конце 2003 года. Но обо все по порядку. Хотя стандарты еще не реализованы, информации о них скопилось достаточно, чтобы попытаться сравнить их, что мы с вами и сделаем.


Arapahoe (3GIO)

1. Arapahoe (3GIO)

Стандарт системной шины, продвигаемый на рынок Arapahoe Working Group (также называемой Arapahoe Special Interest Group (Arapahoe SIG)), имеет второе название 3GIO (3D Generation Input/Output). Важным фактором, влияющим на продвижение этой архитектуры, является то, что входящие в Arapahoe SIG компании входили также и в PCI SIG и принимали активное участие в разработках шины PCI. Роджер Тайпли (Roger Tipley), президент PCI SIG, заявил, что переход с шины PCI на шину Arapahoe должен произойти так же плавно, как произошел переход с ISA на PCI. Столь самоуверенное заявление должно иметь под собой твердую почву. Тщательное исследование PCI-технологии передачи сигналов показало, что параллельная реализация шины близка к своему пределу производительности: в ней затруднено масштабирование вверх по частоте и вниз по напряжению, синхронизация передачи данных ограничена величиной расфазировки синхронизирующих импульсов, а правила маршрутизации импульсов находятся на пределе рентабельности технологии. Все попытки устранить эти ограничения и создать шину ввода-вывода с более широкой полосой пропускания ведут к росту стоимости, несоизмеримому с повышением производительности. Приложения зачастую создавались в расчете на промежуточные стандарты PCI, не предусмотренные конечной спецификацией, - варианты и расширения PCI можно найти в настольных, переносных, мобильных и встроенных системах.

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

Будущая архитектура ввода-вывода третьего поколения (3rd Generation Input Output, 3GIO) представляет собой универсальную архитектуру последовательного типа с малым количеством контактов, производительность которой будет ограничиваться исключительно технологическими особенностями соединений. Предполагается, что эта архитектура будет с равным успехом применяться в настольных и мобильных системах, серверах, коммуникационных устройствах и встроенных приложениях. Специалисты из Arapahoe Work Group (которая и занимается разработкой соответствующей спецификации) предварительно выработали определенные требования к межкомпонентным межсоединениям третьего поколения.

Поддержка множества рыночных сегментов и новых приложений. Унификация архитектуры ввода-вывода для настольных, переносных, серверных, коммуникационных, клиентских и встроенных устройств.

Низкая цена и массовое производство. Стоимость должна быть такой же или ниже, чем для систем на PCI.

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

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

Поддержка различных типов соединений. Соединения типа микросхема-микросхема, плата-плата через разъем, стыковочный узел и поддержка новых форм-факторов.

Дополнительные возможности. Поддержка различных типов данных. Управление питанием. Горячее подключение и замена. Целостность данных и обработка ошибок. Расширяемость. Базовые механизмы поддержки встроенных и коммуникационных приложений.

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

Топология 3GIO подразумевает наличие ведущего моста (host bridge) и нескольких конечных точек (устройств ввода-вывода), как показано на рис. 21. Множество соединений типа точка-точка потребовали ввести в топологию системы новый элемент - коммутатор ввода-вывода. Он заменил собой многоабонентскую шину и используется для расширения шины ввода-вывода. Коммутатор также может поддерживать одноранговую связь между конечными точками, причем соответствующий трафик (если только для него не требуется взаимодействие с памятью) не попадает на ведущий мост. На рис. 20 коммутатор представлен как отдельный логический элемент, однако он может интегрироваться в ведущий мост.

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

На рис. 22 показана стандартная система для серверов и рабочих станций на базе архитектуры 3GIO. Множественные параллельные шины заменены на 3GIO-связи с одним или более путями (линиями). Каждую связь в отдельности можно масштабировать, добавляя дополнительные линии, что позволяет обеспечить большую пропускную способность там, где требуется (например, для графических приложений или на серверных мостах между шинами 3GIO - PCI-X).

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

Серверные системы предъявляют высокие требования к производительности операций ввода-вывода и возможностям подключения, в том числе высокопроизводительных соединений 3GIO с шиной PCI-X, а также структур Gigabit Ethernet и InfiniBand. Из рис. 22 видно, как преимущества 3GIO, доступные для настольных систем, используются на серверах. Комбинация 3GIO для "внутренних" операций ввода-вывода и структуры InfiniBand для "внешнего" ввода-вывода и внутрикластерных соединений, позволяет на серверах перейти от модели "параллельной общей шины" к высокоскоростным последовательном межкомпонентным соединениям.

Набор коммутаторов в сетевых платформах может применяться для улучшения связи и качества обслуживания QoS (Quality of Service) с дифференциацией различных типов трафика. Кроме того, дополнительные возможности предоставляет создание модульной системы ввода-вывода на основе множества 3GIO-соединений.


Архитектура 3GIO

1.1. Архитектура 3GIO

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

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

Стандартное 3GIO-соединение состоит из двух низковольтных, раздельно управляемых сигнальных пар: передающей и принимающей (рис. 24). Для достижения чрезвычайно высоких скоростей передачи данных применяется управляющий сигнал передачи данных со схемой кодировки 8b/10b. Базовая частота (скорость передачи) - 2,5 Гбит/с в каждом направлении; как ожидается, с развитием кремниевых технологий она возрастет до 10 Гбит/с (теоретический максимум для передачи сигналов с использованием медного носителя). Физический уровень пересылает пакеты между транспортными уровнями двух исполнительных устройств 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 из пространства сообщений изъяты все существовавшие ранее служебные сигналы, что позволило сократить число сигналов до минимума. На рис. 25 показаны результаты сравнительного изменения пропускной способности в расчете на вывод для различных шин. (Пропускная способность на вывод рассчитана как пиковая пропускная способность шины, деленная на общее количество выводов в компоненте, которое равно сумме числа выводов для передачи данных, адресных, управляющих, питающих выводов и заземления.)

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

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


HyperTransport

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 говорит также и относительно небольшое количество выводов, требуемых для высокой скорости передачи данных. Пример показан на рис. 26.


Топологии

2.1. Топологии

Существует три типа топологий, поддерживаемых стандартом HyperTransport(tm): хост, туннель и односвязное устройство. Хост — это прямое подключение периферийного устройства к процессору или свичу. Туннель — это ведомое устройство (slave device) с двумя портами HyperTransport(tm), которые позволяют подсоединять устройства последовательно. Односвязное устройство — это ведомое устройство, формирующее конечную точку подключения цепочки HyperTransport(tm). Ведомые устройства могут быть либо мостами к другим шинам, таким как PCI, либо контроллерами, наподобие контроллеров Gigabit Ethernet или SCSI.

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

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

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

Такая конфигурация допускает подключение нескольких шин PCI для получения большей пропускной способности и большего количества слотов. Например, для конфигурации, использующей 6 слотов PCI на частотах в 66 МГц, в простейшем случае будет необходимо три последовательно соединенных друг с другом PCI моста. На самом деле, также можно установить «южный мост» в конце цепочки для предоставления смешанного доступа к процессору. В качестве шины, подключаемой к «южному мосту», может служить, например, USB.

Работа шины HyperTransport(tm) предусматривает использование двух или более процессоров, каждый из которых применяется для решения специфической задачи или для разделения одной-единственной задачи, требующей огромного количества процессорного времени. Схема такого подключения с двумя процессорами приводится на рисунке 28. Также свитчи на шине HyperTransport(tm) могут быть использованы для подключения контроллеров Gigabit Ethernet и SCSI к интерфейсу HyperTransport(tm), как показано на рисунке 29. Эта конфигурация состоит из двух свитчей, расположенных каскадом, что увеличивает количество доступных портов.

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

При использовании этой конфигурации соединение каждого моста PCI — HyperTransport(tm) дублируется. Одно из этих соединений работает по назначению, другое — в нагруженном резерве. Данные, передаваемые по такому соединению, маршрутизируются через два различных свитча к двум независимым, выполняющим одинаковые функции процессорам. Система будет работать до тех пор, пока не произойдет сбой одновременно в двух дублирующих цепях. Если же один из процессоров или свитчей начинает сбоить, то передача и обработка данных происходит через другой свитч ко второму процессору. Если один из компонентов, ассоциированный с шиной PCI, дает сбой, то другой обеспечивает доступ к аналогичному элементу системы.

Устойчивость к ошибкам.

Устойчивость к ошибкам очень важна практически для всех коммуникационных систем, по которым осуществляется обмен данными. Шина HyperTransport(tm) позволяет, в помощь системным архитекторам, увеличить устойчивость к ошибкам при разработке соединений point-to-point, создать избыточные системы с повышенной надежностью эксплуатации, включая конфигурации с поддержкой горячего подключения. Использование соединений point-to-point значительно увеличивает возможность локализации ошибок в системе. Что касается шины PCI, то ошибка в отдельном компоненте может нарушить работу сегмента шины. Комбинируя мосты PCI — HyperTransport(tm) со свитчами HyperTransport(tm), системные разработчики выбирают между возможностью иметь несколько PCI слотов и возможностью максимальной локализации ошибок в системе. К тому же, в конфигурации, имеющей хотя бы один свитч, HyperTransport(tm) поддерживает возможность горячего подключения компонентов для устранения ошибок в системе прямо во время ее работы. За счет этого возможно без проблем, не отключая всю систему, произвести замену вышедшего из строя блока на новый.

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

Электрическая модель.

Комбинация соединений point-to-point и дифференциального однонаправленного сигналирования упрощает разработку системных плат и позволяет устанавливать большие расстояния между компонентами, нежели это достигалось при использовании шины PCI. Соединение HyperTransport(tm) может применяться между чипами на материнской плате компьютера, между отдельными платами, а также между аппаратными блоками одной системы. Расстояния между соединениями при шине HyperTransport(tm) достигают иногда 0.6-0.75 метров, в зависимости от расположения плат и разводки между ними. Соединения также могут быть использованы в виде небольших кабелей для подсоединения периферийных устройств напрямую к системной шине компьютера.

Как пример высоких скоростей передачи данных на большие расстояния фирма API NetWorks продемонстрировала технологическую разработку, позволяющую использовать соединения HyperTransport(tm). Были достигнуты скорости передачи данных в 12.8 Гбит/c при длине соединения в 6 футов (~1.8 м). Поскольку одновременно шиной HyperTransport(tm) поддерживаются топологии цепь и звезда, то общая длина цепи может составлять несколько метров, в то же время допуская достаточно высокую гибкость в конфигурировании системы.

Дифференциальное сигналирование использует амплитуду сигнала в 600 мВ, получаемое из 1.2 В напряжения питания. При работе шины HyperTransport(tm) оба конца цепи приводятся в соответствие к одному импедансу (одному полному сопротивлению ). Поскольку для соединения используются двунаправленные линии с однонаправленным сигналированием, то для подключения служат два набора контактов, по одному в каждом направлении. Каждый из наборов соединений имеет в своем составе несколько проводов: один для передачи бита данных в одном определенном направлении, следующий — для сигналирования передачи 8 бит данных, и оставшийся — для контроля передачи информации. Всего в шине HyperTransport(tm) предусмотрено семь фиксированных сигнальных частот от 200 МГц до 800 МГц с шагом 100 МГц (от 400 МТ/c до 1.6 ГТ/c с шагом 200 МТ/c соответственно).

Длина соединения определяется во время его инициализации. При этом, чем большую ширину шины имеют устройства, тем уже для них нужно организовать интерфейс. После инициализации скорость передачи для всех соединений устанавливается в значение 400 MT/с, а потом уже конфигурируется программно, с помощью BIOS, в желаемое значение быстроты передачи данных и ширины шины, за счет возможностей двунаправленного соединения. Это значит, что можно увеличить ширину шины в одном направлении, например, при передаче данных от подключенного устройства, благодаря уменьшению ширины шины от передающего устройства, и наоборот.


Совместимость с шиной PCI

2.2. Совместимость с шиной PCI

Совместимость со стандартом локальной шиной передачи данных PCI была очень важна при разработке спецификации HyperTransport(tm), и именно это создает преимущества при распространении шины среди разработчиков. Чтобы позволить устройствам PCI и HyperTransport(tm) нормально взаимодействовать, нужно было сохранить общую программную модель для систем ввода/вывода PCI и HyperTransport(tm). Поддержка совместимости включала поддержку мостов на основе PCI, PCI-моделей для операций с памятью, поддержку всех трех адресных пространств PCI (конфигурация/ввод-вывод/память) и совместимость с заголовками устройств и мостов PCI. К тому же, к стандартным возможностям PCI добавляются дополнительные преимущества, которые служат для максимизации общей производительности системы. Примером таких преимуществ может быть, например, поддержка упреждающей передачи данных и распределение скорости передачи данных для каждого соединения. Упреждающая передача данных на PCI позволяет обеспечить более эффективную пакетную передачу данных, что влияет на общую производительность шины. Распределение скорости передачи данных используется для того, чтобы за счет медленных устройств повышать скорость передачи данных к другим, более быстрым устройствам. Это достигается благодаря динамическому контролю над скоростью передачи данных всех подключенных к системе устройств.

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

Разработка устройств на основе шины HyperTransport(tm)

Мы рассмотрели различные топологии, которые можно использовать для разработки систем на основе шины HyperTransport(tm). Не менее пристальное внимание надо уделить «строительным блокам», применяемым для создания устройств на основе шины HyperTransport(tm). Производители, входящие в консорциум HyperTransport(tm), в настоящий момент ведут активные поиски в этом направлении. Одним из обязательных условий таких разработок является совместимость с продуктами других фирм, входящих в консорциум.

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

Отметим несколько важных моментов:

HyperTransport при 55 контактах (pins) обеспечивает в 12 раз большую пропускную способность, чем PCI 33 МГц/32 бит (более 80 контактов, правда, далеко не все используются).

Отношение сигнал/земля – 4:1.

Опциональные контакты, внедряемые в мобильных системах для сбережения энергии.

В настоящий момент спецификация готова к реализации в отличие от своего конкурента от Intel, причем некоторые параметры реализации технологии ничем не хуже, а некоторые — значительно лучше, чем параметры аналогичной реализации от Intel.

Сравнительная характеристика стандартов Arapahoe и HyperTransport представлена в табл. 18.


Рисунок 20. Современный набор микросхем

Рис. 20. Современный набор микросхем.


Рисунок 21. Топология системы с коммутатором

Рис. 21. Топология системы с коммутатором.


Рисунок 22. Сервер на базе 3GIO

Рис. 22. Сервер на базе 3GIO.


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

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


Рисунок 24. 3GIO-соединение

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


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

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


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

Ширина шины (в каждую сторону) | 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).

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

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


Рисунок 27

Рис.27.


Рисунок 28

Рис. 28.


Рисунок 29

Рис. 29.


Рисунок 30

Рис.30.


Таблица 17. Фирмы, входящие в группы поддержки стандартов Arapahoe и HyperTransport

Табл. 17. Фирмы, входящие в группы поддержки стандартов Arapahoe и HyperTransport

Arapahoe SIG | HTTC
Intel Compaq Dell IBM Microsoft | AMD API Networks Apple Cisco Systems NVIDIA Corporation PMC-Sierra Sun Microsystems Transmeta


Таблица 18. Сравнительная характеристика стандартов Arapahoe и HyperTransport

Табл. 18. Сравнительная характеристика стандартов Arapahoe и HyperTransport

Параметры | Arapahoe | HyperTransport
Симметричная/асимметричная | симметричная | асимметричная
Двунаправленная/однонаправленная | двунаправленная | двунаправленная
Скорость передачи | 2.5 ГБ/с | 12.8 ГБ/с
Peer-to-peer подключение | + | +
Изменяемая пропускная способность | + | +
Адресация | 32- и 64-битная | 64-битная
Планируемый срок выхода | конец 2003 года | Вышла в 2001г.