Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003

Suite N°7...

5.6.6 Conclusion sur les bus internes

Le meilleur bus n'est pas celui qui a le plus grand débit, ce n'est pas, à tout coup, celui du fabricant du microprocesseur de la machine. Ce n'est plus jamais un bus unique comme à la fin des années soixante.

Le choix d'un bus ne doit dépendre que des besoins, des problèmes à résoudre et des contraintes à respecter, techniques, économiques, etc. Il ne faut pas lui donner des capacités qui resteraient inexploitées. La prolifération des seules normes ou projets de normes, on en comptait 1394 en 1994 dit-on, montre qu'il n'y a pas de solution optimale générale. Seul le projet Futurebus+ veut en fournir une à terme.

Ces normes et produits ont trois origines principales :

Un bus ne doit pas assurer seulement la compatibilité entre les composants et lui-même, mais aussi leur capacité à opérer entre eux ou interopérabilité. Dans les années 1970, le bus S100 destiné par Intel au 8080, avait quelques spécifications d'horloge entre composants imparfaitement définies. Des incompatibilités pouvaient donc subsister entre eux bien qu'ils fussent donnés chacun pour être compatible avec le bus. Cela a considérablement réduit sa diffusion. De façon moins visible, l'absence de normalisation des messages et des formats de données était une faiblesse du HPIB avant que la normalisation n'ait progressé. Les plus anciens ont le souvenir des inconvénients des simples voies séries dites conformes à l'avis V24, le hic était que cet avis définit des circuits mais ne précise pas l'affectation des broches. La conséquence était que le signal émis sur la broche 6 était attendu sur une autre broche.

Les bus ont évolué de la propriété du constructeur à la norme dont les spécifications sont complètes et libres en passant par le produit standard. Pour une grande partie, la compétition entre MCA, bus protégé d'IBM, et EISA, bus libre d'un groupe de fabricants s'est jouée sur la liberté d'accès aux spécifications avant que PCI ne rafle la mise tout en donnant une nouvelle jeunesse au marché d'ISA. EISA bien que libre, était pénalisé par l'obligation d'utiliser un circuit dont Intel était seul fournisseur.

L'essentiel est de pouvoir interconnecter des produits différents. Ce marché est récent. Avant 1980 on achetait non seulement l'ordinateur mais aussi tous les périphériques au même fournisseur. Le choix était simple et toujours onéreux. L'auteur a le souvenir d'une carte de transmission série pour un Mini6 dont le prix (dans les années 70) était de plusieurs dizaines de milliers de francs. La normalisation a commencé avec la ligne série, puis avec l'interface parallèle dit Centronics pour les microordinateurs.

Les performances des composants ayant fortement divergé, le schéma de base du bus unique est abandonné. Les bus deviennent hiérarchisés comme les mémoires ainsi qu'on le voit sur la figure suivante. L'exhaustivité voudrait que l'on y ajoute les bus qui relient directement le processeur à ses caches.

5.6.7 Les familles (en voie de disparition)

Les grands fabricants proposaient des familles de bus. Les trois grandes familles sont celles de DEC, INTEL et MOTOROLA. Elles sont en fin de vie car elles datent du temps où les performances du processeur et celles de la mémoire étaient voisines.

La famille DEC contenait le Qbus dont les spécifications étaient largement publiées. Il y avait moins d'information sur SBI (Synchronous Backplane Interconnect) du VAX 11/780 et le Massbus de ses périphériques, qui restaient propriété privée. Le VAX BI plus récent était pour DEC, celui des années 90.

Intel : le Multibus I est le plus ancien, une famille en a été dérivée : bus de mémoires, bus périphérique et extension d'entrées et sorties. Multibus II contient des dispositifs nouveaux par rapport à Multibus I, comme le passage de messages.

Motorola VME a été développé en même temps qu'un bus proche parent, Versabus, initialement destiné à la famille 68000. D'autres processeurs s'y sont ralliés. Sa famille contient les bus de mémoire, de périphériques et un bus série. Il a eu de nombreuses extensions comme :
.Heterogeneous interconnect (HIC) de SGS-Thompson;
.Scalable coherent interface (SCI) normalisé IEEE 1596.

