Section courante

A propos

Section administrative du site

PCI-X

IBM, HP, Compaq
Architecture

Introduction

Le PCI-X, abréviation de Peripheral Component Interconnect eXtended, est une évolution à hautes performances du bus PCI conventionnel, développée principalement pour répondre aux besoins croissants des serveurs, stations de travail et systèmes professionnels de la fin des années 1990 et du début des années 2000. Contrairement à PCI Express (PCIe), qui constitue une architecture série point à point entièrement différente, PCI-X conserve l'architecture générale du PCI classique : il s'agit toujours d'un bus parallèle partagé, mais amélioré pour fonctionner à des fréquences beaucoup plus élevées et exploiter plus efficacement la bande passante disponible.

PCI-X est développé conjointement à partir de 1998 par IBM, Hewlett-Packard et Compaq. Les trois constructeurs cherchent alors à dépasser les limitations du PCI utilisé dans les serveurs, notamment pour des périphériques exigeants comme les contrôleurs Gigabit Ethernet, Fibre Channel et Ultra3 SCSI. Leur proposition prévoit notamment un fonctionnement à 133 MHz, soit le double des 66 MHz des variantes PCI rapides existantes. Elle est ensuite soumise au PCI-SIG, l'organisme responsable de la normalisation de la famille PCI.

La première génération, PCI-X 1.0, porte la fréquence maximale à 133 MHz. Avec un bus de données de 64 bits, elle permet d'obtenir une bande passante théorique d'environ 1,06 Go/s. PCI-X ne se contente cependant pas d'augmenter la fréquence : il améliore également le protocole de transaction, notamment grâce aux transactions fractionnées (split transactions), qui libèrent le bus pendant qu'un périphérique prépare sa réponse. Le PCI-SIG souligne que cette amélioration permet d'utiliser la bande passante plus efficacement.

La seconde génération, PCI-X 2.0, pousse l'architecture beaucoup plus loin avec les modes PCI-X 266 et PCI-X 533. En configuration 64 bits, PCI-X 533 atteint théoriquement environ 4,26 Go/s. Cette version introduit également des mécanismes tels que l'ECC, une signalisation à 1,5 V, des source-synchronous strobes et certaines fonctions destinées aux communications entre périphériques.

PCI-X connaît principalement le succès dans les serveurs professionnels. On le retrouve notamment sur des systèmes Compaq/HP ProLiant, IBM et diverses stations de travail. Il reste toutefois une évolution du bus parallèle PCI et conserve certaines de ses limitations fondamentales. L'arrivée de PCI Express, utilisant des connexions série point à point dédiées, entraîne donc progressivement son remplacement au cours des années 2000.

Spécifications générales

Spécification Description
Nom PCI-X
Signification Peripheral Component Interconnect eXtended
Type Bus parallèle d'extension
Développeurs initiaux IBM, Hewlett-Packard et Compaq
Proposition initiale 1998
PCI-X 1.0 Fin des années 1990
PCI-X 2.0 2002
Organisme de normalisation PCI-SIG
Architecture Bus parallèle partagé
Largeur courante 64 bits
PCI-X 1.0 Jusqu'à 133 MHz
PCI-X 2.0 Jusqu'à 533 MHz
Débit PCI-X 133, 64 bits ≈ 1,06 Go/s
Débit PCI-X 266, 64 bits ≈ 2,13 Go/s
Débit PCI-X 533, 64 bits ≈ 4,26 Go/s
Bus mastering Oui
Transactions fractionnées Oui
ECC du bus Ajouté par PCI-X 2.0
Compatibilité PCI Compatibilité descendante logique importante, avec restrictions électriques
Utilisation principale Serveurs et stations de travail
Successeur PCI Express

Le PCI-SIG confirme que PCI-X 1.0 monte jusqu'à 133 MHz, tandis que PCI-X 2.0 introduit les modes 266 et 533 MHz ainsi que l'ECC.

Origine de PCI-X

À la fin des années 1990, le PCI conventionnel commence à constituer un goulet d'étranglement dans les serveurs.

Le PCI classique fonctionne généralement en :

soit environ :

Une évolution PCI permet déjà :

soit environ :

Cette bande passante devient néanmoins insuffisante pour certains serveurs utilisant simultanément plusieurs interfaces rapides.

Les constructeurs doivent notamment prendre en charge :

C'est dans ce contexte qu'IBM, Compaq et Hewlett-Packard annoncent en 1998 leur projet PCI-X.

Une évolution du PCI

Il est important de comprendre que PCI-X n'est pas une architecture entièrement nouvelle.

Il constitue une évolution de :

Le PCI-SIG indique que PCI-X reprend notamment les :

