5.3 TECHNIQUES COMMUNES AUX BUS
5.3.1 Vitesses, débits, fréquences et performances
![]() |
|
![]() |
La célérité
du signal (l'expression «vitesse de propagation du signal»
est impropre mais ordinairement utilisée) est limitée par
l'absolu qu'est la célérité de la lumière.
La célérité (vitesse) de l'électricité
dans un conducteur est au plus de 200 000 km/s, soit 20 cm/ns.
On ne doit appeler vitesse que
la célérité du signal ci-dessus.
Quand l'horloge bat à
100 MHz, un cycle dure 10 ns, le signal parcourt 2 m.
Quand l'horloge bat à
500 MHz, un cycle dure 2 ns, le signal parcourt 40 cm.
Quand l'horloge bat à
2 GHz, un cycle dure 0,5 ns, le signal parcourt 10 cm.
Le débit
ou bande passante est le nombre d'unités de données
transmises par seconde : bits, octets, mots. Il est fonction de la largeur
du chemin et de la fréquence. On distinguera le débit théorique
et le débit utile.
Un débit N'EST PAS
une vitesse.
La fréquence de fonctionnement est le nombre maximum de transitions par seconde.
Quelques caractéristiques d'un bus sont :
5.3.2 Principes de fonctionnement
Le principe de l'échange électrique est illustré par la figure suivante. On considère deux registres de 4 bits, constitués de 4 bascules B. On a figuré :
5.3.3 Asynchrone ou synchrone
La communication dans l'espace, dans un bus comme ailleurs, demande que l'émetteur et le récepteur soient actifs pendant des durées communes, au délai de transmission près. Par exemple, il faut que l'émetteur affiche les données sur le bus parallèle pendant un certain temps car les délais d'acheminement peuvent être différents d'un fil à l'autre, ou parce que les fils ont des longueurs différentes, ou parce qu'ils ont des charges différentes. L'émetteur doit signaler la présence de la donnée. Si l'émetteur ne connaît pas le temps de prise, le récepteur devra la lui signaler.
Ces opérations sont dites de synchronisation. Elles sont faites de trois façons : synchrone si les événements ont lieu à des moments précis; asynchrone s'ils peuvent avoir lieu à des instants arbitraires; semi-synchrone s'ils peuvent avoir lieu à des instants prédéfinis mais quelconques.
MODE SYNCHRONE.
MODE ASYNCHRONE.
Pour faire une transaction, le maître doit désigner l'interlocuteur par une adresse unique. On définit cette adresse de deux façons.
1. Qui prend possession du
bus et comment ? Arbitrage et maîtrise du bus.
2. Pour quoi faire ?
Nature et objet des requêtes.
3. Comment cela se fait-il
? Forme des requêtes et réponses.
La communication entre A et B branchés sur le bus est faite en plusieurs étapes :
1) L'identification, ou reconnaissance.
.dans un premier cas, l'un des
deux est maître
par décision d'arbitrage;
.dans un deuxième cas,
le maître est un dispositif tiers qui a reçu par scrutation
ou autre procédure une demande de l'un des deux dispositifs.
Dans les deux cas, le maître
:
.initialise la communication
en émettant l'adresse de l'autre élément.
.précise la nature du
transfert : émission ou réception,
.indique s'il y a lieu le type
d'information qui sera échangée, adresse, donnée,
mot d'état, interruption etc.
2) Le transfert.
Après identification,
les deux interlocuteurs passent dans l'étape de transfert, par exemple
A prêt à émettre et B prêt à recevoir.
La transmission d'un mot (au moins) se fera alors par le placement par
A du mot sur les voies convenables et l'indication simultanée de
la présence de ce mot sur une autre voie. L'ensemble est maintenu
pendant un temps suffisant pour que B puisse l'acquérir.
On utilise des techniques diverses
et notamment :
.la commande à sens unique:
elle est analogue au transfert synchrone, à la différence
près que le temps de positionnement de la donnée peut dépendre
des caractéristiques du destinataire ou de l'émetteur;
.la commande avec accusé
de réception.
Il y a ici interaction pendant
la présentation de la donnée, exemple :
.A attend pendant t1 (durée
de stabilisation);
.A place la donnée sur
la voie;
.A place
le signal Donnée Prête, et le maintient;
.B détecte la présence
de DP, acquiert la donnée;
.B place Donnée Acceptée
(DA) maintenue pendant un temps fixe, le délai de détection
par A.
3) la phase de restitution
ou relâchement.
A reçoit DA, désactive
le positionnement des données et supprime DP.
Ce moyen est sûr, bien immunisé contre le bruit, beaucoup plus lent que la commande à sens unique.
VARIANTES DE PROTOCOLES
Transferts
en rafale (burst mode). Dans une transaction ordinaire simple, un mot
est émis. Transférer plusieurs mots successifs nécessite
plusieurs transactions. Le transfert en rafale consiste à transférer
plusieurs mots en une transaction élargie. L'adresse fournie est
celle du premier item, elle doit être accompagnée du nombre
d'items. Les items suivants sont appelés à la suite. Ce fonctionnement
est analogue à celui du canal d'accès direct à la
mémoire déjà ancien. Ici, le bus gère lui-même
ce transfert.Transaction
éclatée ou transactions imbriquées (split
transfer) ou transactions en pipeline ou encore bus à
paquets commutés. Elle est détaillée plus
loin.
![]() |
Il n'est pas utilisable. |
![]() |
5.3.6 L'arbitrage
Les principes de l'arbitrage
Le plus simple est qu'un seul élément soit maître en permanence, c'est le cas dans des systèmes où seul le processeur unique est maître. Il n'y a donc pas d'arbitrage entre maîtres. Il peut y avoir besoin d'arbitrage entre demandes, c'est une technique d'interruption.
Dans des systèmes plus complexes, soit parce que comportant plusieurs processeurs, soit parce que des éléments peuvent être élus maîtres (cas des bus MCA et EISA que l'on verra plus loin), l'arbitrage est nécessaire. On connaît ou on pratique :
L'arbitrage statique. Les candidats à la maîtrise sont élus l'un après l'autre, demandeur ou non (analogue au fonctionnement d'un réseau local à jeton). Le maître élu qui n'a pas de transaction à faire fera une transaction de non opération. Cet arbitrage n'est utilisé qu'avec un protocole synchrone et peu de maîtres potentiels. Il est simple mais consomme de la bande passante en pure perte.
Les arbitrages dynamiques. Le bus est alloué sur demande, par une ligne en général nommée BR pour bus request. Le choix de l'élu est fait selon divers algorithmes.
BA bus libre (bus available)
BR demande de bus (bus
request)
BB bus occupé
(bus busy)
BG bus alloué
(bus granted)
Les trois schémas de l'arbitrage
centralisé sont :
.la scrutation (polling);
.le chaînage en guirlande
ou en pétales de marguerite (daisy chain);
.la demande indépendante
(independant request).
La scrutation.
L'arbitre dispose des lignes BR, BAC, d'un groupe de lignes de scrutation qui transmettent une adresse à toutes les unités et de la ligne VAL qui valide une adresse ainsi disposée. La ou les unités demanderesses affichent le signal BR unique qui signifie : une unité au moins a demandé le bus. L'arbitre émet successivement les adresses des unités, selon la priorité choisie, et pour chacune, positionne VAL. L'unité qui reconnaît son adresse répond par BAC qui sera maintenu jusqu'à la libération du bus par l'unité en cause.
La demande indépendante.Chaque
unité branchée sur le bus a une ligne d'accès à
l'arbitre qui reçoit toutes les demandes et choisit selon l'algorithme
en vigueur. Les étapes de scrutation ou de passage en chaînage
sont évitées au prix de ce câblage supplémentaire.
La guirlande
Le signal BR de requête
est partagé, le signal BG d'allocation est propagé de proche
en proche. Le premier dans la guirlande des appareils qui a fait une demande
se saisit du bus. Il le rend bus en émettant le signal de libération,
complémentaire du signal d'occupation BB (bus busy). Un nouveau
cycle d'arbitrage commence.Il
s'agit d'un cas particulier de la scrutation centralisée qui n'utilise
pas des lignes de scrutation mais un câblage de proche en proche.
L'algorithme ne peut être que la priorité fixée par
le câblage.
Le chronogramme de principe de
la guirlande est :
Variante du bus VME
Sa technique d'arbitrage centralisé combine les deux précédentes. L'arbitre de VME a 4 entrées de requêtes, 4 sorties d'allocation et une entrée BB.
Chaque couple requête-allocation reçoit une priorité paramétrable et peut accueillir un jeu d'appareils reliés en guirlande. Le paramétrage autorise 3 tactiques.
Le schéma de l'arbitrage distribué.
Le risque attaché à l'arbitrage centralisé est la panne de l'arbitre non dupliqué. L'arbitrage réparti demande une coopération entre appareils. Dans l'arbitrage distribué, chaque appareil dispose de son arbitre local. Pour obtenir le bus, l'arbitre local émet le numéro de priorité de l'appareil sur un jeu de lignes nommé Bus des numéros en faisant le OU de la configuration déjà sur le bus des numéros avec son propre numéro. Le bus des numéros porte ainsi le plus grand de tous les numéros d'appareils qui ont demandé le bus. Chaque arbitre local compare ce numéro avec le sien. S'il y a coïncidence, l'arbitre local lève le signal BB et transmet l'autorisation à son appareil. Cette technique est utilisée dans le Futurebus et le Nubus.
EN CONCLUSION
Les moyens et les techniques employés consistent à choisir parmi plusieurs demandeurs. On retrouvera le même thème pour les interruptions.
5.3.7 Une nouveauté en forme de transfert de technique
Pour accélérer les opérations internes au processeur, on a inventé le pipeline. Le temps de traitement de chaque instruction est augmenté mais le débit l'est aussi. Il faut pour cela une idée et plus d'électronique.
L'imbrication des transactions dans les bus des MIPS R10000, UltraSparc et Pentium est de la même veine.
Le principe :
On constate qu'une transaction est faite en plusieurs opérations successives et consomme donc plusieurs cycles. Certaines de ces opérations peuvent être lancées alors que la transaction en cours n'est pas achevée. Cette idée est très proche et en quelque sorte est dérivée de celle du pipeline de décodage.
Dans le cas d'un bus à plusieurs maîtres, on considère séparément chacune des opérations élémentaires et particulièrement les temps morts entre elles. Par exemple, dans une lecture, il y a temps mort entre la requête de lecture et l'affichage de la réponse. Pendant ce temps, un autre maître peut utiliser le bus. Il y a ainsi imbrication des transactions de ces deux maîtres. Comme dans le pipeline, la durée totale de chaque transaction (parfois nommées latence) sera augmentée mais la bande passante utile du bus le sera aussi.
Ce mécanisme nécessite :
La première notion introduite
est celle d'agent. Un agent est un maître éligible. Celui
qui détient le bus à l'issue d'une étape d'arbitrage
qui a utilisé le bus d'arbitrage, émet une requête
en deux cycles consécutifs. Dans le premier il y a émission
de l'adresse, du type d'échange, etc. Dans le second, propre à
la nouvelle technique est émis l'identificateur de la transaction
ID. Deux cycles plus tard, une indication d'erreur peut être présentée
pour signaler un défaut de transmission ou une violation du protocole.
Si tout va bien, le cycle suivant contient l'acceptation de l'interlocuteur.
(En cas d'erreur, le processeur tentera une deuxième fois d'émettre
la requête, si l'erreur persiste, un test sera lancé.)
Deux cycles plus tard seront
mis en place le signal de données prêtes et les données
elles-mêmes.
Dans le schéma suivant,
les transactions sont repérées par les numéros 1,
2 et 3. On y voit des requêtes et réponses multiples présentes
sur le bus au même instant.
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