jueves, 7 de enero de 2010

HyperTransport

HyperTransport (HT) es actualmente el bus con mejores prestaciones en ordenadores de consumo. El estándar lo define un grupo de fabricantes llamado "HyperTransport Consortium". La versión 1.0 se publicó en 2001 y la utilizó AMD para interconectar sus procesadores Opteron y siguientes. La última versión (3.1) se ha publicado en 2008. El funcionamiento básico de un bus HT es el mismo en todas las versiones.


Esta tecnología se basa en un enlace half-duplex de un bit que usa señalización diferencial de bajo voltaje. A partir de este elemento básico, se establecen buses con un número variable de enlaces (entre 2 y 32, normalmente potencias de 2). A la hora de establecer un enlace, las 2 partes negocian el número de lineas a utilizar en cada sentido (puede ser un enlace asimétrico). La comunicación se realiza de manera asíncrona y es DDR, es decir se transmite 2 veces por ciclo.

Los sucesivos estándares han añadido ciertas funcionalidades, pero sobre todo han aumentado la frecuencia de funcionamiento. En la primera versión, HT funcionaba a un máximo de 800 MHz lo que supone, 12.8 GB/s para un enlace de 32 bits. Esta velocidad ha crecido hasta 3.2 GHz en el estándar 3.1, con lo que se pueden conseguir tasas de transferencia de 51.2 GB/s.

La comunicación se realiza mediante paquetes, siguiendo un protocolo parecido a los utilizados en redes de comunicaciones. Los dispositivos tienen asignadas direcciones de 40 bits. Un paquete está formado por un conjunto de palabras de 32 bits. Los paquetes pueden ser de control o de datos. Los paquetes de control contienen comandos y los parámetros que sean necesarios. Después de un paquete de control puede transmitirse si se desea un paquete de datos, como en el siguiente ejemplo:


HyperTransport está pensado para utilizarse como método de señalización y paso de mensajes para controlar un sistema, generar interrupciones y lógicamente transferencia de datos con o sin confirmación por parte del otro extremo de la comunciación. Tiene muchas características interesantes como que está diseñado para poder mapear fácilmente PCI, PCI-X y PCI-Express a partir de la versión 2.0, permite conectar y desconectar elementos en caliente (desde la versión 3.0) y se puede ajustar dinámicamente el ancho y la frecuencia de un enlace (también desde la versión 3.0), entre otras.

Este tipo de bus suele utilizarse para interconectar varios elementos dentro de un sistema. Como ya se ha comentado, AMD lo utiliza pra interconectar sus procesadores y como sustituto del FSB. También puede implementarse en los últimos FPGAs de Altera y Xilinx, por lo que algunas compañías los usan como coprocesadores, que se comunican con el procesador usando este estándar. Hay 2 especificaciones de conectores de tipo slot en el estándar por lo que puede utilizarse como sustituto de PCI-Express a la hora de añadir slots de expansión a una placa base.

Patxi Astiz

No hay comentarios:

Publicar un comentario