Plusieurs GPU ? Attention
Pour la gestion des machines avec plusieurs GPU, il existe plusieurs solutions. La meilleure, et la plus simple, consiste à utiliser un chipset doté de 32 lignes PCI-Express, 16 pour chaque carte. La seconde, plus courante, permet de partager les 16 lignes d’un chipset sur deux connecteurs physiques, ce qui bride un peu les cartes, mais est généralement sans conséquence visible. La dernière consiste à câbler un connecteur en 16x et le second en 4x sur le southbridge, ce qui peut poser des problèmes : outre le fait que la bande passante en 4x est faible, la liaison doit aussi passer par le lien interbridge, lui aussi en 4x, et encombré par les autres interfaces (SATA, etc.) du PC.
Nouvelle semaine, nouveau thème. Nous allons donc nous intéresser aux interfaces internes et commencer par le PCI-Express.
Une interface série et modulable
Le PCI-Express est une norme qui succède au PCI et à l’AGP, apparue en 2004. Basée sur un fonctionnement série, elle est modulable : le PCI-Express propose ce qu’on appelle des lignes, qui peuvent êtres utilisées en parallèle. Une ligne offre une bande passante de 250 Mo/s (en PCI-Express classique) ou 500 Mo/s (PCI-Express 2.0). Le transfert des données sur une ligne s’effectue en série, avec une fréquence élevée (1,25 GHz ou 2,5 GHz) et un codage 8b/10b (10 bits réels pour 8 bits pratiques).
Plusieurs connecteurs
On retrouve différents connecteurs : le 1x, le 4x, le 8x et le 16x. La norme prévoit aussi un connecteur 32x, qui n’a jamais été utilisé. La valeur indique le nombre de lignes utilisées (entre 1 et 16, donc). Les connecteurs sont rétrocompatibles : une carte 1x peut être utilisée dans un connecteur 1x, 4x, 8x ou 16x sans aucun problème. De plus, les cartes 16x peuvent aussi être enchâssées dans des connecteurs 1x, 4x ou 8x si ceux-ci sont « ouverts ». Un port ouvert est un connecteur qui n’est pas fermé au niveau de la partie postérieure du connecteur, contrairement aux connecteurs classiques. Notons aussi que les connecteurs peuvent avoir un format physique d’un type (généralement 16x) mais être câblés dans un autre format (typiquement 8x).
Un connecteur pour une carte
Chaque connecteur est en fait dédié à un type de carte, même si évidemment rien n’est imposé. Typiquement, le connecteur 16x est dédié aux cartes graphiques (même si certains modèles existent aussi en 1x) et les cartes mères ne proposent généralement qu’un ou deux connecteurs de ce type (pour des configurations à deux GPU). Les connecteurs 4x et 8x sont rares dans le grand public et sont essentiellement utilisés pour des cartes professionnelles : contrôleurs RAID, cartes Ethernet 10 gigabits/s, etc. Enfin, le connecteur 1x remplace le port PCI, pour des cartes d’extension qui n’ont pas besoin de beaucoup de vitesse, comme les cartes Ethernet 1 gigabit/s, les cartes son, Wi-Fi, etc.
La gestion au niveau du chipset
Le PCI-Express est pris en charge par le chipset, mais le fonctionnement exact dépend du modèle. Typiquement, le PCI-Express est pris en charge par le northbridge pour la carte graphique et un northbridge récent prend en charge en général au moins 16 lignes PCI-Express. Certains modèles haut de gamme peuvent atteindre plus de 40 lignes (pour des configurations à deux ou trois GPU) qui peuvent être partagées entre différents connecteurs (et ce de façon dynamique). Le southbridge prend aussi en charge la norme, mais avec moins de ligne, souvent 4 ou 6 seulement, pour les cartes d’extension. Attention, Intel utilise aussi le PCI-Express pour la liaison entre les deux puces, ce qui limite le nombre de lignes réellement utilisables.
Le PCI-Express 2.0
En 2007, le PCI-Express 2.0 est apparu. Cette nouvelle version est totalement compatible avec la version classique (une carte PCI-Express 2.0 passe sur un connecteur classique et une ancienne carte fonctionne sur un connecteur 2.0), mais est plus rapide : la fréquence passe à 2,5 GHz et la bande passante est donc doublée. La majorité des cartes graphiques actuelles sont compatibles PCI-Express 2.0 alors que les autres cartes sont toujours bloquées à la version 1.x.
Cette présentation de la norme PCI-Express est maintenant terminée. À demain pour le PCI.