HyperTransport

Un article de Wikipédia, l'encyclopédie libre.

L'HyperTransport[1] (anciennement Lightning Data Transport ou LDT) est un bus local série/parallèle plus rapide que le bus PCI et qui utilise le même nombre de broches.

Historique[modifier | modifier le code]

HyperTransport est une technologie issue des laboratoires Digital. À la suite de la disparition de Digital, le développement fut repris par AMD, IBM et nVidia qui avaient acquis une licence.

Versions et caractéristiques[modifier | modifier le code]

Le bus hypertransport a connu différentes évolutions offrant une bande passante théorique de :

  • 1.x : 12,8 Go/s : échanges jusqu'à 800 MHz[2] ;
  • 2.0 : 22,4 Go/s : les échanges se font jusqu'à 1,6 GHz[2] ;
  • 3.0 : 41,6 Go/s : les échanges se font jusqu'à 2,6 GHz[2] ;
  • 3.1 : 51,2 Go/s : les échanges se font jusqu'à 3,2 GHz[2].

Utilisation[modifier | modifier le code]

La technologie HyperTransport est actuellement utilisée principalement comme bus mémoire (communication entre le chipset et le processeur) dans certaines architectures comme le K8 (Athlon 64, Opteronetc.) ou certains PowerPC comme le PowerPC 970 d’IBM utilisé dans les Power Mac G5.

Contrairement au bus mémoire traditionnel des machines Intel qui est relié au bus d'entrées-sorties qu'en un seul point (le chipset Northbridge, qui est donc un goulot d'étranglement), le bus HyperTransport dispose d'une architecture commutée comme un réseau sur laquelle plusieurs chipsets peuvent connecter des bus d'entrées-sorties. Par exemple, des cartes mères classiques pour machines bi-Opteron disposent souvent d'un bus PCI relié au bus HyperTransport par un pont AMD8131 tandis qu'un bus PCI Express (indépendant de l'autre) est relié en un autre endroit par un chipset nVidia nForce. Ainsi, un processeur peut accéder aux périphériques cachés[Quoi ?] derrière un des 2 bus d'entrées-sorties sans gêner les accès d'un autre processeur à un autre bus[a].

Selon le nombre de processeurs et la présence de port d'extension HTX, la topologie du bus HyperTransport peut varier d'un lien unique à des formes étranges telles qu'un carré avec une seule diagonale, ou des choses indescriptibles pour les cartes mères à 8 processeurs.

Les processeurs Intel ont adopté une structure similaire à ceux d'AMD avec la technologie QuickPath Interconnect.

Mode de fonctionnement (en cours)[modifier | modifier le code]

Le port HyperTransport fonctionne comme un réseau point à point : chaque nœud du réseau est connecté à 1 (nœud de fin de chaîne) ou à 2 nœuds. Dans ce cas[Lequel ?] il peut faire transiter des échanges et pas seulement en recevoir ou en émettre. On distingue aussi le Host Bridge qui est la puce gérant le réseau[Lequel ?] (la plupart des échanges vont passer par elle[Qui ?], même s'ils ne lui sont pas destinés).

Architecture matérielle[modifier | modifier le code]

En réalité l'architecture du port HyperTransport est très flexible et l'on peut ajouter des composants spécifiques ayant plus de deux entrées sur le bus permettant d'étendre facilement l'architecture du bus. De plus l'HyperTransport permet des DMA (direct memory access)(accès direct à la mémoire), c'est-à-dire que la mémoire vive de l'ordinateur peut être connectée au host bridge pour être accessible par n'importe quel nœud du bus.

Mode de transmission[modifier | modifier le code]

Le port HyperTransport est fait, du point de vue matériel, de liens unidirectionnels qui sont doublés pour couvrir les échanges en émission et réception. D'une largeur de 2 à 32 bits chacun, ils permettent des connexions entre 300 et 800 MHz pour la version 1.1[b]. À ces lignes de données s'ajoutent : une ligne de contrôle (CTL), une ligne d'horloge (CLK) pour 8 lignes de données, et d'autres lignes de signaux utilisées pour l'initialisation (power on reset...).

Le mode de fonctionnement du bus à proprement parler passe par la structure de paquets. On y distingue deux types : les paquets de contrôle et les paquets de données (on pourrait même ajouter les paquets d'information qui servent généralement à gérer la vitesse du bus pour un transfert optimal). La distinction entre ces 2 types de paquets se fait d'une manière extrêmement simple : si la ligne CTL (de contrôle) est à niveau haut alors la transmission concerne un paquet de contrôle, sinon il s'agit d'un paquet de données.

Routage[modifier | modifier le code]

Les périphériques branchés au bus ne communiquent pas directement entre eux, ils émettent des paquets qui seront routés par un module HOST BRIDGE. Même si les deux périphériques sont côte à côte sur le bus, les paquets de communication passent par un module HOST BRIDGE ; ceci rallonge un peu le temps de communication, mais permet surtout d'avoir une gestion centralisée du bus, et ainsi d'éviter plus facilement les conflits.

Canal virtuel[modifier | modifier le code]

On distingue de nombreux modes d'émission sur le bus HyperTransport selon le type de paquet de contrôle (écriture, lecture, écriture suivie d'une lecture — posted / non posted request). Le démultiplexage de ces paquets se fait dans des canaux virtuels (virtual channels, implémentés dans les modules HyperTransport des périphériques connectés au bus) qui permettent à la logique interne des périphériques de distinguer la nature des informations ou des ordres qu'ils reçoivent.

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. Sauf bien sûr si la localisation géographique des processeurs et chipsets fait que ces accès se croisent
  2. La fréquence est réglable par multiples de 100 MHz, sauf 700 MHz qui en est exclu à cause des interférences avec les canaux TV UHF.

Références[modifier | modifier le code]

  1. HyperTransport Technology
  2. a b c et d Link Specifications, sur hypertransport.org, consulté le 16 mai 2017

Articles connexes[modifier | modifier le code]