5.6.3 Bus internes de micro-ordinateurs (relativement) récents EISA et MCA
Les tours et détours des bus de micro-ordinateurs de type PC entre 1980 et 1995 sont riches en faits techniques et en manœuvres commerciales. Ils proviennent autant de l'absence de théorie que du fait que l'on n'utilise pas de normes.
L'histoire commence à la fin des années 70 avec la définition du PC (personal computer) par IBM qui sera commercialisé en 1981. Cette machine est atypique chez un constructeur qui a toujours maîtrisé la totalité des composants matériels et de système de ses produits : le processeur est fourni par Intel, le système d'exploitation est acheté à Microsoft, une petite société. Une rumeur a dit que cette machine était un passe-temps pour quelques ingénieurs qui avaient reçu l'autorisation de la concevoir sans mobiliser vraiment les services de développement de l'entreprise, occupés à des tâches importantes. Le LX500 de Logabax avait été conçu de la même façon.
IBM définit son architecture générale et en particulier le bus qu'il nomme en toute modestie ISA pour «industry standard architecture». Il est fait pour les processeurs Intel 8088 et 8086 cadencés à 4,77 MHz. Le succès du PC fait le succès du bus. L'absence de toute protection industrielle qui étonne encore aujourd'hui, ouvre la voie à une industrie de copie et de clonage. Au cours des années 80, le succès du bus ISA est total mais la part de marché détenue par IBM en ordinateurs personnels décroît rapidement.
MCA (micro channel architecture) provient de la décision d'IBM de reconquérir des parts de marché. MCA est conçu pour une nouvelle série de machines nommées PS/2 (personal system). Au contraire du précédent, il est très fortement protégé par plusieurs dizaines de brevets. Il n'accepte pas les cartes conçues pour ISA, on ne pourra pas réutiliser les cartes insérées dans les clones du PC. Les cartes nouvelles doivent contenir un code fourni par IBM, la fabrication incontrôlée de cartes d'extension sera arrêtée. Tout est donc parfaitement verrouillé. Il est en service en avril 1987 dans des machines équipées de processeurs 80286. Il est fourni en deux versions 16 et 32 bits de données. Sa licence est achetée par d'autres constructeurs.
Dans l'esprit de ses promoteurs, MCA doit être le nouveau standard de fait. Compaq, Olivetti, Tandy, Zénith, Nec, Epson, Hewlett-Packard, Wyse et Ast considèrent qu'il s'agit d'un verrouillage du marché juridique et financier. Ils annoncent le 13 septembre 1988 le bus EISA (expanded industry standard architecture) et prennent l'engagement de le laisser libre et gratuit. Ce premier groupe voit ensuite des départs et des arrivées parmi ses membres.
EISA accepte et gère les cartes conçues pour ISA, au contraire de MCA. À ce titre il est compatible ascendant avec son prédécesseur ce qui lui impose de maintenir sa fréquence à 8 MHz.
Sept ans plus tard, en juin 1994, IBM commence à diversifier ses produits. Howard Ford, directeur général adjoint du marketing pour l'Europe, le Moyen-Orient et l'Afrique déclare : «Nous n'avons plus de religion. Si des utilisateurs veulent acheter des PS/2 à bus EISA, nous leur en vendrons.»
Les deux bus EISA et MCA sont en voie d'abandon à la fin des années 90.
CARACTÉRISTIQUES NOUVELLES des bus EISA ET MCA PAR RAPPORT AU BUS ISA
EISA est une
extension d'ISA, à 32 bits pour l'Intel 80386.
MCA est un bus nouveau.
|
|
|
|
bus d'adresses |
|
|
|
bus de données |
|
|
|
mémoire maximum |
|
|
|
compatible ISA |
|
|
|
déclenchement des interruptions |
niveaux |
|
|
configuration automatique |
|
|
|
identificateurs attribués |
|
|
|
nombre de connecteurs |
|
|
|
maîtres de bus |
|
|
|
débit maximum |
|
|
|
ADM |
|
|
|
D2BIT ADM |
|
|
|
adresses sur 32 bits |
|
|
|
données sur 32 bits |
|
|
|
mode rafale |
|
|
|
consommation sous 5 volts |
|
|
L'INITIALISATION ET LA GESTION DES INTERFACES.
Sur le bus ISA, les cartes additionnelles reçoivent leur configuration de deux façons.
Les opérations se déroulent comme suit. Les numéros d'identification et tous les paramètres de configuration possibles de chaque carte sont enregistrés dans un fichier Adapter Description File (ADF), ce qui oblige à la codification citée plus haut. Ce sont les adresses utilisables, les interruptions et les arbitrages possibles. Huit numéros sont actifs dans une même machine, correspondant à huit cartes au plus. Les valeurs d'initialisation des registres sont sauvegardées en mémoire CMOS permanente.
Ensuite, à chaque mise sous tension, un test nommé Power On Self-Test (POST) est exécuté. Il compare les identifieurs enregistrés aux identifieurs des cartes présentes. S'il y a identité, les paramètres sont chargés dans les registres, sinon il faut exécuter à nouveau le programme de configuration et relancer le système.
L'ARBITRAGE DU BUS.
Le bus MCA reçoit huit cartes au plus comme il vient d'être dit. Celles qui sont équipées d'un processeur et nommées BUS MASTERS, peuvent prendre le contrôle du bus. Le mécanisme d'arbitrage entre les candidats à cette maîtrise est un système en deux parties, à seize niveaux. Un centre d'arbitrage de contrôle du bus nommé Central Arbitration Control Point est placé sur la carte mère. Un arbitre local est placé sur chaque carte de ce type.
Grossièrement, la centrale détecte une ou des demandes d'arbitrage affichées sur le bus. Elle lance un cycle d'arbitrage pendant lequel chaque candidat émet son degré de priorité. L'élu se détermine lui-même par examen des différents degrés présentés. Toutes les demandes présentes lors d'un arbitrage sont satisfaites selon leur priorité sans prendre de nouvelles demandes en compte. Le dispositif le plus prioritaire ne peut pas monopoliser le bus, il y a équité.
Le bus EISA possède lui aussi une centrale d'arbitrage sur la carte mère. Les cartes additionnelles candidates doivent aussi posséder un contrôleur de bus. Notons que les cartes ISA ne peuvent pas, par construction, être maîtresses de bus puisqu'elles ne disposent pas du contrôleur nécessaire.
Les droits d'accès sont ici attribués par cycles. Le premier cycle est DMA, rafraîchissement de la mémoire, UC/Maîtres. Le second est UC puis maître. Le processeur est un «périphérique du bus», sans priorité absolue.
5.6.4 Autres bus internes : bus locaux, PCI, AGP et circuits associés
Pendant les années 1980, les PC avaient un seul bus. La situation a changé à l'arrivée du 80386. Une machine de bureau peut avoir aujourd'hui une demi douzaine de bus.
BUS LOCAUX
Un bus local, VESA pour «Video electronics standard association» a été conçu pour connecter la vidéo aux processeurs Intel 80486. Il était représentatif des bus locaux, opérait sur 32 bits, était synchronisé avec le processeur jusqu'à 33 MHz, et avec la mémoire. Il était placé entre le couple processeur et mémoire et le bus ISA conservé pour les périphériques lents ou asynchrones. Sa fonction était d'accélérer les transferts avec le contrôleur graphique devenu gourmand de grands débits par la généralisation de l'affichage graphique. Il est supplanté par le PCI.
BUS PCI (Peripheral Computer Interface)
Ses caractéristiques varient selon les versions :
![]() |
Un ISA est alors largement suffisant pour les périphériques lents. |
![]() |
Bus AGP
Le bus AGP pour «Advanced graphic port» a été défini par Intel pour les cartes graphiques. Il fonctionne à 66MHz. Il banalise la mémoire centrale qui peut être utilisée directement par la carte graphique.
5.6.5 Les circuits de gestion des bus (chipset)
Jusqu'en
1986, chaque contrôleur de circuit était constitué d'une
puce dans les PC. En 1986, la société Chips&Technologies
a produit le circuit 82C206 et quatre autres circuits soit 5 au lieu de 9
à 11, sous le nom de jeu de circuits (chipset). Ce jeu offrait d'énormes
avantages par rapport aux systèmes précédents, où
chaque contrôleur possédait une puce propre. En effet, cela a
réduit les coûts de fabrication et de la place a été
libérée sur la carte-mère pour augmenter le nombre d'extensions.
Ce jeu a été suivi du NEAT (New Enhanced Chipset AT). Ce dernier
a permis d'éliminer un composant de plus, portant ainsi le nombre
total de puces à 1+3. Finalement, le jeu surnommé SCAT (Single
Chip AT) a été commercialisé. Avec ce dernier, plus
besoin de circuits secondaires, tout était intégré en
une seule puce.
Ces circuits sont la base des cartes mères et trop souvent considérés comme quantité négligeable. Ils gèrent les bus et donc la mémoire et le cache externe. Ils conditionnent les performances du système. On signale ci-après quelques jeux de circuits d'Intel à titre d'exemple de la variété de ces réalisations. On commence par le plus ancien. En règle générale, un jeu de circuits possède les capacités du précédent.
430FX PCIset
gère le bus PCI en mode 100 Mo/s, la mémoire EDO et un cache
externe SRAM.
430VX PCIset gère les
SDRAM.
430HX PCIset gère les
«optimized EDO», le «Concurent PCI» et le «BGA
Packaging».
430TX PCIset a été
adapté à la gestion des instructions MMX, il gère l'Ultra
DMA-33, le SMBus, le DPMA. Il contient des options d'économie d'énergie.
440FX PCIset est fait pour
les Pentium Pro. Il gère le «Concurent PCI» et l'USB.
440LX AGPset est fait pour
les Pentium II. Il gère le bus AGP, et l'ACPI. 440BX AGPset
gère le bus à 100mhz, et le double P2.
450xx sont destinés
aux serveurs à base de Pentium Pro et de Xéon
etc.
Circuit de type HX
Ces circuits sont (mais pour combien
de temps?) en deux parties: le Pont Nord et le Pont Sud (North bridge et
South Bridge), voir figure ci-dessous.
Le Nord est interface entre le processeur et la carte-mère. Il commande la mémoire centrale et le cache externe. Il est interface entre le bus principal, à 66 ou 100Mhz et le bus d'extension AGP. Il fonctionne à la fréquence du bus du processeur.
Le Sud est à une fréquence plus basse. Il est interface entre le bus ISA ou EISA et le PCI ainsi que les connecteurs d'entrées et sorties comme les prises série, parallèles, les bus externes comme USB, les contrôleurs EIDE et de lecteurs de disquettes. Il prend aussi en charge l'horloge du système, les contrôleurs d'interruption et le canal d'accès direct à la mémoire.
Cette séparation
a un motif d'économie, un même boîtier Sud est utilisable
avec des boîtiers Nord différents qui suivent au plus près
la fréquence du bus processeur.
Le numéro que l'on donne est
celui du composant Nord.
Exemple d'organisation
autour de puces de commande :
Le clavier et la souris sont connectés
soit à un USB, soit au gestionnaire d'entrées et sorties.
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