LES BUS D'EXPANSION


Tiré d'un article intitulé «Bios Survival Guide», traduit de l'anglais par Charles Gigučre.

L'utilité d'un bus d'expansion est de permettre aux utilisateurs d'ajouter du matériel (une carte dans une fente d'expansion) à un PC utilisant des connecteurs standards. Les avancements technologiques, spécialement ceux dans le développement des microprocesseurs extrêmement rapide, ont donné naissance à toute une gamme de bus d'expansion. Le blâme concernant les taux de transfert de données insuffisants n'impliquait plus les processeurs, mais plutôt les composantes d'entrées/sorties tels que les disques rigides, les cartes réseau et les cartes vidéo. C'est la raison pour laquelle les manufacturiers ont cherché des façons plus efficace d'interfacer le bus d'expansion avec le processeur central.

Le bus d'expansion est une extension du processeur central, lorsque des cartes lui sont ajoutés, ce sont les capacités même du processeur qui sont étendues. Les anciennes cartes ont beaucoup de difficultés à tenir le coup face aux bus modernes dont les vitesses sont beaucoup plus grandes que le bus d'origine. Ainsi, lorsque le bus est sollicité, l'ordinateur complet ralenti à la vitesse du bus, cela vaut donc la peine que l'on s'attarde à augmenter la vitesse du bus ou à diminuer les temps d'attente (wait states) entre le processeur et le bus pour accélérer les choses. Le PC possède quatre bus: le bus du processeur qui relie celui-ci à ses puces spécialisées de support (CHIPSET), le bus de la mémoire raccordé au processeur, le bus d'adresse qui fait partie des deux précédents et le bus d'expansion, celui qui nous concerne ici.

 

Historique

Avant que naisse le PC d'IBM, il n'y avait aucun standard. Le premier accord sur une spécification de bus d'expansion fut appelé le S-100. Steve Jobs et Steve Wosniak, les fondateurs de la compagnie d'ordinateurs Apple, sont généralement considérés comme les premiers ayant utilisé le premier bus d'expansion permettant d'ajouter des cartes électroniques dans des fentes. L'attention d'IBM fut captée et cela produisit le premier IBM PC avec un bus d'expansion utilisant un processeur 8088 de 16 bits. Le 8088 avait un bus externe d'une largeur de 8 bits (i.e. 8 bits de données transférés en même temps au processeur) et tournait à la vitesse de 4.77 MHz. Le bus d'expansion était relié directement au processeur et était cadencé à la vitesse de celui-ci, soit 4.77 MHz. IBM produisit par la suite l'ordinateur AT qui possédait un bus d'une largeur de 16 bits avec une vitesse de 6 MHz et plus tard 8 MHz. Les fentes d'expansion furent adaptées à la largeur de bus de 16 bits. Afin de maintenir une compatibilité avec les cartes 8 bits déjà existantes, les fentes de 16 bits furent prévues pour accepter des cartes de 8 bits. Les fabricants de clones de PC ont alors commencé à augmenter la vitesse du processeur tout en conservant la vitesse du bus d'expansion équivalente à celle du processeur. Rendu à une vitesse de bus de 12 MHz, on découvrit que les cartes des fentes d'expansion ne fonctionnaient plus correctement. Un consensus s'établit dans l'industrie pour maintenir la vitesse du bus d'expansion à 8 MHz, indépendamment de la vitesse du processeur. Une architecture de bus standard était née (Industry Standard Architecture, ISA). Ce fut à partir de ce moment que le bus d'expansion cessa d'être relié directement au processeur central.

L'industrie fut en paix jusqu'à ce qu'Intel sorte son processeur 80386 de 32 bits. IBM annonça au même moment son architecture Micro Channel (MCA) avec un bus de données d'une largeur de 32 bits et une vitesse de 10 MHz. En réponse aux fabricants de clones, un nouveau standard de bus, le Extended Industry Standard Architecture ou EISA, débuta en 1988 avec une vitesse de bus de 8,33 MHz. EISA et MCA étaient considérés trop dispendieux pour l'utilisateur moyen, ISA demeura l'alternative.

Le monde entier fut alors pris avec une architecture de 32 bits, possédant des cartes graphiques vidéo et des contrôleurs de disques branchés dans les fentes d'expansion du bus ISA et essayant de transférer plusieurs mega-octets de données par seconde sur un bus de 16 bits roulant à la vitesse de 8 MHz. On peut comparer cela à une autoroute à quatre voies qui soudainement devient une autoroute à deux voies tout en conservant le même volume de trafic routier.

 

Le bus ISA

Industry Standard Architecture - La version 8 bits originale était disponible sur le premier PC et le AT, mais le second utilisa une extension pour en faire un bus de 16 bits. Ce bus a un taux de transfert maximal de 8 megabits par seconde sur un AT, ce qui est bien supérieur au taux de transfert des unités de disque et de la plupart des réseaux et cartes vidéo. Leur taux de transfert de données représente le quart de celui du bus.

 

Le bus EISA

Extended Industry Standard Architecture - C'est une évolution du bus ISA et (théoriquement) compatible avec celui-ci. La vitesse de 8 MHz est la même, ainsi l'augmentation du taux de transfert est attribuable à sa largeur de bus qui est le double (16 bits) de celui du bus ISA, cependant pour tirer avantage de ce gain de transfert, les cartes EISA devaient être utilisées (aucun gain de vitesse pour des cartes ISA insérées dans le bus EISA). L'avantage du bus EISA (et du bus MCA) est la facilité d'installation et de configuration par logiciels des cartes installées dans les fentes d'expansion de ce bus; le bus pouvait détecter automatiquement les paramètres des cartes ajoutées.

 

Le bus MCA

Micro Channel Architecture - Un standard propriétaire établi par IBM en 1987 pour remplacer le bus ISA; le bus MCA était ainsi incompatible avec les autres bus. Le bus MCA existait en deux versions: 16 et 32 bits, capable d'un taux de transfert jusqu'à 20 megabits par seconde.

On découvrit que les bus ISA mal conçus généraient beaucoup de fréquences radio. Les bonnes conceptions de bus ISA répondaient aux normes de classe A du FCC. Le bus MCA, avec sa stricte certification de classe B du FCC, avait un avantage certain sur les bus ISA et EISA alors que les vitesses de processeur augmentaient de plus en plus. Le bus MCA était très bien isolé, ce qui l'immunisait contre les signaux électriques.

Le bus MCA fut conçu pour éliminer le problème associé à la manipulation des micro-interrupteurs (DIP switch) sur les cartes d'expansion.

 

Le bus VL

L'association sur les standards de la vidéo électronique, le VESA (Video Electronics Standards Association) forma un comité en juin 1992 pour étudier un bus local pour les systèmes vidéo en émergence. En septembre 1992 le comité finalise le bus local VESA qui permet de connecter des composantes directement sur le bus du processeur hôte. Le bus local est associé au processeur, il roule à la même vitesse que celui-ci, diminuant ainsi les engorgements. Les données voyagent sur le bus à la même vitesse que le processeur.

 

Le bus PCI

Ce bus s'est séparé du processeur central, lui conférant ainsi plus d'indépendance et la possibilité de travailler avec plus de composantes, il est donc parfait pour le multi-plateforme.

Le bus PCI opère à des vitesses de 33 MHz ou 66 MHz et possède une largeur de 32 bits, ce qui permet un taux de transfert pouvant atteindre 132 mega-octets par seconde.