Brevet FR2635934A1 — publié le 19900302

Liaison monodirectionnelle séquencée d'intercommunication de modules de traitement de données, notamment de calculateurs. Le domaine de l'invention est celui des réseaux de mise en communication de modules de traitement de données, permettant à chaque module d'envoyer des données à un autre module connecté au réseau, et de recevoir du réseau les données qui lui sont adressées. Dans ce type de réseau, des mots circulent sur une liaison accessible à tous les abonnés. La circulation des mots s'effectue par déplacement de chaque mot de "case" en "case", le long de la liaison, à chaque période d'horloge. Un tel réseau trouve, par exemple, une application, non limitative, pour l'intercommunication de calculateurs. Les calculateurs sont notamment utilisés pour effectuer du traitement de signal, c'est-à-dire pour réaliser sur un signal un certain nombre d'opérations sucessives sur des données qui arrivent en nombre important. Quand un calculateur même de forte puissance ne suffit pas, il faut mettre en oeuvre le traitement par plusieurs calculateurs qui doivent donc intercommuniquer. On connais déjà des réseaux d'intercommunication de calculateurs, constitués par des dispositifs tels que représentés en figure 1A et 1B, Le réseau connu de la figure 1A est constitué par un bus de données linéaire 10 sur lequel viennent se connecter des calculateurs abonnés 11, 12, 13... Ces calculateurs communiquent avec le bus 10 à travers des circuits tampons d'entrée sortie 14, 15, 16, respectivement. Le type de calculateur connu de la figure 1B comporte un bus 17 circulant et fermé, auquel sont connecté des calculateurs 18, 19, 20 à travers de circuits tampon 21, 22, 23. Ces bus 10, 17 ont généralement recours à un arbitrage d'accès centralisé, ce qui particularise un ou plusieurs des abonnés. D'autre part, la bande passante totale, et donc le débit total est partagé entre les différents abonnés, ce qui limite le nombre d'abonnés raccordables. On connaît également des réseaux permettant une décentralisation de l'arbitrage d'accès. On peut ainsi citer dans le cas des bus linéaires, le Gibus, ou encore le bus Ethernet. Dans ces réseaux, chaque abonné détecte par lui-même si le bus est libre, et résoud les problèmes de collision. Dans le domaine des bus tournants, on peut signaler celui du calculateur CAPITAN, où à chaque abonné actif est associée une tranche de temps pour l'accès au bus : "Le calculateur parallèle CAPITAN 600 MIPS pour l'imagerie temps réel" (Gérard Gaillat, premier Colloque Image, Biarritz, mai 1984). Plus préc :#ent dans ce calculateur parallèle, la liaison d'intercommunication des différents module de traitement est découpée en "cases" successives circulantes, formant des trains de "cases" dont au moins certaines cases de rang déterminé dans le train sont spécifiquement affectées à la transmission d'informations destinées à un ou plusieurs abonnés spécifiques. Un perfectionnement à ce type de bus peut é galement être trouvé dans la publication de brevet français 2571567. Ces réseaux décentralisés existants présentent l'inconvénient de partager la bande passante entre les abonnés. L'invention a pour objet un réseau permettant notamment de pallier les divers inconvénients des réseaux existants. Plus précisément, un premier objectif de l'invention est de fournir un réseau dans lequel chaque abonné est susceptible de gérer dynamiquement l'accès à la liaison dtintercommunication. Ceci per met de s'affranchir de l'arbitrage centralisé, et de fournir un débit maximal théorique proportionnel au nombre d'abonnés. Un objectif complémentaire est de fournir un tel réseau qui soit compatible avec une liaison monodirectionnelle soit linéaire, soit tournante (c'est-à-dire en anneau). Un autre objectif de l'invention est de fournir un tel réseau permettant aussi bien la distribution de chaque donnée à un abonné spécifique du réseau, que la diffusion d'une donnée à plusieurs abonnés. Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un réseau d'intercommunication de modules de traitement de données, notamment de calculateurs, du type constitué par une liaison monodirectionnelle de transmission de données, linéaire ou en anneau, lesdites données étant acheminées en multiplex temporel sous forme de mots successifs provenant de et/ou étant destinés à au moins un desdits modules connectés au réseau, caractérisé en ce que ladite liaison monodirectionnelle est constituée de moyens d'acheminement en parallèle, pour chaque mot transmis par le réseau, d'une part de la donnée correspondante, et d'autre part d'un identifieur de ladite donnée, et en ce qu'un module échangeur, associé à chaque module de traitement de données, assure la connexion au réseau du module associé, chaque module échangeur comportant des moyens d'interprétation dudit identifieur associé à chaque donnée des moyens d'acquisition sélective des données destinées au module de traitement des moyens de réémission en écriture sur le réseau du mot courant reçu par le module échangeur des moyens d'écriture sur le réseau d'un nouveau mot provenant du module de traitement associé des moyens de vidage dudit mot reçu par le module échangeur, chacun desdits moyens d'acquisition, d'écriture, de réémission et de vidage étant sélectivement commandé par lesdits moyens d'interprétation dudit identifieur. De façon avantageuse, lesdits moyens échangeurs comprennent chacun des moyens communs d'écriture sur le réseau du mot courant reçu et/ou d'un nouveau mot, constitués par un jeu de deux multiplexeurs synchronisés, un premier desdits multiplexeur assurant l'aiguillage de la donnée de chaque mot, et le second multiplexeur assurant l'aiguillage de l'identifieur du mot courant, lesdits multiplexeurs é tant susceptibles de prendre trois positions, sous commande desdits moyens d'interprétation d'identifieur une première position de réémission sur le réseau du mot courant reçu une seconde position d'écriture sur le réseau d'un nouveau mot une troisième position d'abstention d'écriture sur le réseau pour le cycle courant. Selon une autre caractéristique de l'invention, ledit module échangeur comporte trois registres consécutifs de stockage de mot, le premier et le troisième desdits registres assurant l'interface du module échangeur avec le réseau, en entrée et en sortie dudit module échangeur respectivement , lesdits moyens d'interprétation d'identifieur sont connectés entre le premier et le second desdits registres, et les moyens de lecture et d'écriture sélectives des mots sont montés entre le second et le troisième desdits registres, ledit module é changeur fonctionnant selon un cycle de trois périodes d'horloge un premier cycle d'alimentation desdits moyens d'interprétation d'identifieur avec la valeur de l'identifieur du mot courant reçu un second cycle de commande des moyens de lecture et d'écriture par lesdits moyens d'interprétation d'identifieur un troisième cycle d'écriture de mot sur le réseau en sortie du module échangeur. De façon à permettre la diffusion de données à plusieurs abonnés du réseau de l'invention, ledit identifieur est avantageusement constitué d'un premier sous-champ contenant une information d'adressage de la donnée courante et d'un second sous-champ contenant une information de diffusion du mot courant à plusieurs modules de traitement de données. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture suivante de la description d'un mode de réalisation préférentiel de l'invention, donné à titre illustratif et non limitatif, et des dessins annexés dans lesquels les figures 1A, 1B schématisent la morphologie de réseaux connus du type linéaire (Fig 1A) et en anneau (Fig lB) la figure 2 schématise la morphologie du réseau d'intercommunication suivant l'invention la figure 3 représente les différents éléments fonctionnels caractéristiques du module échangeur associé à chaque module de traitement de données connecté au réseau suivant l'invention ; ; les figures 4A, AB, 4C schématisent l'acheminement, la distribution et l'écriture de données sur le réseau de l'invention, pour trois abonnés consécutifs, au cours de trois périodes d'horloge successives la figure 5 représente le schéma synoptique d'un mode de réalisation préférentiel d'un module échangeur suivant l'invention, destiné à fonc tionner avec une liaison monodirectionnelle acheminant des mots de 30 bits. La morphologie du réseau à liaison monodirectionnelle de l'invention est représentée en figure 2. La liaison 21, linéaire ou en anneau, permet l'intercommunication de plusieurs abonnés 22, 23, 24. L'accès au réseau de chaque abonné 22, 23, 24 s'affectue, de façon décentralisée, à travers des modules é changeurs 25, 26, 27 insérés dans la liaison monodirectionnelle 21. Chaque module é changeur 25, 26, 27 communique avec son abonné 22, 23, 24 réspectivement à travers un tampon d'entrée/sortie 28, 29, 30. La figure 3 représente le schéma d'un module é changeur selon l'invention, associé à un abonné spécifique. Il existe autant d'échangeurs que d'abonnés et ils sont tous essentiellement identiques. Chaque mot transmis par la liaison 21 se décompose principalement en deux champs (chaque champ est un certain nombre de paires de signaux véhiculant 1 bit) : un champ "donnée" 31 et un champ "identifieur" 32. Si les données 31 sont, par définition, traitées dans les abonnés, en revanche, l'identifieur 32 n'apparaît pas dans les abonnés il ne fait que circuler dans le bus pour commander l'échangeur. L'échangeur a pour fonctions de recevoir les mots transmis par la liaison 21, . d'interpréter l'identifieur 32 et d'agir en conséquence, c'est-à-dlre d'acquérir les données dont il est destinataire, de laisser transiter les autres et d'émettre dès que possible des données en sortie de l'abonné. Les données 31 et l'identifieur 32 sont véhiculés sur le bus à la cadence d'une horloge de période T. Le module échangeur fonctionne en 3 coups d'horloge (3T), plus un coup pour resynchronisation d'horloge comme on le verra par la suite. Il comporte, dans son schéma de principe, trois registres tampons R1, R2, R3 s'interfaçant avec la liaison 21. Chaque tampon est formé de deux parties : l'une T1 reçoit le champ "donnée", l'autre T2 reçoit le champ "identifieur". Pour s'interfacer avec l'abonné, l'échangeur comporte un tampon d'entrée 38 et un tampon de sortie 39. Le "coeur" de l'échangeur est constitué par deux multiplexeurs 33, 34 à trois positions, l'un sur la liaison donnée 31, l'autre sur la liaison identifieur 32. Ces multiplexeurs 33, 34 mettent en oeuvre les actions 40 à réaliser sur les données et les identifieurs. Un interrupteur 37 commandé sur la connexion entre la liaison 21 et le tampon d'entrée 38 participe à l'élaboration des actions, en constituant un moyen de commutation sélectif assurant l'acquisition des mots reçus par le module échangeur et destinés au module de traitement associé au module échangeur. Un registre 41 assure la mémorisation temporaire des identifieurs des mots nouvellement écrits sur le réseau, en provenance de l'abonné. Les actions 40 sont provoquées par un module de commande 44 agissant sur les multiplexeurs 33, 34, et l'interrupteur 37. Ces actions sont programmées par l'abonné (couples adresse 42/action 43) selon les identifieurs auxquels il est sensibilisé. Cette programmation a lieu en mémoire vive (RAM) 35 avec aussi écriture dans le registre 41, par l'unité de gestion (U.G.) 36 de l'abonné et est donc aisément modifiable par l'abonné. Les deux multiplexeurs de donnée 33 et d'identifieur 34 travaillent en synchronisme de sorte qu'il y a six actions possibles indiquées dans le tableau ci-après, correspondant aux 6 combinaisons des positions des multiplexeurs 33, 34 et de l'interrupteur 37 TABLEAU DES ACTIONS Interrupteur 37 Multiplexeurs Action Tampon d'entrée 33 34 40 1 ouvert position 1 Laisser passer 2 fermé position 1 Lire la donnée et laisser passer 3 fermé position 3 Lire et "vidage" de l'identifieur et de la donnée 4 fermé position 2 Lire et écrire 5 ouvert position 2 Ecrire 6 ouvert position 3 "Vidage" de l'identifieur et de la donnée L'action de lire signifie faire passer une donnée de la liaison 21 au tampon d'entrée 38 (l'abonné acquiert la donnée). L'action d'écrire signifie faire passer une donnée du tampon de sortie 39 à la liaison 21 (l'abonné fournit la donnée au réseau). Les six actions possibles sont fonctions de l'identifieur en entrée. Un numéro d'identifieur est réservé à l'identifieur vide qui signifie l'absence de mot pour la période courante, en entrée du module échangeur. Dans le cas où l'identifieur est vide, l'action 40 effectuée est soit l'action 1 du tableau des actions, lorsque rien n'est qåà émettre sur le réseau, soit l'action 5 du tableau, si une donnée doit être émise par le module abonné. Dans le cas où l'identifieur est non vide, les actions 40 sont les suivantes abonné non destinaire du mot courant action 1 abonné destinataire du mot courant action 2, s'il existe d'autres destinataires (diffusion). l'abonné est le seul destinaire du mot courant, et n'a rien à é mettre sur le réseau action 3. . l'abonné est seul destinataire du mot courant et doit émettre une donnée sur le réseau action 4. . l'action 6 est réservée à l'initialisation de la liaison 21. Sur les figures 4A, 4B, 4C, on a schématisé une portion du réseau pour trois abonnés consécutifs n-l, n, n+ 1 avec des é chantillons d'entrée E et de sortie S pour trois périodes d'horloge successives T, T+1, T+2. Pour chaque abonné, le module j changeur 45, 46, 47 est schématisé par 5 cases en croix 3 3 cases consécutives, insérées dans la liaison, et correspondant aux trois registres R1, R2, R3 du module échangeur ; 2 2 cases 38, 39 correspondant aux tampons d'entrée et de sortie respectivement de l'abonné. Les inscriptions Eij et S dans les cases, correspondent au mot provenant de, ou destiné à la liaison 21. L'indice i identifie l'abonné destinaire de la donnée contenue dans le mot, et l'exposant j ordonne, à titre indicatif, les mots de même destination. De T à T + 1, l'action relative à l'échangeur n-l est "laisser passer", celle relative aux échangeurs n et n+l est "lire et écrire". De T+1 à T+2, l'action relative à l'échangeur n-l est "lire et écrire" tandis que celle relative aux échangeurs n et n+l est n laisser passer". Cet exemple explicatif du principe indique de plus que pour pouvoir écrire, il est nécessaire que le registre R3 de sortie soit libéré, soit par l'abonné lui-même parce que l'échantillon dans le registre R2 est lu (c'est le cas des figures), soit parce que le registre est vide. Les multiplexeurs 33, 34 et l'interrupteur 37 sont commandés à partir d'une analyse de l'identifieur de chaque mot entre le registre d'entrée R1 et le registre R2. Pour cela, à l'instant T, l'identifieur adresse la mémoire RAM 35 qui contient la liste des actions en fonction de tous les identifieurs. La RAM 35 fournit le mot de commande qui définit les actions. A l'instant T+1, les commandes représentées en traits discontinus sur la figure 3 sont effectuées. En résumé si l'abonné est destinataire de la donnée, il la prend, peut modifier l'identifieur et émet éventuellement une donnée en#sortie, sinon il laisse passer la donnée et 1 'identifieur, ou si la donnée est vide, il émet éventuellement une donnée en sortie avec un nouvel identifieur. L'identifieur vide (position 3) correspond à un champ donnée 31 vide. Dans le cas où un abonné a à diffuser des données vers plusieurs abonnés, l'identifieur contient cette information sous la forme du nombre de destinataires moins un (code de di#fusion). L'échangeur qui reconnaît l'identifieur en entrée acquiert la donnée et teste le code de diffusion. Si sa valeur est non nulle, il la décrémente et envoie la donnée et le nouvel identifieur à l'abonné suivant. Si sa valeur est nulle, il est le seul ou le dernier concerné par la donnée et met l'identifieur à vide. La figure 5 représente un mode préférentiel de réalisation d'un module é changeur suivant l'invention, destiné à fontionner avec une liaison monodirectionnelle acheminant des mots de 30 bits. Ces mots sont, par exemple, transmis par un câble normalisé, de type "marine", constitué de 30 paires torsadées. Dans ces mots de 30 bits, le champ "donnée" comporte 16 bits plus 1 bit de parité, le champ "identifieur" comporte 12 bits dont 2 correspondent au champ de diffusion et 1 à la parité. Un fil est réservé à la transmission du signal d'horloge de période T. Les éléments fonctionnels de la figure 5, qui correspondent à ceux de la figure 3, portent les même références. La taille des principales liaisons internes au module é changeur de la figure 5 sont exprimés en éléments-binaires (eb), A la différeace du module échangeur de la figure 3, le module é changeur de la figure S comporte un registre supplémentaire 51 situé en amont du registre d'entrée R1 pour effectuer la resynchronisation 52 de l'horloge interne 53 de chaque abonné sur l'horloge-mère. Pour une liaison linéaire, l'horloge mère est l'horloge interne de l'abonné situé le plus en amont appelé abonné initial. Pour une liaison de type anneau, l'abonné initial peut être n'importe lequel et il est désigné lors de l'initialisation par le superviseur. Il es' considéré comme étant le point de fermeture de l'anneau et il assure la resynchronisation entre ses flux entrant et sortant afin de ne pas perdre de données en transit. La programmation de la mémoire RAM 35 d'émission des mots de commande 40 à partir de l'identifieur de chaque mot transmis par le réseau, est effectuée sous contrôle d'un séquenceur 54 commandé par l'unité de gestion 36 du module de traitement associé au module échangeur. L'unité de gestion 36 du module de traitement commande salement un module 41 d'émission, sur 12 eb, de l'identifieur de chaque nouvelle donnée écrite sur la liaison 21, en sortie du module échangeur. Comme pour la figure 3, ces données proviennent d'un circuit tampon FIFO 39 connecté au bus interne 56 du module de traitement. REVENDICATIONS 1. Réseau d'intercommunication de modules de traitement de données, notamment de calculateurs, du type constitué par une liaison monodirectionnelle de transmission de données, linéaire ou en anneau, lesdites données étant acheminées en multiplex temporel sous forme de mots successifs provenant de et/ou étant destinés à au moins un desdits modules connectés au réseau, caractérisé en ce que ladite liaison monodirectionnelle (21) est constituée de moyens d'acheminement en parallèle, pour chaque mot transmis par le réseau, d'une part de la donnée (31) correspondante, et d'autre part d'un identifieur (32) de ladite donnée (31), et en ce qu'un module échangeur (25, 26, 27), associé à chaque module de traitement de données (22, 23, 24), assure la connexion au réseau du module associé, chaque module échangeur comportant des moyens (35, 44) d'interprétation dudit identifieur associé à chaque donnée des moyens (37) d'acquisition sélective des données destinées au module de traitement des moyens (33, 34) de réémission en écriture sur le réseau du mot courant reçu par le module échangeur des moyens (33,34) d'écriture sur le réseau d'un nouveau mot provenant du module de traitement associé des moyens (33,34) de vidage dudit mot reçu par le module échangeur, chacun desdits moyens d'acquisition, d'écriture, de réémission et de vidage étant sélec tivement commandé par lesdits moyens (35) d'interprétation dudit identifieur. 2. Réseau selon la revendication 1 caractérisé en ce que chacun desdits modules échangeurs comprend des moyens communs d'écriture sur le réseau du mot courant reçu et/ou d'un nouveau mot, constitués par un jeu de deux multiplexeurs (33,34) synchronisés, un premier (33) desdits multiplexeurs assurant l'aiguillage de la donnée (31) de chaque mot, et le second (34) multiplexeur assurant l'aiguillage de l'identifieur (32) dudit mot courant, lesdits multiplexeurs (33,34) étant susceptibles de prendre trois positions (1,2,3), sous commande desdits moyens d'interprétation d'identifieur (35,44) une première position (1) de réémission sur le réseau du mot courant reçu une seconde position (2) d'écriture sur le réseau d'un nouveau mot une troisième position (3) d'abstention d'écriture sur le réseau pour le cycle courant. 3. Réseau selon la revendication 1, caractérisé en ce que lesdits modules échangeurs compren nent des moyens d'acquisition du mot courant reçu constitués par des moyens (37) de commutation sélectifs vers un tampon d'entrée (38) du module de traitement de données associé audit module échangeur, lesdits moyens de commutation (37) étant commandés par lesdits moyens d'interprétation de l'identifieur (35,44). 4. Réseau selon la revendication 1, caractérisé en ce que lesdits moyens d'interprétation d'identifieur (35,44) sont constitués par un circuit (35) de décodage de la partie identifieur du mot courant reçu, et de génération d'un mot de commande (40) correspondant. 5. Réseau selon la revendication 4, caractérisé en ce que ledit circuit de décodage (35) est constitué par une mémoire vive, programmable par le module de traitement de données associé au module échangeur. 6. Réseau selon la revendication 1 caractérisé en ce que ledit module é changeur comporte trois registres consécutifs de stockage de mot (R1, R2, R3), le premier (R1) et le troisième (R3) desdits registres assurant l'interface du module échangeur avec le réseau (21), en entrée et en sortie dudit module échangeur respectivement, et en ce que lesdits moyens d'interprétation d'identifieur (35,44) sont connectés entre le premier (R1) et le second (R2) desdits registres et les moyens de lecture et d'écriture sélectives des mots sont montés entre le second (R2) et le troisième (R3) desdits registres, ledit module échangeur fonctionnant selon un cycle de trois périodes d'horloge : : un premier cycle d'alimentation desdits moyens d'interprétation d'identifieur (35,44) avec la valeur de l'identifieur (32) du mot courant reçu un second cycle de commande des moyens (33, 34, 35) de lecture et d'écriture par lesdits moyens d'interprétation d'identifieur (35,44) un troisième cycle d'écriture de mot sur le réseau (21) en sortie du module échangeur. 7. Réseau selon la revendication 1, caractérisé en ce que ledit identifieur (32) est constitué d'un premier sous-champ contenant une information d'adressage de la donnée courante et d'un second sous-champ contenant une information de diffusion du mot courant à plusieurs modules de traitement de données.