• Aucun résultat trouvé

Un mode alternatif de transmission asynchrone bit-série : la

Dans le document Asynchronisme dans les rétines artificielles (Page 129-134)

bit-série : la

transmission par jetons

Les avantages et inconvénients liés à l’utilisation de l’asynchronisme ont été présentés à la partie 5.2.5. Un de ces inconvénients, l’augmentation de la surface de silicium utilisée dans les circuits, pose un problème majeur pour l’utilisation de l’asynchronisme dans les rétines artificielles. Le nombre de transistors étant très limité, il est important de réduire au maximum la taille de chacune des fonctionna- lités du processeur élémentaire. Pour ce faire, nous étudions les modes de commu- nication asynchrone afin de chercher quel est le meilleur compromis coût matériel

- capacités de transmission que l’on peut obtenir dans le contexte de notre appli-

cation, à savoir la réalisation d’opérations bit-série régionales avant de proposer un mode de communication alternatif aux solutions existantes.

7.2. Un mode alternatif de transmission asynchrone bit-série : la transmission par jetons

7.2.1

Comparaison des différentes méthodes de communica-

tion asynchrone dans le cas d’opérations bit-série

Différentes techniques de communication asynchrones existant dans la littéra- ture ont été présentées à la partie 5.2.2. A ces techniques s’ajoute la communication asynchrone sans protocole de communication utilisée dans l’additionneur bit série linéaire [KKI04], et dans la maille associative d’Orsay ([Moh96][Dul96]. Dans cette partie nous analysons quels sont les avantages et inconvénients de ces différents types de transmission, avant de proposer une nouvelle méthode de transmission basée sur le concept de jeton.

– Communication asynchrone sans protocole : utilisé dans la maille as- sociative, ce mode de communication peut être assimilé à un fonctionnement de type combinatoire. Cette forme d’asynchronisme sans contrôle est efficace pour réaliser des associations. Toutefois elle requiert des opérateurs dédiés tels qu’un additionneur ou des portes logiques dans le chemin asynchrone. Ces opérateurs dédiés ont un coût matériel important, qui contrebalance l’écono- mie de coût faite sur les transmissions asynchrones utilisant un simple fil entre processeurs élémentaires adjacents.

– Communication utilisant un bus à données groupées (voir fig. 5.3 à la section 5.2.2) : ce mode de communication utilise une structure de contrôle de type micropipeline associée à une transmission de la donnée sur un fil. En outre il faut ajouter des retards dans la structure de contrôle, le fonctionne- ment global étant celui d’un circuit de type synchrone où les synchronisations sont effectuées localement. Une telle structure présente un surcoût important dans le cas d’une implantation de type calcul réparti bit-série. Le bit à trans- mettre de cellule en cellule est codé sur un fil de donnée auquel il faut ajouter un réseau de synchronisation à base de micropipelines, des cellules de retard, et des registres de stockage placés sur le fil de donnée. Cette structure, outre ses performances limitées du fait de l’utilisation d’un modèle de type Huff- man avec insertion de retard à un coût élevé en transistor. Ce coût peut se justifier dans le cas d’une transmission de données sur un bus à plusieurs fils, dans le cas d’une transmission sur un fil, le surcoût à payer est trop important. – Communications utilisant un bus double rail (voir fig. 5.6 à la section 5.2.2) : ce mode de communication repose sur un codage des données utilisant deux fils par bit de donnée. Il permet d’effectuer des transmissions en fusion- nant les signaux de contrôle et de données. Dans le cas de la transmission d’un seul bit de donnée, le surcoût à payer par rapport à une transmission directe sur un fil est la double structure de contrôle de type micropipeline as- sociée aux communications de type double rail. Une telle structure présente un coût relativement important, qui est toutefois moins élevé que celui de la structure précédente. Un point vient ternir cette solution : les opérateurs asynchrones associés à une telle structure ont un coût prohibitif.

combinatoires. La représentation d’un bit de donnée associée au bus double rail est un créneau de tension sur l’un des deux fils de requête, créneau dû au protocole de communication à 4 phases. Nous appelons ce créneau un jeton. La représentation d’un bit de donnée associée aux communications combinatoire est un niveau de tension.

7.2.2

Définition d’un nouveau mode de communication asyn-

chrone insensible aux délais

Les deux modes de communication présentant les meilleurs potentialités sont très différents, sans pour autant nous satisfaire totalement. Un mode de communica- tion alternatif à ces méthodes sera proposé, ayant un coût d’implantation inférieur dans le cadre d’une implantation adaptée à nos contraintes. Ces contraintes sont les suivantes :

– Les opérations à effectuer sont de type bit série afin de pouvoir les effectuer itérativement sur un bit de donnée.

– Parmi les opérations qu’il est nécessaire de pouvoir effectuer au minimum figurent l’addition et le OU global. La complexité temporelle maximale ad- missible pour effectuer ces opérations a été définie à la section 6.2, à savoir un OU global en O(1) propagations, et une addition régionale en O(n) pro- pagations, avec n le nombre de bits de la somme.

– L’implantation matérielle doit être peu coûteuse.

A ces contraintes s’ajoute une possibilité : celle de séquentialiser les phases asyn- chrones et d’effectuer des opérations synchrones de type SIMD entre les phases asynchrones.

Nous débutons l’analyse de ces contraintes en se focalisant sur la réalisation de l’addition. Effectuer une somme nécessite de pouvoir compter des bits. Pour cela la représentation d’une donnée sous forme binaire n’est pas forcément nécessaire. Supposons que les informations soient codées sous forme de jetons, un jeton signi- fiant qu’il faut incrémenter la somme d’une unité, l’absence de jeton signifiant qu’il ne faut pas toucher à la valeur de la somme. Le codage physique d’un jeton est dé- fini à la section 7.2.1 Dotons à présent une région d’une structure d’arbre couvrant propageant les jetons vers la racine de l’arbre, les jetons ne pouvant être fusionnés. Il suffit de placer dans la racine de l’arbre un compteur destiné à compter les jetons qui passent pour connaître le nombre de jetons initialement présents dans l’arbre, puisque tous les jetons passeront dans la racine.

7.2. Un mode alternatif de transmission asynchrone bit-série : la transmission par jetons

L’analogue de ce dispositif pourrait être un compteur de voitures sur un réseau au- toroutier convergent. Pour compter le nombre de voitures présentes sur le réseau, il suffit d’orienter toutes les voitures présentes sur un réseau autoroutier vers un péage unique dans lequel elles sont forcées de passer pour sortir de réseau.

Le codage sous forme de jeton des bits de la somme à additionner suffit donc au calcul de cette somme (nous verrons que ce codage peut être réalisé de manière simple et peu coûteuse). Nous verrons dans la suite qu’il est possible de se pas- ser du compteur de jetons localisé dans la racine de l’arbre, et qui aurait un coût matériel important. Examinons à présent l’implantation du OU global à base de jetons. Son fonctionnement est très simple : il suffit de placer un jeton dans chacun des processeurs de l’arbre couvrant ayant un état logique1 et contribuant au calcul du OU global. Le réseau de propagation sur arbre couvrant fait donc propager les jetons vers la racine. Si le compteur de jeton placé dans la racine voit passer un jeton ou plus, alors le résultat du OU global est1, 0 sinon.

A présent, examinons comment un tel codage de l’information satisfait à la contrainte de réaliser un OU global enO(1) propagations, et une addition régionale en O(n) propagations, avec n le nombre de bits de la somme. Pour le OU global, le résultat est clairement obtenu en une propagation. Pout l’addition régionale, il est possible d’obtenir dans la racine une somme de bits réparti sur la région en une propagation, à condition que chaque bit ait le même poids. Pour réaliser une addition sur des données de taille maximale k bits dans chaque pixel, il est nécessaire de réaliser k propagations, qui vont permettre d’obtenir k sommes de poids différents dans la racine. Il suffit de terminer le processus en ajoutant (avec les pondérations néces- saires) ces k sommes de manière synchrone et locale pour obtenir les n bits de la somme. Le nombre n de bits de la somme étant nécessairement supérieur ou égal au nombre k de bits de chacun des termes de la somme, le calcul de l’addition régio- nale s’effectue donc en moins de n propagations, ce qui répond à la contrainte fixée. Le mode de transmission défini permet donc de répondre aux deux premières contraintes que nous nous sommes fixées. Avant de conclure sur la pertinence de ce mode de transmission il est nécessaire d’examiner le coût de la structure matérielle permettant d’effectuer les opérations de propagation de jetons. Cette structure est bien connue, il s’agit de la structure de contrôle des micropipelines introduite pas Ivan E. Sutherland [Sut89] (fig. 7.7), qui convient pour effectuer des transmissions linéaires. Le modèle de propagation associé est de type insensible aux délais (DI) localement, et la structure a un coût très réduit : 2 C-éléments par processeur élé- mentaire seulement.

Finalement, le mode de transmission défini permet de répondre à chacune des contraintes que nous nous sommes fixées. Son mode de transmission est un proto- cole à phases standards illustré à la figure 7.8. Ce mode de transmission, basé sur le concept de jeton, se situe entre les communications combinatoires et les trans- missions double rail :

Fig. 7.7 – Structure permettant la transmission par jetons

Fig. 7.8 – Protocole de transmission par jetons

– Le niveau d’abstraction de l’information manipulée, le jeton, est supérieur au niveau d’abstraction d’une simple valeur binaire placée sur un fil : la propriété importante des jetons est que placés sur un réseau linéaire, ils ne se fusionnent pas. Cette propriété n’est pas vérifiée pour les valeurs binaires placées sur un fil. Cette élévation du niveau d’abstraction de l’information manipulée per- met de diminuer la spécificité des opérateurs d’addition mis en jeu. Un seul opérateur de comptage situé dans la racine est nécessaire, alors que dans le cas de valeurs binaires transmises sur des fils, il est nécessaire de placer un additionneur bit-série dans chaque processeur (nous verrons dans la suite que cet opérateur de comptage est en réalité remplacé par un opérateur distribué). – L’abstraction d’un jeton est de niveau inférieur à l’abstraction des données binaires non fusionnables manipulées dans les transmissions double rail. Ces données binaires sont codées comme deux jetons, mais comme nous l’avons montré, un tel niveau d’abstraction n’est pas nécessaire pour répondre aux contraintes que l’on s’est fixées.

De même, la structure permettant la transmission des jetons se situe au niveau complexité matérielle entre le simple fil et la structure permettant un fonction- nement double rail. Le mode de transmission de l’information proposé constitue donc un compromis entre une transmission combinatoire et la transmission double rail, de manière à diminuer le coût matériel conjugué des structures de calcul et de propagation mises en jeu. Ce mode de transmission a une propriété intéressante et inhérente au fonctionnement de la structure de contrôle des micropipelines : il est insensible aux délais (DI), ce qui constitue la forme la plus pure d’asynchronisme.

Dans le document Asynchronisme dans les rétines artificielles (Page 129-134)