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

Bandwidth bottleneck. No question, that's the biggest obstacle.
     Bill Gates, Microsoft (interrogé par Fortune, juin 1996)

L'étranglement de la bande passante. Pas de question, c'est le plus grand obstacle.

5.0 CONTENU ET PRÉSENTATION

Nous avons pris le parti de grouper ici ce qui a trait aux bus à l'exception des bus spécialisés dans l'accès aux disques dont on verra plus loin la diversité. Le chapitre contient cinq développements, les deux premiers d'ordre général, les trois autres spécialisés :
le vocabulaire propre aux bus, leur organisation et leur variété,
les techniques communes,
les bus de terrain, GPIB et autres,
les bus internes, bus STD et bus récents,
les bus externes, USB et IEEE 1394.

Remarquons d'abord que les deux chapitres précédents traitaient, hors les pipelines, des moyens et des techniques de stockage.
Le stockage est un moyen de communication qui en un emplacement donné laisse s'écouler le temps, c'est une communication dans le temps.
Le transport des données d'un endroit à un autre est une autre communication, communication dans l'espace.
On ne traite que les très courtes distances, c'est-à-dire les bus internes à l'ordinateur, et les bus externes qui sont dans son voisinage immédiat. Les communications à plus longue distance relèvent d'autres enseignements, elles sont traitées dans les cours

Réseaux et communication.
Un système informatique est constitué de composants divers : processeur, mémoire, caches, circuits d'entrée et sortie, appareils externes informatiques ou industriels, etc. Ils doivent être reliés entre eux pour que soient acheminés des signaux de natures diverses :

Le mot bus est apparu à la fin des années 50, pour désigner un jeu de conducteurs commun à plusieurs circuits et dans certaines machines à tous les circuits comme dans les PDP de DEC avec l'unibus. Il s'agit bien du moyen de transport commun opposé au jeu de conducteurs privé qui relie deux composants. Avant les bus, les liaisons internes étaient réalisées point à point entre les composants par des fils spécialisés. Ce foisonnement coûteux a été rendu inutile par l'intégration des circuits et impossible par le nombre de broches alors très petit sur un circuit intégré. Le premier microprocesseur, Intel 4004 avait 16 broches.Cette simplification technique et un coût moindre l'ont fait adopter très largement; en contrepartie, il interdit les transferts simultanés et peut devenir un goulot d'étranglement selon son débit et le volume des demandes. Il unifie le mode de fonctionnement global de la machine, synchrone ou asynchrone en imposant son protocole aux échanges.

La progression de l'intégration des circuits a fait que le processeur sur un seul circuit possède des chemins internes nommés eux aussi bus. Ils sont réalisés par des dépôts métalliques. Ils ne sont pas accessibles. Nous n'en parlerons pas ici.

Parallélisme
Les bus sont affectés, comme tous les autres composants architecturaux par la tendance profonde à la parallélisation. On l'appréciera de façon évidente par l'évolution de la largeur des bus, de façon explicite par l'apparition de l'imbrication des transactions.

AVANTAGES DU BUS

    on ajoute facilement des circuits nouveaux;
    les périphériques sont normalisés et donc portables.     le même jeu de conducteurs a des usages différents.INCONVÉNIENTS DU BUS     sa bande passante est limitée;
    les demandes ne peuvent pas être satisfaites simultanément.     par la longueur du bus;
    par le nombre d'appareils connectés.DEUX REMARQUES :Les bus ainsi définis sont les bus internes d'un ordinateur et les voies de communications entre composants de systèmes.
 

 Un bus est un moyen de communication
entre plusieurs composants connectés par destination.

Les communications spatiales en service sont de sept types en allant du plus lointain au plus proche.

NOTE COMPLÉMENTAIRE sur les RÉSEAUX d'ordinateurs et les SYSTÈMES DISTRIBUÉS.Dans un réseau, chaque ordinateur est autonome, c'est-à-dire capable de fonctionner sans avoir besoin d'un autre, même si les données ne sont pas toutes disponibles localement. En échange, l'accès à une autre machine à partir de l'une d'elles est alors soit implicite comme dans le mode client-serveur, soit explicite.

Dans un système distribué, l'utilisateur ne voit pas les accès à l'une ou l'autre machine. L'ensemble se comporte comme une seule machine que l'on espère plus puissante que chacune prise séparément. Pour cela le système distribué peut être considéré comme une extension des réseaux dans le sens où un ensemble supplémentaire de logiciels prend en charge la transparence et la cohérence du tout.

PLACE DES BUS

Dans les chapitres précédents, on a vu pourquoi les caches prolifèrent pour combler des écarts de bandes passantes trop important. Il en est de même pour les bus. Un bus doit avoir une bande passante au moins égale au débit du composant le plus lent qui y est connecté. Entre deux composants, il y a un bus. Si l'on insère un cache entre eux, il faudra deux bus, etc. La présence nécessaire de plusieurs bus a pour motif l'augmentation des écarts de performances entre les composants du système.

5.1 VOCABULAIRE DES BUS

Un bus est un dispositif de transmission de signaux électriques entre parties d'un système électronique. Par abus de langage, on donne le nom de bus au protocole qui régit ce dispositif, sans trop se préoccuper de ses aspects matériels.

Ce dispositif est un ENSEMBLE DE CONDUCTEURS, alimenté, organisé et utilisé de préférence en conformité avec une norme ou un usage reconnu. Les conducteurs portent les informations à acheminer, les courants d'alimentation, les références électriques, les adresses de destination et les signaux de commande. Chacun des circuits CONNECTÉS au bus est lié à tout ou partie de ces conducteurs. La gestion du bus et donc des transferts, est régi par le PROTOCOLE de communication, ensemble des règles d'établissement, de maintien ou échange et de libération de la communication. Le bus assure la fonction de transport de l'information dans l'espace.

