LES BUS

 

 

Introduction

La conception du PC est dite modulaire, c'est-à-dire quelle repose sur le principe du puzzle. En effet, l'utilisateur va choisir ses composants en fonction de ses besoins. La carte graphique ne sera pas la même si l'utilisateur désire faire de la bureautique ou de la CAO. A cet effet, un PC dispose de slots d'extensions où seront insérées des cartes (comme par exemple une carte graphique).

L'évolution de la puissance des PC a poussé les constructeurs à développer des architectures internes toujours plus rapides. C'est la raison pour laquelle les slots d'extension ne sont pas tous du même type. Ce composant sera toujours choisi avec soin car il a un rôle primordial sur la vitesse d'un PC.

 

L'architecture ISA

L'architecture ISA ( Industry Standard Architecture ) a été inventée en 1981 par IBM pour son IBM 8088. Cette première version était de 8 bits et basée sur une fréquence de 4.77Mhz. Elle est composée d'un seul connecteur de couleur noir. Ce slot permet l'accès à 8 bits de données et à 20 bits d'adresses. La seconde génération de 286 pouvant adresser un bus de 16 bits, un connecteur ISA 16bits fut créé. Ce dernier se différencie du 8bits par l'adjonction d'un second connecteur court de couleur noire. Le nombre de bits de données est ainsi passé à 16. Le bus opérant au début à 8Mhz, puis standardisé à 8.33 Mhz, le transfert des données nécessite deux cycles. Le calcul du débit théorique de ce type de slots est le suivant :

8Mhz x 16 bit = 128 megabits/seconde

128 megabits/seconde / 2 cycles = 64 megabits/secondes

64 megabits/secondes / 8 = 8Mo/ secondes

Ce débit est bien entendu théorique, il varie en fonction de la carte utilisée. Actuellement le slot ISA est encore le plus répandu. Cela est principalement dû à deux raisons, d'une part son faible prix de production, d'autre part sa compatibilité. En effet, ce slot n'ayant plus été modifié depuis longtemps, il permet l'utilisation d'anciens composants. Par contre, son principal défaut est d'être resté à 8 Mhz, ce qui provoque un véritable goulot d'étranglement pour le transfert de données. Quand on sait que certains processeurs utilisent des cartes mères à une fréquence de 100Mhz, le bus ISA provoque des ralentissements insupportables. Certaines cartes, effectuant peu de transferts, ne seront pas gênées, mais les performances du contrôleur et de la carte graphique vont en pâtir.

Le bus ISA n'est pas un bus autoconfigurant, ce qui oblige l'utilisateur à configurer manuellement chaque nouveau composant. Ici, la notion de Plug'n Play n'existe pas. L'adresse et l'IRQ de la carte doivent être définie avec beaucoup de jugeote et un peu de chance. Afin d'éviter trop de risque de conflits, les constructeurs ont souvent normalisé ces deux paramètres en fonction du type de carte. Ainsi, une carte son utilisera généralement l'adresse 220H et l'IRQ 5. Des systèmes d'exploitation Plug'n Play, tels que Windows 9x, peuvent malgré tout détecter seul une carte ISA, mais ils seront incapables d'en changer la configuration hardware. En fait, ils chargent en mémoire un pilote et scanne toutes les adresses, si une réponse est retournée, il en déduit qu'une carte correspondant au pilote utilisé s'y trouve.

Une version ISA 32 bits fut étudiée, mais elle ne fut jamais standardisée. Elle est restée un bus de type propriétaire utilisé par certains constructeurs pour des extensions de mémoire, par exemple.

 

 

L'architecture VLB

 

L'architecture VLB (Vesa Local Bus) a été présentée en 1992, grâce aux efforts conjoints de Dell et d'Intel. Basé sur une norme VESA (Video Electronic Standard Association), ce bus est une évolution du bus ISA.

