Un bus est une voie de communication, formée d'un ou plusieurs conducteurs,
sur laquelle sont disposées plusieurs connexions. Tout comme les passagers
des transports en commun qui vont d'un arrêt à l'autre, les données circulent
sur le bus elles aussi d'une connexion à l'autre. L'analogie s'arrête là
car à un moment donné il n'y a jamais qu'un seul équipement qui transmet
des données.
Ce concept de "bus" trouve son application aussi bien dans l'unité
centrale (bus système, bus d'extension) que pour les connexions vers les
périphériques ( bus SCSI, USB Universal Serial Bus, Firewire) ou
au niveau des topologies de réseaux.
Nous savons que le processeur est relié aux autres éléments
de la carte mère et aux cartes d'extension au moyen de lignes que
les informations empruntent pour passer d'un composant à l'autre.
Ces lignes forment ce qu'on appelle le bus
Nous avons, lors de l'étude du schéma bloc d'un ordinateur, distingué le bus de donnée du bus d'adressage et du bus de contrôle. Cette distinction nous a permis de discerner les catégories d'informations qui circulent entre les différents composants du PC.
Le schéma ci-dessus peut se représenter plus simplement si on omet de distinguer la nature des signaux échangés (données,
adresses et signaux de contrôle) . On parle du bus (au singulier)
pour désigner à la fois le bus des données, des adresses et de contrôle.
|
La bande passante, aussi appelée taux de transfert, représente le débit maximum auquel peuvent circuler les données. Elle s'exprime en méga octets par seconde (Mo/s).
Il y a deux manières d'accroître ce débit : élargir la voie de circulation
pour permettre le déplacement de plus de bits en parallèle ou accélérer
la cadence des échanges ( la fréquence)
La vitesse des processeurs augmenta encore. Le 486DX2 fonctionnait en interne à une fréquence double de celle du bus système. Le doubleur de fréquence interne au processeur permettait de mettre à niveau des ordinateurs existants en changeant simplement de processeur tout en conservant une architecture peu coûteuse pour la carte mère. La mémoire cache interne au processeur devenait alors indispensable. La vitesse des différents composants augmente sans cesse (même en ce qui concerne les circuits d'entrées/sorties) mais l' évolution est toujours plus nette pour les processeurs que pour les mémoires. On utilise alors des mémoires caches externes. Le bus qui relie le CPU à la mémoire cache est appelé bus processeur ou "Back Side Bus" (BSB). Il est plus rapide que le bus système qui relie le processeur à la RAM dynamique et qui depuis est souvent nommé "Front Side Bus" (FSB). |
|||
Architecture Pont Nord / Pont SudTous les processeurs fonctionnent
maintenant à une fréquence qui est un multiple entier ou
demi entier de celle de la carte mère. Ainsi un Pentium III 800
monté sur une carte mère dont le FSB tourne à 133 MHz fonctionne
à six fois la fréquence du FSB. |
|||
Architecture "Hub" d'Intel |
|||
Les puces du chipset changent de noms. On parle maintenant de MCH
( Memory Controller Hub) et d' ICH
( I/O Controller Hub).
L'ICH intègre entre autre les interfaces ATA, l'interface USB, un contrôleur audio et les connexions réseaux. Les 500 pages de la "Data sheet" d'Intel qui fait la description de ce 82801 sont disponnibles ici en format pdf. |
|
|
Le MCH 82850 accède à la mémoire via deux canaux de 16 bits à une fréquence de 800 MHz ce qui donne une bande passante de 2 x 2 octets x 800 MHz = 3,2 Go/s La bande passante du bus système est elle de 3,2 ou 4,266 Go/s suivant que la fréquence du bus est de 400 ou 533 MHz. Cette configuration n'a eu cependant qu'un succès mitigé à cause du prix de la RAMBUS. |
Chipset Intel 845 |
Intel a développé le chipset i845 pour pouvoir utiliser le processeur Pentium 4 d'Intel avec des composants mémoires moins onéreux que la RAMBUS : la SDRAM 133 ou de la DDR 200 ou 266. La fréquence de 400 MHz du bus système permet au processeur de communiquer avec un bande passante de 3,2 Go/s Les échanges entre l'AGP4X et le 82845 se font à 1 Go/s |
VIA Apollo KT333 |
|
L'architecture "multi-bus" se retrouve aussi avec les processeurs de AMD. Ainsi, le Pont Nord VIA KT333 est (en 2002) capable de communiquer avec le processeur et les DDR RAM PC2700 à 333 MHz Bien que VIA appelle les composants du chipset par les expressions "North Bridge" et "South Bridge" cette architecture est similaire à l'architecture "Hub" d'Intel. En effet le canal de lien est exclusivement réservé aux communications entre les deux composants du chipset. |
Voici les caractéristiques de quelques "North Bridges" qui chez VIA ont assuré la succession du KT333 pour les processeurs de AMD.
Processeur | FSB | RAM | Port graphique | |
KT333 | Athlon XP | 200/266/333 MHz | DDR333 PC2700 | AGP 4x |
KT400 | 266/333/400 MHz | DDR400 PC3200 | AGP 4x / 8x | |
KT600 | DDR266/333/400 | |||
KT880 | Dual channel DDR 400 ou 333 SDRAM | |||
K8T800 |
Athlon 64 Athlon 64 FX Opteron |
HyperTransport bus link | Contrôleur de mémoire intégré au processeur AMD64 | |
K8T890 |
AMD Opteron Athlon FX Athlon 64 Sempron (939, 940 et 754) |
1 GHz/16 bits (Upstream & Downstream) HyperTransport bus link |
1 PCI express x16 + 1 PCI express x1 |
|
K8T900 |
1 PCI express x16 + 4 PCI express x1 |
VIA a un temps été le seul à produire des chipset pour l'Athlon. Nous verrons dans le chapitre consacré aux chipset qu'il y a d'autres constructeurs : NVDIA principalement mais aussi Sis ou ATI
... à compléter (actualiser)
En 1981, le bus des premiers PC/XT véhiculait 8 bits de données à la fréquence de 4,77 MHz. Le même bus était utilisé par tous les composants de la carte mère : le processeur, les mémoires et les cartes d'extensions. Il s'agissait du bus ISA 8 bits " Industry Standard Architechture ". Ils se présentaient sur la carte mère comme des connecteurs de 62 contacts pour 8 bits de donnée, 20 bits d'adresse, 8 lignes d'interruption, 4 canaux DMA, divers signaux de contrôle et les lignes d'alimentation ( masse, +5V,-5V, +12V, -12V)
Une version 16 bits fit son apparition en 1984 avec le 80286 et les PC/AT. Le bus ISA 16 bits est cadencé à 8 Mhz. Un second connecteur de 36 contacts a été ajouté dans le prolongement du slot ISA 8 bits. L'ensemble pouvait donc accepter aussi bien des cartes 8 ou 16 bits. Le bus véhicule 16 bits de données, 24 lignes d'adresse, 16 lignes d'interruption et 8 canaux DMA. Ce bus ISA 16 bits a disparu des cartes mères voici à peine deux ou trois ans.
Depuis le 386 DX, la largeur du bus de donnée est passée à 32 bits. Bon nombre de tentatives ont été faites pour tenter d'imposer un nouveau standard. IBM commença par fabriquer le bus MCA " Micro Channel Architecture". Très simple d'utilisation, il suffisait d'une disquette d'installation pour que les cartes s'installent sans devoir les configurer à l'aide de cavaliers (jumper). Malheureusement, le nouveau connecteur ne pouvait plus recevoir les anciennes cartes ISA et de plus IBM réclamait des royalties aux constructeurs qui souhaitaient obtenir une licence d'utilisation... Pire, IBM exigeait même des royalties rétroactives aux fabricants qui avaient utilisé le BUS ISA. Pas étonnant dès lors que le bus MCA ait été boudé !
Compac et d'autres constructeurs se sont associés pour créer le standard EISA " Extended Industry Standard Architecture". Les connecteurs EISA ressemblaient aux connecteurs ISA 16 bits mais avaient deux rangées contacts disposées en hauteur comme dans les cartes AGP actuelles. Les contacts du fond ne servaient qu'aux cartes EISA ( 32 bits) tandis que les anciennes cartes ISA 8 ou 16 bits n'accédaient qu'aux contacts du dessus.
Jusqu'ici les bus ISA 8 bits puis 16 bits, MCA, et EISA fonctionnent tous à 8MHz. Les entrées/sorties étaient relativement lentes mais cela n'a pas posé de problème tant que les applications graphiques étaient absentes. L'arrivée des applications graphiques telles que Windows fit que les bandes passantes de ces bus devinrent tout à fait insuffisantes.
L'étape suivante a été de créer des bus capables d'utiliser le débit devenu plus important du bus système pour les communications entre les périphériques plus exigeants et la mémoire ou le processeur. Ce bus d'E/S rapide porte le nom de " bus local", il est cadencé à la même vitesse que le processeur. Aux cartes ISA traditionnelles, se sont vues ajoutées des cartes rapides qui communiquent à 33 MHz.
Le bus VLB " Vesa Local Bus " développé par l'association VESA "Video Electronics Standards Association" fondée par le constructeur NEC pour améliorer les performances des cartes vidéo. Sur la carte mère, les slots VLB se reconnaissent aux connecteurs bruns placés dans le prolongement des slots ISA 16 bits. Le bus VLB n'a jamais existé que sur des cartes mères équipées de 486. Il avait une largeur de 32 bits et communiquait à la vitesse du bus système, 33 MHz. Ce bus reprenait tout simplement les signaux issus des broches du 486. Lors du développement du Pentium, Intel abandonna le bus VLB pour le remplacer par le bus PCI.
Le bus PCI "Peripheral Component Interconnect" est actuellement le bus local le plus courant mais pourtant de moins en moins utilisé à cause de l’intégration à la carte mère des fonctions anciennement assurées par les cartes d’extension et de l’apparition du port AGP puis des connexions PCI express.
Le bus PCI fut développé par Intel et introduit en 1993. Dans sa version de base, il communique des mots de 32 bits à la fréquence de 33 MHz. Cette vitesse est indépendante de celle du bus système dont il est séparé par un pont.
Initialement les cartes PCI étaient alimentées en 5V uniquement. On est progressivement passé à une alimentation en 3,3V. Ces cartes PCI alimentées par des tensions différentes ne sont pas interchangeables et il a fallu les distinguer par des détrompeurs. La figure ci-dessous montre les différentes positions des détrompeurs en fonction de la tension d’alimentation. Certaines cartes possèdent deux détrompeurs car elles peuvent être alimentées aussi bien en 3,3V qu’en 5V.
Il existe quelques variantes du bus PCI qui ne s'emploient que dans les serveurs ou des machines haut de gamme. L'amélioration porte sur la largeur du bus (64 bits au lieu de 32) et/ou sur sa fréquence ( 66 MHz et même 133 MHz pour le PCI-X)
Les connecteurs PCI sont plus écartés du bord de la carte mère que ne le sont les connecteurs ISA. Ils sont généralement de couleur blanche.
Le bus PCI introduit une innovation : le "bus mastering", les cartes d'extension après en avoir fait la demande peuvent obtenir momentanément le contrôle exclusif du bus pour accélérer leurs transferts.
De nombreuses cartes d'extensions ont été développées pour ce type de bus. Depuis 1995 elles sont " Plug and Play " ce qui signifie qu'elles s'installent et se configurent presque automatiquement par voie logicielle sans devoir positionner de cavaliers (jumpers) ou de micro-interrupteurs (dip-switches).
Pour pouvoir bénéficier de cette technologie il faut que la carte d'extension soit équipée d'un circuit de configuration PnP et que le BIOS et le système d'exploitation soient eux aussi compatible PnP. Le BIOS commence par identifier chaque composant et leur alloue leurs ressources : adresses mémoires, IRQ, canaux DMA et port d'E/S. Il informe ensuite les cartes PCI des ressources qui leurs sont attribuées. Le système d'exploitation vérifie ensuite ces valeurs pour voir si depuis la dernière fois il n'y a pas de nouveaux périphériques. Si tel est le cas, il indique qu'il a détecté du nouveau matériel et propose d'installer le "device driver " qui lui convient.
Le port AGP "Accelerated Graphic Port " est bien un "port" et non pas un "bus" puisqu'il ne peut recevoir qu'une seule connexion réservée à une seule carte graphique. Ce port est connecté directement à la mémoire système via le pont Nord ou le MCH.
Le port AGP original échangeait les données par mots de
32 bits à une fréquence de 66 MHz ce qui donne une bande
passante de 66,66 109 Hz x 4 octets = 266 Mo/s.
Depuis les vitesses ont été multipliées par 2, 4
ou 8 ce qui donne 533 Mo/s pour l'AGP x 2 ; 1Go/s
pour l'AGP x 4 et 2,1Go/s pour l'AGP x 8.
Le slot AGP a des dimensions semblables à celles du connecteur PCI mais possède des contacts sur deux étages. Il est de couleur brune et est plus distant du bord arrière de la carte que ne le sont les connecteurs PCI.
Le connecteur AGP possède parfois un détrompeur situé aux deux tiers de la longueur. Celui-ci permet de distinguer les cartes AGP conçues pour fonctionner sous 3,3V de celles prévues pour fonctionner en 1,5V ou même en 0,8V. Il est ainsi mécaniquement impossible d'insérer une carte AGP 3,3V dans un slot prévu pour 1,5V :
Certaines cartes AGP dites "universelles" peuvent aussi bien s'adapter aux slots 3,3V qu'aux slots 1,5V.
Le PCI Express est tout récent. Il reprend les concepts de programmation du bus PCI mais offre une bande passante bien plus élevée en utilisant des communications série moins sujettes aux interférences que les communications parallèles.
La connexion entre une carte PCIe et le switch PCIe est appelée un lien (link) et est composée de 1, 2, 4, 8, 12, 16, 24 ou 32 voies (lane). Chaque voie utilise une paire de conducteurs pour la transmission et une autre paire de conducteurs en réception. Les communications séries "Full-duplex " peuvent se faire simultanément dans les deux sens à une fréquence de 2,5 Gbps (giga bit par seconde) L'encodage des données est tel que la bande passante effective d'un canal est toutefois limité à 250 Mo/s.
Lors de la transmission d'un paquet de données, celui-ci est décomposé en octets qui sont répartis sur le nombre de voies disponibles. Un lien composé d'une voie est un lien x1. Les cartes PCI express existent avec différentes largeurs de liens, 1x, 2x, 4x, 8x, 12x, 16x et 32x.
Les plus courants seront les PCIe 1x qui se reconnaissent aux connecteurs 36 contacts et les PCIe 16x (164 contacts) grâce auxquels les cartes graphiques pourront émettre 4 Go/s et recevoir 4 Go/s simultanément. Les connecteurs 4x (64 contacts) et 8x (98 contacts) ne s'utilisent actuellement que dans les serveurs.
Ajoutons que le connecteur PCIe est "hot plug" ce qui
permet de brancher ou débrancher des cartes "à chaud"
c'est à dire sans éteindre la machine. Les ports PCIe sont
donc aussi prévus pour servir à la connectique externe.