On appelle bus, en informatique, un ensemble de liaisons physiques (câbles, pistes de circuits imprimés, etc.) pouvant être
exploitées en commun par plusieurs éléments matériels afin de communiquer.
Les bus ont pour but de réduire le nombre de « voies » nécessaires à la communication des
différents composants, en mutualisant les communications sur une seule voie de données.
C'est la raison pour laquelle
la métaphore d'« autoroute de données » est parfois utilisée.
Dans le cas où la ligne sert uniquement à la communication de deux composants matériels, on parle
de port matériel (port série, port parallèle, etc.).
Un bus est caractérisé par le volume d'informations transmises simultanément.
Ce volume, exprimé en bits, correspond
au nombre de lignes physiques sur lesquelles les données
sont envoyées de manière simultanée. Une nappe de 32 fils permet ainsi de transmettre 32 bits en parallèle.
On parle ainsi de « largeur » pour désigner le nombre de bits qu'un bus peut transmettre simultanément.
D'autre part, la vitesse du bus est également définie par sa fréquence (exprimée en Hertz),
c'est-à-dire le nombre de paquets de données envoyés ou reçus par seconde. On parle de cycle pour désigner
chaque envoi ou réception de données.
De cette façon,
il est possible de connaître le débit maximal du bus (ou taux de transfert maximal), c'est-à-dire la quantité de données qu'il peut transporter par unité de temps,
en multipliant sa largeur par sa fréquence. Un bus d'une largeur de 16 bits, cadencé à une fréquence de 133 MHz
possède donc un débit égal à :
16 * 133.106 = 2128*106 bit/s,
soit 2128*106/8 = 266*106 octets/s
soit 266*106 /1000 = 266*103 Ko/s
soit 259.7*103 /1000 = 266 Mo/s
En réalité chaque bus est généralement constitué de 50 à 100
lignes physiques distinctes, classées en trois
sous-ensembles fonctionnels :
- Le bus d'adresses (appelé parfois bus d'adressage ou bus mémoire) transporte
les adresses mémoire auxquelles le processeur souhaite accéder pour lire ou écrire une donnée.
Il s'agit d'un bus unidirectionnel.
- Le bus de données véhicule les instructions en provenance ou à destination du processeur.
Il s'agit d'un bus bidirectionnel.
- Le bus de contrôle (parfois bus de commandes)
transporte les ordres et les signaux de synchronisation en provenance de l’unité de commande et à destination
de l'ensemble des composants matériels. Il s'agit d'un bus directionnel dans la mesure où il
transmet également les signaux de réponse des éléments matériels.
On distingue généralement sur un ordinateur deux principaux bus :
- le bus système (appelé aussi bus interne, en anglais internal bus ou front-side bus, noté FSB).
Le bus système permet au processeur de communiquer avec la mémoire centrale
du système (mémoire vive ou RAM).
- le bus d'extension (parfois appelé bus d'entrée/sortie) permet aux divers composants de la carte-mère
(USB, série, parallèle, cartes branchées sur les connecteurs PCI, disques durs, lecteurs et graveurs de CD-ROM, etc.)
de communiquer entre eux mais il permet surtout l'ajout de nouveaux périphériques grâce aux connecteurs
d'extension (appelés slots) connectés sur le bus d'entrées-sorties.
On appelle chipset (en français jeu de composants) l'élément chargé
d'aiguiller les informations entre les différents bus de l'ordinateur afin de permettre à tous les
éléments constitutifs de l'ordinateur de communiquer entre eux.
Le chipset était originalement composé d'un grand nombre de composants électroniques,
ce qui explique son nom. Il est généralement composé de deux éléments :
- Le NorthBridge (Pont Nord ou Northern Bridge, appelé également contrôleur mémoire) est chargé de contrôler les échanges entre le processeur et la mémoire
vive, c'est la raison pour laquelle il est situé géographiquement proche du processeur.
Il est parfois appelé GMCH, pour Graphic and Memory Controller Hub.
- Le SouthBridge (Pont Sud ou Southern Bridge, appelé également contrôleur d'entrée-sortie ou contrôleur d'extension)
gère les communications avec les périphériques d'entrée-sortie.
Le pont sud est également appelé ICH (I/O Controller Hub).
On parle généralement de bridge (en français pont) pour désigner un élément
d'interconnexion entre deux bus.
Il est intéressant de noter que, pour communiquer, deux bus ont besoin d'avoir la même largeur. Cela explique pourquoi
les barrettes de mémoire vive doivent parfois être appariées sur certains systèmes (par exemple sur les premiers Pentium, dont la largeur
du bus processeur était de 64 bits, il était nécessaire d'installer des barrettes mémoire d'une largeur de 32 bits par paire).
Voici un tableau récapitulant les caractéristiques des principaux bus :
Norme | Largeur du bus (bits) | Vitesse du bus (MHz) | Bande passante (Mo/sec) |
ISA 8-bit | 8 | 8.3 | 7.9 |
ISA 16-bit | 16 | 8.3 | 15.9 |
EISA | 32 | 8.3 | 31.8 |
VLB | 32 | 33 | 127.2 |
PCI 32-bit | 32 | 33 | 127.2 |
PCI 64-bit 2.1 | 64 | 66 | 508.6 |
AGP | 32 | 66 | 254.3 |
AGP(x2 Mode) | 32 | 66x2 | 528 |
AGP(x4 Mode) | 32 | 66x4 | 1056 |
AGP(x8 Mode) | 32 | 66x8 | 2112 |
ATA33 | 16 | 33 | 33 |
ATA100 | 16 | 50 | 100 |
ATA133 | 16 | 66 | 133 |
Serial ATA (S-ATA) | 1 | | 180 |
Serial ATA II (S-ATA2) | 2 | | 380 |
USB | 1 | | 1.5 |
USB 2.0 | 1 | | 60 |
Firewire | 1 | | 100 |
Firewire 2 | 1 | | 200 |
SCSI-1 | 8 | 4.77 | 5 |
SCSI-2 - Fast | 8 | 10 | 10 |
SCSI-2 - Wide | 16 | 10 | 20 |
SCSI-2 - Fast Wide 32 bits | 32 | 10 | 40 |
SCSI-3 - Ultra | 8 | 20 | 20 |
SCSI-3 - Ultra Wide | 16 | 20 | 40 |
SCSI-3 - Ultra 2 | 8 | 40 | 40 |
SCSI-3 - Ultra 2 Wide | 16 | 40 | 80 |
SCSI-3 - Ultra 160 (Ultra 3) | 16 | 80 | 160 |
SCSI-3 - Ultra 320 (Ultra 4) | 16 | 80 DDR | 320 |
SCSI-3 - Ultra 640 (Ultra 5) | 16 | 80 QDR | 640 |
|