Il permet des débits nettement améliorés en utilisant la même fréquence que la carte-mère. De plus, il est 32bits. Ces fonctionnalités lui permettent ainsi d'obtenir des débits théoriques de l'ordre de 120 à 148 Mo/s, en fonction de la fréquence utilisée. Techniquement parlant, le VLB détourne le bus local du processeur pour son propre usage, ce bus étant bien entendu à la fréquence de la carte-mère. Ce procédé, qui à l'avantage d'être extrêmement économique, présente certaines limitations. Le bus local processeur n'étant pas dimensionné à cet effet, il est impossible de mettre plus de 3 cartes VLB dans un PC. De même, les cartes nécessitant d'importants apports électriques sont aussi prohibées.

Une carte de type VLB ne supporte généralement pas les fréquences supérieures à 40Mhz. En fait, le VLB est une solution provisoire, mais qui permet d'obtenir des gains de performance importants pour un surcoût minimum. On l'utilisera de préférence pour la carte graphique et la carte contrôleur. Ce type de slot est facilement reconnaissable, il s'agit en effet d'un slot ISA 16bits auquel on a ajouté un troisième connecteur de couleur brune, doté de 112 contacts. Ce type de connecteur est totalement compatible avec les cartes ISA 8 et 16bits.

Carte VESA Local Bus (VLB)

 

L'architecture EISA

 

Le bus EISA (Extended Industry Standard Architecture) a été annoncé par un consortium de fabricants (sauf IBM) en 1988 comme réponse au bus MCA d'IBM. En effet, l'utilisation du bus MCA aurait obligé les fabricants à payer des royalties à IBM, ce qui n'est pas le cas avec le bus EISA. Ce consortium de fabricants n'a en fait qu'approuvé une technologie développée à plus de 95% par la société Compaq, le principal challenger d'IBM.

Cette architecture est présentée comme une suite au bus ISA. Elle est aussi basée sur une fréquence de 8Mhz (8.33 pour être précis), mais utilise un bus 32 bits. De cette façon, un débit théorique de 33.32 Mo/seconde a pu être atteint. L'apparence d'un slot EISA est la même qu'un slot ISA 16 bits, si ce n'est qu'il est plus haut. Il reste intégralement compatible ISA (8 et 16 bits) grâce à l'usage de détrompeur. Si une carte EISA est insérée, elle s'enfoncera plus profondément, étant ainsi connectée avec plus de contacts.

En fait, deux autres technologies ont été implémentées sur ce type de slot. D'une part le Bus Mastering et d'autre part un Setup automatique des cartes. Le Bus Mastering permet de gérer le flux de données de façon intelligente. Virtuellement, une carte EISA est une carte qui possède son propre processeur, elle peut ainsi faire toutes les opérations désirées sans l'aide du processeur du PC. Le Bus Master est relié à un composant appelé ISP (Integrated System Peripheral), qui agit comme unité d'arbitration. Ce dernier autorise une carte Bus Master à prendre un contrôle exclusif du système, en fait elle-même. Ce procédé permet une nette augmentation des performances. L'ISP arbitre les différentes demandes de chaque carte, selon un ordre de priorité à 4 niveaux. Cela évite qu'une pénalise toutes les autres. Cet ordre comprend les niveaux suivants: System Memory Refresh, DMA Transfert, CPU, Bus Master. Lorsqu'une carte estime devoir prendre le contrôle du système, elle en avertit l'ISP. Dès que cela est possible, celui-ci prend contrôle du système et donne ce qui a été demandé au périphérique concerné. Une carte en surcharge pourra ainsi demander un plus grand contrôle, ou au contraire, libérer le système le temps qu'elle finisse ses traitements.

Dans une architecture EISA, les cartes sont automatiquement paramétrées par le système. Ces réglages concernent en particulier l'adresse et les IRQ. Pour ce faire, chaque carte est livrée avec un fichier de configuration (*.CFG) qui doit être donné au BIOS. Ce fichier contient une sorte de driver qui permet ainsi au BIOS de savoir comment gérer la carte.

Cette architecture est désormais relativement peu répandue, son principal défaut étant son prix élevé. Mais, elle revient au goût du jour avec son implantation dans de nombreuses cartes mères Pentium, parallèlement au PCI. Son coût la réserve pour des machines haut de gamme, tels que les serveurs de réseau.

 

 

