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 :
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.
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
:
et normes s'il y a lieu |
|
|
commentaire |
FB+ ou Futurebus
+ IEEE 896 et ISO/IEC 10857 |
|
3200
Mo/s 256 b // 100 Mo/s, 32 b // |
commande+données successeur de VME |
VME64 IEEE P1014, révision D |
|
80 Mo/s, 64 b // | commande+données évolution de VME |
VME ou VersaModuleEuropa
IEEE 1014 |
|
40 Mo/s, 32 b // | commande+données applications courantes |
SCI ou Scalable Coherent Interface IEEE 1596 |
|
1000
Mo/s, 16 b // 250 Mo/s, série |
données processeurs hétérogènes en // |
SCX Cray Research |
|
1000 Mo/s, 32 b // | données processeurs hétérogènes en // |
QuickRing National Semiconductor |
|
200 Mo/s, 6 b // | données processeurs en // faible coût |
HIC ou Heterogeneous
Interconnect IEEE P1355 |
|
250 Mo/s, série | données processeurs en // faible coût |
ATM ou Asynchronous Transfert Mode ISO/ITU et Broadband ISDN |
|
300Mo/s, série | données réseaux locaux télécommunications |
FDDI ou Fiber Distributed Data Interface ISO 9314 |
|
12Mo/s, série | données réseaux locaux |
100BASE ETHERNET IEEE 802.14 |
|
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
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 |
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