• Aucun résultat trouvé

Modes de transmission asynchrone

5.2 Principe de fonctionnement de l’asynchronisme

5.2.2 Modes de transmission asynchrone

Un mode de transmission asynchrone utilise un support physique de commu- nication appelé canal associé à un ensemble de règles de communication appelé

protocole de communication.

Un canal de transmission asynchrone est constitué d’un ensemble de structures de contrôle et de transmission de données assurant le bon déroulement des échanges d’information. Les formes usuelles que peuvent prendre ce canal sont le canal à donnée groupée, et le canal double rail.

Un protocole de transmission asynchrone décrit la succession fonctionnelle des opé- rations (phases) intervenant dans l’échange d’informations sur un canal. Les proto- coles de transmission les plus courants sont le protocole à 2 phases et le protocole à 4 phases.

Cette partie rappelle les modes de transmission asynchrone les plus couramment utilisés.

Canal à donnée groupée avec protocole de transmission à 4 phases Ce mode de transmission utilise un canal dans lequel les signaux de contrôle permettant d’effectuer les opérations de type poignées de main sont codés sur 2 voies séparées du bus de données. Ces deux voies sont appelées Requête (req) pour la voie sur laquelle circulent les demandes de transmission et Acquittement (ack) pour la voie ou circulent les accusé de réception. Les données sont groupées (bundled

data) dans un bus et chaque bit est porté par un unique fil du bus de données.

Pour cette raison, un tel canal de transmission est appelé également simple rail (fig. 5.3).

Le protocole de transmission à 4 phases associé au canal de transmission à donnée

Fig. 5.3 – Canal à donnée groupée

5.2. Principe de fonctionnement de l’asynchronisme

de toute information les signaux ack et req sont à l’état0. Le protocole est le suivant (fig. 5.4) :

Fig. 5.4 – Protocole de transmission à 4 phases sur canal à donnée groupée 1. Une fois la donnée à transmettre (placée par l’émetteur sur le bus de données)

stabilisée dans un état dit valide, l’émetteur émet une requête pour demander le transfert en mettant le signal de requête req à 1.

2. Le récepteur reçoit la requête, récupère les données, et renvoie un accusé de réception à l’émetteur en plaçant le signal d’acquittement ack à 1.

3. L’émetteur reçoit l’accusé de réception, et met le signal req à0 pour indiquer qu’il invalide la donnée.

4. Le récepteur ayant terminé la réception place le signal d’acquittement ack dans l’état 0 pour indiquer qu’il est prêt pour une nouvelle transmission. Le protocole de transmission décrit indique uniquement les transitions qui s’effec- tuent sur les signaux de contrôle et qui décrivent un protocole de poignée de main. Le transfert des données est quant à lui déclenché par le récepteur. Celui-ci reçoit une demande de transfert lorsque les traitements effectués à la cellule précédente de la chaîne de transmission sont terminés. Il effectue alors le transfert des données (verrouillage des données) avant d’envoyer un accusé de réception. Compte tenu du fait qu’il soit indispensable que les traitements effectués à la cellule précédente soient terminés lors de la transmission des informations, on introduit un délai dans la chaîne de contrôle asynchrone. Ce délai doit être supérieur au temps de traite- ment des données.

Sur le plan de l’implantation électronique, comme nous le verrons plus tard, un protocole de transmission à4 phases est assez aisé à mettre en oeuvre et son coût matériel est assez réduit. Ceci provient en partie du fait que les transmissions sont initiées sur les fronts montants du signal de demande de transfert.

de transmission est quant à lui différent. Nous avons vu précédemment que dans le protocole de transmission à 4 phases, la transmission effective des données a lieu entre la réception de la demande de transfert et l’envoi de l’accusé de réception. Les phases 3 et 4 du protocole ne servent donc à rien sur le plan du transfert des données. Le principe de la transmission à2 phases consiste donc à utiliser ces deux dernières phases pour transmettre une nouvelle donnée. Le protocole est le suivant (fig. 5.5) :

Fig. 5.5 – Protocole de transmission à 2 phases sur canal à donnée groupée 1. Une fois la donnée à transmettre (placée par l’émetteur sur le bus de données)

stabilisée dans un état dit valide, l’émetteur émet une requête pour demander le transfert en inversant le signal req (0 → 1 ou 1 → 0).

2. Le récepteur reçoit la requête, récupère les données, et renvoie un accusé de réception à l’émetteur qui inverse l’état du signal d’acquittement ack (0 → 1 ou1 → 0). Les données présentes sur le bus de données sont alors invalidées. Le protocole de transmission asynchrone à 2 phases permet donc de transmettre en théorie deux fois plus d’informations, et le coût énergétique de transfert associé au bus de contrôle est réduit de moitié (car le nombre de transitions est réduit de moitié). Ce résultat est en réalité bien nuancé car la logique de traitement des requêtes et accusés de réception doit être sensible aux fronts montants et descen- dants, ce qui la complique beaucoup. Les conséquences de cette complexité sont une réduction de la vitesse de transmission, une hausse de l’énergie consommée, et une augmentation de la surface de silicium occupée. En conséquence, aujourd’hui, le protocole de transmission à 4 phases est privilégié.

5.2. Principe de fonctionnement de l’asynchronisme

Canal à double rail avec protocole de transmission à 4 phases

Nous avons vu qu’un des inconvénients lié à la séparation du bus de données et des bus de contrôle est la nécessité d’insérer des temps d’attentes entre la réception d’une demande de transfert et l’envoi de l’accusé de réception. Afin de s’affranchir de cette contrainte, une idée est de faire passer les données directement par le fil de requête req. Mais cette idée se heurte au fait qu’une requête est caractérisée par une transition sur req. Cette transition permet de coder la présence d’une donnée mais pas sa valeur. Pour remédier à ce problème, on utilise deux fils de requête par donnée, le premier portant l’information demande de transmission d’un0 logique, le second portant l’information demande de transmission d’un1 logique. La nécessité de coder chaque bit de donnée sur2 fils justifie l’appellation double rail.

Un canal numérique est donc constitué de 2n fils permettant de transmettre les n bits de donnée, et d’un fil permettant l’envoi des accusés de réception (ack) (fig. 5.6). Le protocole de transmission à 4 phases associé à ce canal est le même que

Fig. 5.6 – Canal double rail

celui qui est associé au bus à donnée groupée (à la différence près que les requêtes portent de l’information). Il se compose des phases suivantes (fig. 5.7) :

Fig. 5.7 – Protocole de transmission à 4 phases sur canal double rail 1. Une donnée à transmettre est placée par l’émetteur sur le fil de requête cor-

respondant à la valeur à transmettre (Req 0 pour transmettre un 0, Req 1 pour transmettre un 1).

2. Le récepteur reçoit la requête, et renvoie un accusé de réception à l’émetteur en plaçant le signal d’acquittement ack à 1.

dans l’état 0 pour indiquer qu’il est prêt pour une nouvelle transmission.