PCI-X améliore ensuite cette base afin d'augmenter la fréquence et l'efficacité des transactions.

On peut donc représenter son évolution ainsi :

PCI 32 bits / 33 MHz

PCI 64 bits / 66 MHz

PCI-X 1.0 / 133 MHz

PCI-X 2.0 / 266 et 533 MHz

Architecture parallèle

PCI-X reste un :

Plusieurs bits sont transmis simultanément sur différentes lignes électriques.

Cela le distingue radicalement de PCI Express.

PCI-X

PCI Express

PCI Express utilise des liens série indépendants point à point, alors que PCI-X reste fondamentalement basé sur un bus parallèle partagé.

Largeur du bus

La configuration la plus caractéristique de PCI-X utilise :

de données.

Cette largeur permet de transférer :

par opération de données.

PCI-X reste cependant lié à l'héritage du PCI, et la famille comprend également certaines possibilités de fonctionnement avec des largeurs différentes. PCI-X 2.0 introduit même officiellement une variante 16 bits destinée notamment aux applications embarquées où la réduction du nombre de broches peut être avantageuse.

Pour les serveurs et stations de travail classiques, toutefois, PCI-X est essentiellement associé au bus 64 bits.

PCI-X 1.0

La première génération améliore fortement les performances du PCI.

Les principaux modes sont :

Mode Largeur Débit théorique
PCI-X 66 64 bits ≈ 533 Mo/s
PCI-X 100 64 bits ≈ 800 Mo/s
PCI-X 133 64 bits ≈ 1 066 Mo/s

Le mode le plus connu est donc :

soit :

8 octets × 133 millions/s

≈ 1 064 Mo/s

ou environ :

Le PCI-X proposé en 1998 était justement présenté comme un bus 64 bits capable de fonctionner à 133 MHz et de dépasser 1 Go/s.

PCI-X 2.0

La spécification :

est développée afin de poursuivre l'augmentation de la bande passante.

Elle introduit notamment :

et :

Le PCI-SIG confirme officiellement ces deux nouvelles fréquences.

En 64 bits, les débits théoriques deviennent :

Mode Fréquence effective Largeur Débit maximal théorique
PCI-X 66 66 MHz 64 bits ≈ 533 Mo/s
PCI-X 100 100 MHz 64 bits ≈ 800 Mo/s
PCI-X 133 133 MHz 64 bits ≈ 1,06 Go/s
PCI-X 266 266 MT/s équivalent 64 bits ≈ 2,13 Go/s
PCI-X 533 533 MT/s équivalent 64 bits ≈ 4,26 Go/s

Attention à une subtilité importante

Dire simplement que PCI-X 2.0 fait fonctionner électriquement le bus parallèle conventionnel à une horloge physique de 533 MHz est une simplification.

Les modes PCI-X 266 et 533 utilisent notamment des source-synchronous strobes et des techniques de transfert améliorées permettant d'atteindre ces débits de données. Le PCI-SIG associe bien PCI-X 2.0 aux classes 266 et 533, mais leur fonctionnement électrique est plus sophistiqué qu'une simple multiplication de l'horloge PCI originale.

Transactions fractionnées

Une amélioration fondamentale de PCI-X est la :

ou :

Avec certains mécanismes PCI traditionnels, lorsqu'un périphérique n'est pas prêt à répondre, le bus peut perdre du temps.

PCI-X améliore ce fonctionnement.

Le périphérique peut essentiellement recevoir une requête, libérer le bus, puis fournir sa réponse lorsqu'elle est disponible.

Schématiquement :

Cela améliore considérablement l'utilisation du bus lorsque plusieurs périphériques rapides fonctionnent simultanément.

Le PCI-SIG cite précisément les split transactions comme l'une des améliorations importantes de PCI-X 1.0.

Bus mastering

PCI-X permet également le :

Une carte d'extension peut prendre temporairement le contrôle du bus pour effectuer des transferts.

Cela permet par exemple à un contrôleur RAID de transférer directement des données entre :

disques → contrôleur RAID → mémoire

sans demander au processeur d'effectuer individuellement chaque transfert.

Cette caractéristique est particulièrement importante dans les serveurs.

DMA

PCI-X est naturellement adapté aux transferts :

Un contrôleur peut ainsi transférer de grandes quantités de données directement vers la mémoire.

Par exemple :

Disques SCSI

Contrôleur PCI-X

DMA

Mémoire système

Le processeur intervient principalement pour prépare

r et superviser l'opération plutôt que pour copier lui-même chaque octet.

ECC dans PCI-X 2.0

PCI-X 2.0 introduit une amélioration particulièrement importante pour les serveurs :