Les nouveaux bus propriété des constructeurs n'existent encore que pour les stations de travail (un peu) et les grandes machines.

MBus ou Module Bus est un ancien bus de SPARC, il date de 1991. Il est synchrone, relie le processeur à la mémoire et est optimisé pour des communications très rapides entre un faible nombre de résidents (jusqu'à 16). Il a un bus d'adresses et de données de 64 bits multiplexé. Les adresses sont sur 36 bits, les 28 bits restants sont utilisés comme information de contrôle. Sa fréquence est de 40 MHz. Il a deux spécifications, niveau-1 et niveau-2. Le niveau-1 est destiné aux monoprocesseurs, il gère deux transactions : lecture et écriture. Le niveau-2 est destiné aux multiprocesseurs. Il ajoute quatre transactions et deux signaux pour la cohérence des caches.

Les Ultra AXi et UltraSPARC II utilisent trois bus différents.

.SBus qui existe en deux versions. La version 32 bits avec un débit de 40 Mo/s et la version 64 bits avec un débit de 100 Mo/s. Le système reconnaît automatiquement le type de carte installée et adapte la vitesse en fonction. Les stations de travail disposent de deux ou quatre emplacements SBus; les serveurs Enterprise ont 64 emplacements SBus.
.PCI est présent dans les modèles Ultra30 et Ultra450.
.UPA des UltraSPARC. Un maximum de 64 emplacements UPA par modèle est disponible.

L'architecture Ultra Port (UPA) fait appel à un «Crossbar switch» interne reliant et coordonnant l'UC, la mémoire et les entrées-sorties du système. Son débit atteint 1,6 Go par seconde.

Quelques bus à 32 bits

 
Nom Référence
IEEE
Adresses Données Type Multi
plexage
Débit 
Mo/s
Commande Pattes
Fastbus 960 32 32 Asynchrone Oui 165 ECL 130
VMEbus P1014 16-32 16-32 Asynchrone Non 40 TTL 96-128
Nubus P1296 32 32 Synchrone Oui 37,5 TTL 96
MultibusII P1296 32 16-32 Synchrone Oui 40 TTL 96
IBM MCA néant 16-24-32 8-16-32 Asynchrone Non 17 TTL 198
EISA néant 16-24 8-16-32 Synchrone Non 33 TTL 198
Sun Sbus néant 32 16-32 Synchrone Non 57 CMOS 96
Futurebus P896.1 32-64 32-64
128-256
Asynchrone Oui 400-
3200
BTL* 192
SCI** P1596 64 64 logiques
16 physiques
Non défini Oui 1000 par
nœud
ECL Non
défini

*BTL : Backplane Transceiver Logic, réduit la capacité en isolant le transistor  en collecteur ouvert par une diode Schottky a faible  capacité en série.

**SCI : Scalable Coherent Interface, il ne s'agit pas vraiment d'un bus mais d'un interface qui fournit toutes les possibilités d'interfaçage entre modules. Il définit un connecteur pour insérer un processeur en réseau crossbar, anneau, ou tout autre réseau.

Multiplexage : des lignes d'adresses et de données.

Quelques bus publics actuels et futurs à grands débits :
 
NOMS
et normes s'il y a lieu
SORTIE
PERFORMANCES
USAGE
commentaire
FB+ ou Futurebus +
IEEE 896 et ISO/IEC 10857
1994
3200 Mo/s 256 b //
 100 Mo/s, 32 b //
commande+données
successeur de VME
VME64
IEEE P1014, révision D 
1994
  80 Mo/s, 64 b // commande+données
évolution de VME
VME ou VersaModuleEuropa
IEEE 1014
1987
  40 Mo/s, 32 b // commande+données
applications courantes
SCI ou Scalable Coherent Interface IEEE 1596
1992
1000 Mo/s, 16 b //
 250 Mo/s, série
données processeurs hétérogènes en //
SCX
Cray Research
1999
1000 Mo/s, 32 b // données processeurs hétérogènes en //
QuickRing
National Semiconductor
1998
 200 Mo/s, 6 b // données processeurs en // faible coût
HIC ou Heterogeneous Interconnect
IEEE P1355
1999
 250 Mo/s, série données processeurs en // faible coût
ATM ou Asynchronous Transfert Mode ISO/ITU et Broadband ISDN
1997
 300Mo/s, série données réseaux locaux télécommunications
FDDI ou Fiber Distributed Data Interface ISO 9314
1990
  12Mo/s, série données
réseaux locaux
100BASE ETHERNET
IEEE 802.14
1996
  12Mo/s, série données réseaux locaux
évolution d'Ethernet

Note sur Futurebus+ :

Ce bus est complètement spécifié. Ses auteurs veulent en faire le successeur unique de Multibus et de VME. Son succès n'est pas éclatant.

Il a la même structure de base que VME. L'objectif de remplacement à terme VME et Multibus II devrait être atteint en augmentant considérablement le débit. Futurebus+ accepte jusqu'à 32 noeuds connectés. Une méthodes utilisée pour augmenter le débit est d'élargir le chemin de données : les configurations sont normale à 64 lignes, réduite à 32, étendues à 128 et 256. Les autres améliorations sont de nature électrique. La fréquence peut être portée à plus de 100 MHz. À 100 MHz et 256 lignes de données, le débit est de 3200 Mo/s, soit 25 fois plus que VME64.

L'arbitrage est centralisé ou distribué. Il y a plusieurs modes de transferts, de partage de ressources, des dispositifs pour le partage de mémoire avec cohérence de cache et un logiciel normalisé d'interface : Control and Status Register (IEEE1212). En sa défaveur, il y a le nombre de conducteurs et l'absence de mode de correction d'erreur qui nécessite son doublement.

Les concepteurs du Futurebus+ ont dès le début couru deux lièvres à la fois. Ils le voulaient bus de mémoire et bus d'entrées et sorties. La place était déjà occupée par PCI pour le bus interne. Pour les entrées et sorties on se contente toujours d'ISA ou d'une connexion directe à PCI. Les réalisations n'ont pas atteint les 500 à 600 Mo/s, les premières plafonnaient à 125 Mo/s. L'échec paraît du à sa mécanique : le format de ses cartes 300x300mm est inhabituel et excessif au regard des 160x233mm de VME. De plus, la logique nécessaire est plus importante que pour les autres bus et donc est plus chère.

Complément sur les performances

Cmparaison de quelques bus où l'on voit l'influence de l'attente en termes de bande passante :

BUS VME
IEEE 1014
FutureBus
IEEE 896.1
Multibus II
ANSI/IEEE1296
SCSI
ANSI X3.131
Largeur minimale 128 96 96 8
Multiplexage adresses-données NON OUI OUI SERIE
Largeur, chemin de données en bits 16/32/64 32/64/128 32 8
Transfert Bloc unique Bloc unique Bloc unique Bloc unique
Maîtres Multiples Multiples Multiples Multiples
Trasactions imbriquées  NON Optionnelle Optionnelle Optionnelle
Horloge ? Asynchrone Asynchrone Synchrone Les deux
Bande passante un seul mot, 
pas d'attente
25 Mo/s 37 Mo/s 20 Mo/s 5 Mo/s synchrone, 
1,5Mo/s asynchrone
Bande passante un seul mot, 
attente 150 ns 
12,9 Mo/s 15.5 Mo/s 10 Mo/s 5 Mo/s synchrone, 
1,5Mo/s asynchrone
Bande passante bloc infini, 
pas d'attente
27,9 Mo/s 95,2 Mo/s 40 Mo/s 5 Mo/s synchrone, 
1,5Mo/s asynchrone
Bande passante bloc infini, 
attente 150 ns
13,6 Mo/s 20,8 Mo/s 13,3 Mo/s 5 Mo/s synchrone, 
1,5Mo/s asynchrone
Nombre maximum d'appareils connectés 21  20 21 7
Longueur maximale 0,5 m 0,5 m 0,5 m 25 m

Questionnaire

Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003