|
Bog BOS: hardware: HyperTransport |
Последнее изменение файла: 2010.01.29
Скопировано с www.bog.pp.ru: 2024.11.23
Открытый стандарт HyperTransport 1.03 (HT, ранее Lightning Data Transport, LDT) принят The HyperTransport Consortium (произносится как "A-M-D") в 2001 году как интерфейс между микросхемами (расширено HTX до плат, HNC до систем). Например, для замены FSB или соединений между процессорами в NUMA архитектуре (для обеспечения когерентности кеша AMD используется частное расширение HT Direct Connect Architecture). Бесплатен для членов консорциума. Параллельный однонаправленный физический интерфейс (по 2 провода на линию, LVDS, 1.2V) "точка-точка", дуплекс (асимметричный и асинхронный), ширина (автосогласование) - 2, 4, 8, 16 или 32 (нигде не используется?) бит (мультиплексирование команды, адреса и данных), служебные линии (Clock - LVDS, по штуке на каждые 8 бит данных; Control - LVDS, по штуке на каждые 8 бит данных, позволяет отличить управляющие пакеты от данных; PWROK, RESET#, LDTREQ#, LDTSTOP#), земля, питание 1.2V. Терминатор на микросхеме. Частота (автосогласование) - от 200 MHz (30 дюймов) до 800 MHz (12 дюймов), DDR. Данные передаются пакетами внутри единого адресного пространства, 32-битные слова. Размер пакета - от 4 до 64 байт (для управляющего пакета - до 8 байт). Адресное пространство - 40 бит, расширяется командой-префиксом до 64 бит. При инициализации часть устройству выделяется часть зарезервированного адресного пространства. Часть адресного пространства (32MB) выделяется под пространство ввода/вывода (от FDFC000000). Другая часть (32MB) под конфигурации в пространстве PCI. Расширенная конфигурация (512MB). Системное управление (1MB). Прерывания (3984MB). Виртуальные каналы (6 штук) и приоритеты (очень упрощённо), управление потоком, исправление ошибок, возможность вставить управляющий пакет в проходящий по цепочке пакет данных (Priority Request Interleaving, PRI, при пакетах не более 64 байт - это выигрыш в несколько наносекунд). Совместимость с PCI - нумерация и конфигурация (прозрачно для ОС). Совместимость с PCI, в т.ч. адресацию устройств, что препятствует масштабируемости системы. Поддерживаемые топологии: цепочка (устройства образуют одну шину, HT туннель - устройство с двумя HT портами, конечное устройство в цепочке - cave), звезда (в центре многопортовое устройство HT bridge), коммутатор. Как при этом обеспечивается совместимость с деревом PCI? Типы траффика: PIO, DMA, peer-to-peer (траффик идёт через хост - host bridge).
Версия HT 1.1 в 2002 (22 виртуальных канала, DirectPacket (передача сообщений)). Версия HT 2.0 в 2004 (частота до 1.4 GHz, Post-cursor transmitter deemphasis (?)). Версия HTX (HyperTransport eXpansion, 8 или 16 bit, до 800 MHz, DDR, SMBus, 12V, 3.3V, 63W) в 2005 (интерфейс между материнской и дочерней платами (перевёрнутый PCI Express x16 и x1 для питания), длины дорожек, расположение (слот 6) и размер дочерней платы (PCI для ATX и EATX), наличие терминатора при отсутствии дочерней карты). Версия HT 3.0 в 2006 (горячее подключение, разбиение канала на половинки, частота до 2.6 GHz, динамическая подстройка частоты и ширины для экономии энергии, Tx scrambling и Rx Equalization (?), receiver phase alignment (?), transmitter pre-cursor deemphasis (?), увеличение длины дорожки или кабеля до 1 метра (AC режим, большие задержки)). Версия HT 3.1 (частота до 3.2 GHz) и HTX3 (8 или 16 или 2x8 бит, до 2.6 GHz, DDR) в 2008. Версия HNC 1.0 (Hign Node Count, 3.2 GHz до 2 метров, разъёмы для мезонинов и межсистемных кабелей) в 2009 (только для "особ приближенных к императору").
При передаче используется метод cut-through (передача без буферизации) без восстановления при ошибках (BER лучше 10^-15, так что при ошибке канал просто сбрасывается) для HT 1 и HT 2 и с восстановлением при ошибках для HT 3 (при таких частотах ошибок слишком много). Задержки (чтение из чужой памяти SDRAM 333 MHz - от 150 нс) чуть меньше, чем у PRIO, и значительно меньше, чем у PCI Express (чтение из чужой памяти SDRAM 333 MHz - от 240 нс) и SRIO, не говоря уж о PCI Express AS, Fibre Channel, InfiniBand и Ethernet (? если ширина шины не совпадает с шиной ядра (например, 2 бита), то всё равно приходится перепаковывать), но за счёт проблем борьбы с разбегом сигналов (skew) параллельных линий и отсутствия побайтовой проверки. Данные могут передаваться в системе по цепочке, до 32 одновременных соединений в версии 1.03 (до 128 в версии 1.1 и 2.0). Кроме данных можно передавать команды управления системой, управления прерываниями, пробы, транзакции ввода/вывода, управление питанием (ACPI). При записи можно ожидать ответа (non-posted) или не ожидать ответа (posted, для DMA и UMA). Накладные расходы - от 8 до 12 байт на пакет (без учёта адресов, контрольных сумм, префиксов и пр.).
Реализованные приложения: интерфейс между ЦП и северным мостом (AMD, VIA), между северным и южным мостом (Ali), ЦП (MIPS64 от Broadcom, MIPS64 от PMC-Sierra, DRC, Loongson-3 MIPS), коммутатор (SiPackets, 4 порта), туннель PCI (Tundra), AGP (AMD) и PCI-X (AMD, PLX, Tundra), IP блоки (Xilinx, Nurlogic, GDA, Dolphin).
Уровни
|
Bog BOS: hardware: HyperTransport |