Le PCI-SIG indique que l'ECC améliore la robustesse de l'interface et permet de mieux détecter et corriger certaines erreurs affectant les communications.

Cette fonction correspond parfaitement au marché visé par PCI-X :

PCI-X 2.0 introduit également une signalisation :

Cette réduction de tension contribue à permettre les vitesses supérieures de la nouvelle génération.

Le PCI-SIG cite explicitement :

parmi les nouveautés de PCI-X 2.0.

Compatibilité avec PCI

L'un des grands objectifs de PCI-X est de préserver autant que possible la compatibilité avec le PCI existant.

Le PCI-SIG indique que :

Mais il existe une nuance essentielle :

Les cartes PCI-X 266 et PCI-X 533 utilisent des interfaces compatibles :

mais ne sont pas compatibles avec le PCI 5 V.

Il faut donc vérifier :

Le connecteur PCI-X le plus caractéristique est très proche du :

PCI 64 bits

Il est donc sensiblement plus long qu'un slot PCI 32 bits traditionnel.

On peut simplifier :

La ressemblance n'est pas accidentelle : PCI-X a été conçu c0omme une évolution compatible de l'écosystème PCI.

Partage de la bande passante

Contrairement à PCI Express, plusieurs périphériques PCI-X peuvent partager un même segment de bus.

Par exemple :

La bande passante disponible appartient alors au :

et non individuellement à chaque carte.

Si plusieurs cartes effectuent simultanément des transferts intensifs, elles doivent donc se partager les ressources du bus.

Influence du périphérique le plus lent

Cette architecture partagée entraîne une limitation importante.

Selon la conception du système et la manière dont les slots sont regroupés derrière les contrôleurs ou ponts PCI-X, l'installation d'un périphérique plus lent peut imposer une fréquence inférieure au segment concerné.

Un serveur bien conçu peut donc utiliser plusieurs segments indépendants afin d'éviter qu'une carte lente réduise les performances de toutes les autres.

C'est l'une des raisons pour lesquelles les cartes mères de serveurs PCI-X peuvent comporter plusieurs contrôleurs ou ponts.

Utilisation dans les serveurs

PCI-X est principalement destiné aux :

et :

Il est particulièrement adapté aux cartes demandant une forte bande passante :

Les constructeurs de serveurs avaient précisément développé PCI-X pour répondre à l'augmentation rapide des besoins d'E/S de ce type de matériel.

PCI-X chez Compaq et HP

PCI-X est particulièrement important dans l'histoire de :

puis :

puisque Compaq fait partie des trois entreprises à l'origine de la technologie.

Après le rachat de Compaq par HP, de nombreux serveurs ProLiant utilisent des emplacements PCI-X.

HPE confirme d'ailleurs que certaines cartes PCI-X peuvent fonctionner dans des slots PCI 3,3 V compatibles, tout en précisant que des restrictions propres aux chipsets peuvent exister.

Cela explique pourquoi vous rencontrerez très fréquemment la mention PCI-X dans les fiches techniques de serveurs Compaq ProLiant et HP ProLiant du début des années 2000.

PCI-X chez IBM

IBM est également l'un des trois développeurs originaux de PCI-X.

La technologie correspond particulièrement bien à ses besoins dans les :

L'annonce de 1998 associe explicitement :

au développement de la nouvelle extension du PCI.

PCI-X et Apple

PCI-X n'est pas exclusivement utilisé sur les serveurs x86.

Apple l'utilise également sur certaines générations du :

avant de passer à PCI Express.

Cela illustre l'un des avantages hérités de PCI : PCI-X n'est pas intrinsèquement lié à l'architecture x86.

PCI-X contre PCI

Caractéristique PCI PCI-X 1.0
Architecture Parallèle Parallèle
Bus partagé Oui Oui
Largeur courante 32 bits 64 bits
Fréquence typique 33 MHz 66 à 133 MHz
Débit typique 32/33 133 Mo/s -
Débit 64/66 533 Mo/s 533 Mo/s
Débit maximal PCI-X 1.0 - ≈ 1,06 Go/s
Split transactions améliorées Non comme PCI-X Oui
Marché dominant PC Serveurs/stations
Compatibilité Base de l'architecture Dérivé de PCI

PCI-X peut donc être considéré comme une évolution haute performance du PCI parallèle.

PCI-X contre PCI Express

Une erreur extrêmement fréquente consiste à croire que :

C'est faux.

Le X de PCI-X signifie :

et non :

Les architectures sont très différentes.

