
Le bus interne du processeur, c'est-à-dire celui qui est issu du processeur, définit le moyen de
connexion du processeur avec ses contrôleurs (coupleurs) compagnons (mémoire, E/S). Ce
bus est relié via une interface au bus « machine », c'est-à-dire un bus défini pour un ordinateur
et non plus pour un processeur, par exemple le bus PCI, VME, …Un tel bus autorise la
création d’extensions qui pourront être indépendantes du processeur et à partir de ce principe
il est aisé de construire des machines multi-carte unité centrale (bus VME, Multibus, …).
Approfondir la description des coupleurs d’entrées-sorties et les différents bus d’extension
constitue le centre d’intérêt de la première partie de ce chapitre. Les termes coupleurs et
contrôleurs seront utilisés indifféremment dans la suite du document.
Rappelons que les contrôleurs d’entrées-sorties ont été classés en trois catégories. Les
entrées-sorties parallèles sont faites pour communiquer un ensemble de bits (8, 12, 16, 32)
simultanément sur un canal de communication pour obtenir le transfert le plus rapide possible
(interfaces disques, imprimantes, …). Par contre cette possibilité n’est offerte que sur des
distances courtes (quelques dizaines de centimètres à quelques mètres suivant le débit et le
canal). Les entrées-sorties séries servent à transmettre les données bit après bit sur une
liaison à « un fil ». Les entrées-sorties par interruption correspondent à la signalisation
d’un événement dans le temps : elles signalent une occurrence.
Fonctions et Architecture des coupleurs d’entrées-sorties.
La relation entre le monde du processeur et le monde extérieur est une interface entre
l’information et le monde physique, ou le monde de la physique. Elle requiert des dispositifs
particuliers, appelés périphériques, pour :
- la saisie (importation) de données déjà numériques, en provenance par exemple d’un
autre ordinateur, ou d’autres qui sont analogiques, en provenance de capteurs, et qui
doivent donc être numérisées. Le périphérique d’entrée a pour entrée une action
physique et produit une donnée d’information à destination du processeur.
- l’exportation de données pour la transmission, la présentation (visualisation), le
stockage ou une transformation d’une information en travail (énergie) dans le cas d’un
actionneur. Le périphérique de sortie a pour entrée les données d’information en
provenance du processeur et produit en sortie une action physique.
Les deux mondes évoluent suivant des échelles de temps très différentes et les comportements
respectifs sont donc totalement asynchrones. Dans ces conditions et si de plus les deux
doivent coopérer, il faut impérativement qu’entre les deux entités soit interposé un dispositif
de stockage, une sorte de file d’attente, pour absorber les différences de rythme de
fonctionnement des deux mondes. La coopération implique que, dans une relation de
producteur consommateur, le rythme de consommation est en moyenne inférieur ou égal au
rythme de production, sinon gare au débordement de la file d’attente. Elle implique, d’autre
part, l’introduction d’un mécanisme de synchronisation comme par exemple l’attente sur une
file d’attente vide. Un périphérique d’entrée ou de sortie peut avoir sa propre file d’attente –il
peut d’ailleurs comporter un ordinateur embarqué– mais cela n’est pas le propos de ce
chapitre et seuls les coupleurs vont retenir l’attention dans ce propos. La file d’attente est
donc une file contenant les données échangées entre le processeur et le périphérique. Or une
information (cf. chapitre codage) est représentée par une donnée obtenue par un codage choisi
en fonction de l’utilisation qui en sera faite. La même information n’aura vraisemblablement
pas la même représentation pour son traitement au niveau du processeur et celui au niveau du
périphérique. Un caractère est représenté par son code ASCII au niveau du processeur et sera
représenté par une matrice de point au niveau de l’écran. Le coupleur peut donc associer à la
fonction de stockage une fonction de transcodage. Généralement ce transcodage correspond à
un codage de type binaire à signal, par exemple le codage Manchester utilisé par un coupleur
Ethernet.