L'architecture PCI

 

Le PCI ( Peripheral Componement Interconnect ) est issu d'une spécification éditée en 1992 par la société Intel. Cette architecture utilise un procédé comparable au VLB. En effet, elle utilise aussi le bus système, mais l'adjonction d'un contrôleur propriétaire lui permet d'outrepasser la limite de 3 slots. Un slot PCI est à la fréquence de base de 33Mhz et existe en version 32 et 64 bits. Cela lui permet d'atteindre des débits théoriques de l'ordre de 132Mo/s dans le premier cas et 264 Mo/s dans le second. Son lancement a été ralenti par son coût de production élevé, mais ses performances et sa souplesse lui permettent de gagner des parts importantes de marché.

 

L'architecture AGP

 

Intel a présenté en juillet 1996 les spécifications de l'Accelerated Graphic Port (AGP). A cette époque, la demande en graphisme 3D dépassait souvent les capacités des machines standard. En effet, tout le monde n'a pas accès à une station Silicon Graphics pour jouer à son jeu favori. L'architecture PCI avait atteint ses limites au niveau du débit autorisé pour les cartes graphiques. Intel a donc proposé un nouveau bus dédié à de telles cartes.

Le principal problème est le goulot d'étranglement dût aux faibles performances du bus entre le CPU et la mémoire, et entre le CPU et la carte graphique. La mémoire graphique est extrêmement coûteuse par rapport à la mémoire vive d'un PC. Le graphisme 3D en est un gros consommateur, il est alors judicieux de lui donner accès à cette mémoire vive. A la différence de l'architecture UMA (Unified Memory Architecture) qui monopolise la mémoire, l'AGP peut à tout moment rendre au système la portion qu'il utilise. A cet effet, il utilise un procédé appelé Dynamic Memory Allocation. Le système reste alors "propriétaire" de la mémoire vive, et ne prête que ce pour lequel il n'a bas de besoin immédiat. Ainsi, pas besoin de doubler sa mémoire pour éviter un quelconque ralentissement.

La gestion de ce bus est assurée par un chipset compatible AGP. Le processeur n'est alors plus requis pour les différentes transactions. Cela permet de gagner en rapidité, tant au niveau du débit que de la charge du CPU. Le contrôleur graphique utilise ainsi un bus dédié à hautes performances qui lui offre un accès direct à la mémoire. Ce procédé est nommé DIME (Direct Memory Execute). Ainsi, il peut l'utiliser pour les opérations complexes que réclame l'application de textures en 3D (texture mapping, ca fait plus pro).

De plus, ce bus permet le transfert rapide des informations entre le CPU et le contrôleur graphique. Les traitements sont effectués en mode pipelined, ce qui signifie que le l'AGP peut envoyer de multiples données en réponse à une seule requête. Sur un bus PCI, il est nécessaire d'attendre que la première donnée soit traitée avant de pouvoir entamer une quelconque seconde requête. L'AGP profite de ces temps d'attente pour envoyer les données suivantes, on parle alors de mode burst. Un autre procédé "sideband" est aussi inclus dans l'AGP. Il fournit 8 lignes d'adresses supplémentaires qui permettent au contrôleur graphique d'émettre des requêtes et des adresses pendant que des transferts sont en cours.

Le bus Le port AGP de base offre des débits pouvant atteindre environ 266Mo/s, soit 64 bits par 66Mhz, à raison d'un transfert tous les fronts montants. L'AGP 2x utilise les fronts montants et descendants de la courbe, ce qui lui permet de doubler ce débit. Le débit possible est alors d'environ 530 Mo/s. Le mode AGP4x va jusqu'à quadrupler les débits offerts par l'AGP1x, soit plus de 1Go/s. En réalité, il est limité par la fréquence du bus.

Le connecteur AGP ressemble énormément à un connecteur PCI, si ce n'est qu'il est de couleur brune. Par contre, il est placé plus en recul du bord de la carte-mère que les slots PCI.