Caractéristique PCI-X PCI Express
Nom complet PCI eXtended PCI Express
Architecture Parallèle Série
Topologie Bus partagé Point à point
Largeur caractéristique 64 bits x1, x2, x4, x8, x16...
Fréquence / génération Jusqu'à PCI-X 533 Générations PCIe
Bande passante Partagée sur un segment Dédiée à chaque lien
Transactions Architecture PCI améliorée Paquets
Usage historique Serveurs PC, serveurs, GPU, SSD...
Situation actuelle Obsolète Standard dominant

Pourquoi PCI Express a remplacé PCI-X

PCI-X améliore considérablement le PCI, mais il reste limité par son architecture parallèle.

Lorsque la fréquence augmente, il devient de plus en plus difficile de maintenir la synchronisation correcte de nombreuses lignes électriques parallèles.

Il faut gérer :

PCI Express résout une grande partie de ces difficultés en adoptant des :

Chaque périphérique obtient alors sa propre connexion au commutateur ou au contrôleur PCIe.

PCI-X et PCI Express dans le même serveur

Pendant la transition technologique, certains serveurs disposent simultanément de :

et :

Cela permet aux entreprises de continuer à utiliser leurs coûteux contrôleurs PCI-X tout en adoptant progressivement les périphériques PCIe.

Des ponts :

ont également été normalisés. Le PCI-SIG publie par exemple dès 2003 une spécification définissant l'architecture de ces ponts.

Avantages

Les principaux avantages de PCI-X sont :

Inconvénients

PCI-X présente également plusieurs limitations :

Évolution de la famille PCI

L'évolution historique peut être résumée ainsi :

Il faut toutefois préciser que PCI Express n'est pas techniquement une nouvelle version parallèle de PCI-X : il constitue une architecture d'interconnexion différente.

Comparaison des débits

Architecture Configuration Débit théorique
PCI 32 bits / 33 MHz 133 Mo/s
PCI 64 bits / 66 MHz 533 Mo/s
PCI-X 100 64 bits 800 Mo/s
PCI-X 133 64 bits 1,06 Go/s
PCI-X 266 64 bits 2,13 Go/s
PCI-X 533 64 bits 4,26 Go/s

Ces chiffres représentent des débits théoriques maximaux et non les performances réelles d'une carte. Les protocoles, arbitrages, périphériques, contrôleurs et charges de travail réduisent généralement le débit réellement obtenu.

Comparaison avec les autres bus

Architecture Introduction Type Utilisation principale
ISA 8 bits 1981 Parallèle IBM PC
ISA 16 bits 1984 Parallèle PC/AT
MCA 1987 Parallèle IBM PS/2
EISA 1988 Parallèle Serveurs
VLB 1992 Parallèle PC 486
PCI 1992 Parallèle PC et serveurs
AGP 1997 Parallèle, point à point Carte graphique
PCI-X 1998-1999 Parallèle Serveurs et stations
PCI Express 2003-2004 Série, point à point PC, serveurs et périphériques modernes

Importance historique

Le PCI-X représente l'une des dernières grandes évolutions du bus PCI parallèle. Développé à partir de 1998 par IBM, Hewlett-Packard et Compaq, il répond directement à un problème rencontré par les constructeurs de serveurs : les processeurs, réseaux et systèmes de stockage progressent beaucoup plus rapidement que les interfaces d'entrées/sorties traditionnelles.

Avec PCI-X 1.0, la fréquence maximale passe à 133 MHz et la configuration 64 bits peut fournir environ 1,06 Go/s de bande passante théorique. L'amélioration ne repose pas seulement sur la fréquence : les transactions fractionnées permettent également une meilleure utilisation du bus lorsqu'un périphérique met du temps à répondre.

PCI-X 2.0 pousse ensuite la technologie jusqu'aux classes 266 et 533, tout en ajoutant l'ECC, une signalisation 1,5 V et des techniques de synchronisation adaptées aux débits supérieurs. En 64 bits, la version la plus rapide peut atteindre théoriquement environ 4,26 Go/s.

Malgré ces performances impressionnantes pour un bus parallèle, PCI-X arrive près des limites pratiques de cette approche. Plus les fréquences augmentent, plus il devient difficile de synchroniser un grand nombre de lignes parallèles et de partager efficacement le bus entre plusieurs périphériques.

L'apparition de PCI Express change donc profondément l'architecture des ordinateurs. Avec ses liaisons série point à point et sa bande passante évolutive par nombre de voies, PCIe remplace progressivement PCI-X dans les serveurs et stations de travail.

PCI-X demeure néanmoins historiquement important : il constitue le chaînon haute performance entre le PCI parallèle classique et l'époque PCI Express, et son rôle est particulièrement notable dans les serveurs Compaq/HP ProLiant, IBM et autres systèmes professionnels du début des années 2000.



Dernière mise à jour: Vendredi, le 31 janvier 2020