Quand un même conducteur porte des données dont la nature change d'un instant à l'autre, on dit qu'il est MULTIPLEXÉ.

Physiquement, le bus est visible comme un connecteur dont chaque broche correspond à un signal spécifique ou comme un jeu de fils, de quatre à plusieurs centaines. Le bus qui relie le processeur à la mémoire, est aujourd'hui définitivement figé sur une carte et n'a pas cette visibilité, sauf à examiner la carte de très près.

Un ensemble de dispositifs interconnectés par un bus constituent avec lui un SEGMENTde bus.

Le MAÎTREdu bus est un dispositif unique à un instant donné. Si plusieurs organes peuvent avoir cette qualité, ils sont régis par un ARBITRE, physique ou immatériel.

Le maître opère avec un dispositif gouverné (slave) qu'il choisit, éventuellement sur la demande de celui-ci. Cela est fait en plaçant son adresse sur le bus d'adresses ou en émettant son adresse. Chaque gouverné cherche la coïncidence avec son adresse propre, si oui il y a établissement d'une connexion entre le maître et le gouverné. Si deux gouvernés sont activés, il pourra y avoir transaction entre eux sous la surveillance du maître. Une fois la connexion établie, l'échange de données se fait via le bus jusqu'à rupture par le maître.

La suite constituée par l'établissement, l'échange, la rupture de la communication est une TRANSACTION.

Les règles qui régissent les transactions constituent le PROTOCOLE.

Une émission à destination de tous les récepteurs potentiels est dite BROADCAST.

Il existe des bus parallèles : une ligne par bit, et des bus série : une ligne pour deux ou plusieurs bits de significations différentes distingués par le multiplexage temporel.

Un bus est ASYNCHRONE s'il n'a pas ou n'utilise pas de ligne portant un signal d'horloge.

Un bus est SYNCHRONE si un conducteur (au moins) porte les signaux d'une horloge centrale ainsi distribuée à tous les dispositifs. Dans ce cas les signaux d'horloge rythment le fonctionnement du bus.

L'ARBITRAGE entre maîtres peut être :

Il y a de nombreux systèmes de priorité : Un bus est RÉSERVÉ ou DÉDIÉ quand ses fonctions sont invariantes dans le temps : bus de données pour les données, bus d'adresses pour les adresses etc.Un bus est PARTAGÉ si, selon l'instant et selon les états de fils de commande, tout ou partie est affectée à telle ou telle fonction.

5.2. STRUCTURE DES BUS, TYPES ET NOMBRE

La structure la plus souvent rencontrée dans les bus internes comprend quatre parties distinctes comme figuré ci-dessus.

La source est le dispositif qui émet les données sur le bus.
Le puits est le dispositif qui reçoit les données du bus.Les échanges peuvent être faits en parallèle ou en série.

Dans l'architecture de Harvard, il y a dédoublement de chacune des deux parties données et adresses puisque les deux mémoires de programme et de données sont adressées séparément. Ce dédoublement peut être physique ou par multiplexage. Ci-dessous un exemple de Harvard ET double port. Cette organisation est fréquente dans :


TYPES DE BUS

Court, haut débit, maximise le débit entre processeur et mémoire, est directement connecté au processeur, est optimisé pour le transport des blocs des caches.
Il est parfois nommés bus local par opposition au troisième type (exemples VESA, PCI). Long, faible débit par rapport au précédent, il accepte de nombreux dispositifs, est connecté au précédent (exemples IEEE1394, USB) Le fond de panier est la structure d'interconnexion du châssis. Il est aujourd'hui utilisé pour des entrées et sorties (exemples ISA, EISA).NOMBRE DE BUS

Les micro-ordinateurs avaient :

Le «bus du processeur» est parfois nommé bus frontal (sic), dans le Pentium IV il a 128 bits de données et fonctionne à 400 MHz.
On trouvera plus loin les explications sur les mots : PONT, USB, ISA, PCI.

CONDITIONS GÉNÉRALES DE FONCTIONNEMENT

Le bus relie physiquement les éléments dits «branchés sur le bus» qui constituent le segment. Cette voie est commune à tous ces éléments. Chacun doit donc avoir un identificateur, numéro ou adresse.

Une seule communication est possible à un instant donné entre un émetteur et un ou plusieurs récepteurs.

Le protocole est identique pour tous les éléments et pour cela nécessite parfois des interfaces complexes.

Le bus utilise beaucoup de câbles et de connecteurs, pratiquement toujours plus que ce qu'un élément nécessiterait stricto sensu. Sur des distances courtes, il est un outil à grand débit mais pas toujours suffisant.

COMMENT UN BUS EST DÉFINI

La définition COMPLÈTE d'un bus, quel qu'en soit l'usage, nécessite :

  1. les caractéristiques mécaniques : nature, diamètre des câbles comme paire torsadée, coaxial, etc. type des connecteurs comme DB9, DB25, Amphénol, s'ils existent;
  2. les caractéristiques électriques : tensions, état haute impédance;
  3. les caractéristiques des signaux : limites des transitions, signalisation;
  4. la spécification du protocole.

Paire torsadée Coaxial

 

 Un bus n'est pas une simple voie de passage,
un bus n'est pas seulement le protocole de l'informaticien,
c'est un organe fonctionnel complexe.

Questionnaire

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