HyperTransport ( HT ), anteriormente conocida como Lightning Data Transport , es una tecnología para la interconexión de procesadores de computadoras . Se trata de un enlace punto a punto bidireccional serial / paralelo de alto ancho de banda y baja latencia que se introdujo el 2 de abril de 2001. [1] El Consorcio HyperTransport se encarga de promover y desarrollar la tecnología HyperTransport.
HyperTransport es más conocida como la arquitectura de bus del sistema de las unidades centrales de procesamiento (CPU) de AMD , desde Athlon 64 hasta AMD FX y los chipsets de placa base asociados . HyperTransport también ha sido utilizada por IBM y Apple para las máquinas Power Mac G5 , así como para varios sistemas MIPS modernos.
La especificación actual HTX 3.1 siguió siendo competitiva para la RAM DDR4 de alta velocidad de 2014 (2666 y 3200 MT /s o aproximadamente 10,4 GB/s y 12,8 GB/s) y la tecnología más lenta (alrededor de 1 GB/s [1] similar a la RAM flash ULLtraDIMM de los SSD PCIe de gama alta ) [ aclaración necesaria ] —una gama más amplia de velocidades de RAM en un bus de CPU común que cualquier bus frontal de Intel . Las tecnologías Intel requieren que cada rango de velocidad de RAM tenga su propia interfaz, lo que da como resultado un diseño de placa base más complejo pero con menos cuellos de botella. HTX 3.1 a 26 GB/s puede servir como un bus unificado para hasta cuatro módulos DDR4 que funcionen a las velocidades propuestas más rápidas. Más allá de eso, la RAM DDR4 puede requerir dos o más buses HTX 3.1, lo que disminuye su valor como transporte unificado.
HyperTransport viene en cuatro versiones (1.x, 2.0, 3.0 y 3.1) que van desde los 200 MHz hasta los 3,2 GHz. También es una conexión DDR o de " doble velocidad de datos ", lo que significa que envía datos tanto en los flancos ascendentes como descendentes de la señal de reloj . Esto permite una velocidad de datos máxima de 6400 MT/s cuando se ejecuta a 3,2 GHz. La frecuencia de funcionamiento se negocia automáticamente con el chipset de la placa base (North Bridge) en la informática actual.
HyperTransport admite un ancho de bits negociado automáticamente, que va de 2 a 32 bits por enlace; hay dos enlaces unidireccionales por bus HyperTransport. Con la llegada de la versión 3.1, que utiliza enlaces de 32 bits completos y utiliza la frecuencia operativa completa de la especificación HyperTransport 3.1, la tasa de transferencia teórica es de 25,6 GB /s (3,2 GHz × 2 transferencias por ciclo de reloj × 32 bits por enlace) por dirección, o 51,2 GB/s de rendimiento agregado, lo que lo hace más rápido que la mayoría de los estándares de bus existentes para estaciones de trabajo y servidores de PC, así como también más rápido que la mayoría de los estándares de bus para computación y redes de alto rendimiento.
Se pueden combinar enlaces de distintos anchos en una única configuración de sistema, como un enlace de 16 bits a otra CPU y un enlace de 8 bits a un dispositivo periférico, lo que permite una interconexión más amplia entre CPU y una interconexión de menor ancho de banda a los periféricos , según corresponda. También admite la división de enlaces, donde un único enlace de 16 bits se puede dividir en dos enlaces de 8 bits. La tecnología también suele tener una latencia menor que otras soluciones debido a su menor sobrecarga.
En términos eléctricos, HyperTransport es similar a la señalización diferencial de bajo voltaje (LVDS) que opera a 1,2 V. [2] HyperTransport 2.0 agregó deénfasis del transmisor posterior al cursor . HyperTransport 3.0 agregó codificación y alineación de fase del receptor, así como deénfasis del precursor del transmisor opcional.
HyperTransport se basa en paquetes , donde cada paquete consta de un conjunto de palabras de 32 bits , independientemente del ancho físico del enlace. La primera palabra de un paquete siempre contiene un campo de comando. Muchos paquetes contienen una dirección de 40 bits. Se antepone un paquete de control adicional de 32 bits cuando se requiere una dirección de 64 bits. La carga útil de datos se envía después del paquete de control. Las transferencias siempre se rellenan con un múltiplo de 32 bits, independientemente de su longitud real.
Los paquetes de HyperTransport ingresan a la interconexión en segmentos conocidos como tiempos de bit. La cantidad de tiempos de bit necesarios depende del ancho del enlace. HyperTransport también admite mensajería de administración del sistema, señalización de interrupciones, emisión de sondas a dispositivos o procesadores adyacentes, transacciones de E/S y transacciones de datos generales. Hay dos tipos de comandos de escritura admitidos: publicados y no publicados. Las escrituras publicadas no requieren una respuesta del destino. Esto se usa generalmente para dispositivos de alto ancho de banda, como tráfico de acceso a memoria uniforme o transferencias de acceso a memoria directa . Las escrituras no publicadas requieren una respuesta del receptor en forma de una respuesta de "destino completado". Las lecturas también requieren una respuesta que contenga los datos leídos. HyperTransport admite el modelo de pedido de consumidor/productor PCI.
HyperTransport también facilita la administración de energía, ya que cumple con la especificación de Interfaz de energía y configuración avanzada . Esto significa que los cambios en los estados de suspensión del procesador (estados C) pueden indicar cambios en los estados del dispositivo (estados D), por ejemplo, apagar los discos cuando la CPU entra en suspensión. HyperTransport 3.0 agregó más capacidades para permitir que un controlador de administración de energía centralizado implemente políticas de administración de energía.
El uso principal de HyperTransport es reemplazar el bus frontal definido por Intel , que es diferente para cada tipo de procesador Intel. Por ejemplo, un Pentium no se puede conectar directamente a un bus PCI Express , sino que primero debe pasar por un adaptador para expandir el sistema. El bus frontal propietario debe conectarse a través de adaptadores para los diversos buses estándar, como AGP o PCI Express. Estos generalmente se incluyen en las respectivas funciones del controlador, es decir, el puente norte y el puente sur .
Por el contrario, HyperTransport es una especificación abierta, publicada por un consorcio de varias empresas. Un único chip adaptador HyperTransport funcionará con una amplia gama de microprocesadores habilitados para HyperTransport.
AMD utilizó HyperTransport para reemplazar el bus frontal en sus familias de microprocesadores Opteron , Athlon 64 , Athlon II , Sempron 64 , Turion 64 , Phenom , Phenom II y FX .
Otro uso de HyperTransport es como interconexión para computadoras multiprocesador NUMA . AMD utilizó HyperTransport con una extensión de coherencia de caché patentada como parte de su arquitectura de conexión directa en su línea de procesadores Opteron y Athlon 64 FX ( arquitectura de conexión directa de doble socket (DSDC) ). Infinity Fabric, que se utiliza con las CPU de servidor EPYC, es un superconjunto de HyperTransport. La interconexión HORUS de Newisys extiende este concepto a clústeres más grandes. El dispositivo Aqua de 3Leaf Systems virtualiza e interconecta CPU, memoria y E/S.
HyperTransport también se puede utilizar como bus en enrutadores y conmutadores . Los enrutadores y conmutadores tienen múltiples interfaces de red y deben reenviar datos entre estos puertos lo más rápido posible. Por ejemplo, un enrutador Ethernet de cuatro puertos y 1000 Mbit /s necesita un máximo de 8000 Mbit/s de ancho de banda interno (1000 Mbit/s × 4 puertos × 2 direcciones); HyperTransport supera ampliamente el ancho de banda que requiere esta aplicación. Sin embargo, un enrutador de 10 Gb con 4 + 1 puertos requeriría 100 Gbit/s de ancho de banda interno. Agregue a eso 8 antenas 802.11ac y el estándar WiGig de 60 GHz (802.11ad) y HyperTransport se vuelve más factible (con entre 20 y 24 carriles utilizados para el ancho de banda necesario).
El problema de la latencia y el ancho de banda entre las CPU y los coprocesadores ha sido generalmente el mayor obstáculo para su implementación práctica. Han aparecido coprocesadores como los FPGA que pueden acceder al bus HyperTransport y se integran en la placa base. Los FPGA de la generación actual de los dos principales fabricantes ( Altera y Xilinx ) admiten directamente la interfaz HyperTransport y tienen núcleos IP disponibles. Empresas como XtremeData, Inc. y DRC toman estos FPGA (Xilinx en el caso de DRC) y crean un módulo que permite que los FPGA se conecten directamente al zócalo Opteron.
El 21 de septiembre de 2006, AMD inició una iniciativa denominada Torrenza para promover aún más el uso de HyperTransport para tarjetas enchufables y coprocesadores . Esta iniciativa abrió su "Socket F" a placas enchufables como las de XtremeData y DRC.
El HyperTransport Consortium publicó una especificación de conector que permite que un periférico basado en ranura tenga conexión directa a un microprocesador mediante una interfaz HyperTransport. Se conoce como HyperTransport e X pansion ( HTX ) . Al utilizar una instancia invertida del mismo conector mecánico que una ranura PCI Express de 16 carriles (más un conector x1 para pines de alimentación), HTX permite el desarrollo de tarjetas enchufables que admiten acceso directo a una CPU y DMA a la RAM del sistema . La tarjeta inicial para esta ranura fue la QLogic InfiniPath InfiniBand HCA. IBM y HP , entre otros, han lanzado sistemas compatibles con HTX.
El estándar HTX original está limitado a 16 bits y 800 MHz. [3]
En agosto de 2008, el Consorcio HyperTransport lanzó HTX3, que extiende la velocidad de reloj de HTX a 2,6 GHz (5,2 GT/s, 10,7 GTi, velocidad de datos real de 5,2 GHz, velocidad de edición de 3 MT/s) y conserva la compatibilidad con versiones anteriores. [4]
El conector de prueba "DUT" [5] está definido para permitir la interconexión de sistemas de prueba funcionales estandarizados.
* AMD Athlon 64 , Athlon 64 FX, Athlon 64 X2 , Athlon X2, Athlon II , Phenom, Phenom II , Sempron , Turion series y posteriores utilizan un enlace HyperTransport de 16 bits. AMD Athlon 64 FX ( 1207 ), Opteron utilizan hasta tres enlaces HyperTransport de 16 bits. Las frecuencias de reloj habituales para estos enlaces de procesador son de 800 MHz a 1 GHz (sistemas antiguos de un solo zócalo y de varios zócalos en enlaces 754/939/940) y de 1,6 GHz a 2,0 GHz (sistemas más nuevos de un solo zócalo en enlaces AM2+/AM3; la mayoría de las CPU más nuevas utilizan 2,0 GHz). Aunque HyperTransport en sí mismo es capaz de enlaces de ancho de 32 bits, ese ancho no lo utiliza actualmente ningún procesador AMD. Sin embargo, algunos chipsets ni siquiera utilizan el ancho de 16 bits que utilizan los procesadores. Entre ellos se incluyen Nvidia nForce3 150, nForce3 Pro 150 y ULi M1689, que utilizan un enlace descendente HyperTransport de 16 bits pero limitan el enlace ascendente HyperTransport a 8 bits.
Ha habido cierta confusión de marketing [ cita requerida ] entre el uso de HT para referirse a Hyper Transport y el uso posterior de HT para referirse a la característica Hyper-Threading de Intel en algunos microprocesadores basados en Pentium 4 y los más nuevos basados en Nehalem y Westmere Intel Core . Hyper-Threading se conoce oficialmente como Hyper - Threading Technology ( HTT ) o HT Technology . Debido a esta posibilidad de confusión, el HyperTransport Consortium siempre utiliza la forma escrita: "HyperTransport".
Infinity Fabric ( IF ) es un superconjunto de HyperTransport anunciado por AMD en 2016 como una interconexión para sus GPU y CPU. También se puede utilizar como interconexión entre chips para la comunicación entre CPU y GPU (para la arquitectura de sistemas heterogéneos ), una disposición conocida como Infinity Architecture . [7] [8] [9] La compañía dijo que Infinity Fabric escalaría de 30 GB/s a 512 GB/s, y se usaría en las CPU basadas en Zen y las GPU Vega que se lanzaron posteriormente en 2017.
En las CPU Zen y Zen+ , las interconexiones de datos "SDF" se ejecutan a la misma frecuencia que el reloj de memoria DRAM (MEMCLK), una decisión tomada para eliminar la latencia causada por diferentes velocidades de reloj. Como resultado, usar un módulo RAM más rápido hace que todo el bus sea más rápido. Los enlaces tienen un ancho de 32 bits, como en HT, pero se realizan 8 transferencias por ciclo (paquetes de 128 bits) en comparación con los 2 originales. Se realizan cambios eléctricos para una mayor eficiencia energética. [10] En las CPU Zen 2 y Zen 3 , el bus IF está en un reloj separado, ya sea en una relación 1:1 o 2:1 con el reloj DRAM. Esto evita una limitación en las plataformas de escritorio donde las velocidades máximas de DRAM estaban limitadas en la práctica por la velocidad IF. El ancho del bus también se ha duplicado. [11] En las CPU Zen 4 y posteriores, el bus IF puede funcionar en un reloj asincrónico con la DRAM, para permitir las velocidades de reloj más altas que DDR5 es capaz de alcanzar. [12]
UALink utilizará Infinity Fabric como el protocolo de memoria compartida principal.