Brevet FR2698463A1 — publié le 19940527

Dispositif de traitement de cellules pour équipement de réseau temporel asynchrone de communication. L'invention concerne les dispositifs de traitement et plus particulièrement d'orientation de cellules de transfert5 d'information, telles que les cellules dites ATM, qui comportent classiquement un champ d'information précédé d'un champ d'entête contenant une indication directe ou indirecte de destination, ces dispositifs de traitement étant destinés à être inclus dans des équipements de réseaux temporels asynchrones de communication à large bande. Les transmissions d'information dans les réseaux de communication à large bande exploitant une technique temporelle asynchrone sont assurées par l'intermédiaire d'unités de transfert d'information appelées cellules à mode15 de transfert asynchrone, telles les cellules dites ATM, qui ont une structure imposée et qui sont susceptibles d'être traitées par tous les équipements constitutifs essentiels des réseaux, tels que les terminaux, les multiplexeurs, les brasseurs, les commutateurs 20 Chaque cellule comporte un champ d'information qui est précédé d'un champ d'en-tête dont les formats respectifs sont fixes, ces champs comprennent respectivement quarante- huit octets et cinq octets dans le cas de cellules ATM connues.25 L'orientation d'une cellule au niveau d'un équipement, par exemple d'une cellule entrant dans un terminal d'échange, implique une prise en compte d'au moins l'en-tête de cette cellule par l'équipement afin de déterminer la destination vers laquelle elle doit être aiguillée par l'équipement lui-30 même. Dans une forme classique de réalisation, les équipements de réseau large bande qui sont confrontés à ce problème comportent des dispositifs de traitement pour assurer l'orientation des cellules en fonction de leurs destinations35 respectives Ces dispositifs comprennent une mémoire d'alignement de cellule, du type premier entré-premier sorti couramment dénommé FIFO, à la sortie de laquelle sont prélevés les octets du champ d'en-tête de chaque cellule, ainsi qu'éventuellement un certain nombre d'octets alors positionnés dans le champ d'information, par exemple les5 quatre premiers octets de ce champ Les octets ainsi prélevés sont exploités notamment à des fins d'aiguillage de la cellule dont ils sont issus. De manière connue, la mémoire d'alignement assure éventuellement une adaptation de débit et/ou une résolution de plésiosynchronisme au profit de l'équipement qui la comporte. Une mémoire retardatrice, de type FIFO, est connectée en aval de la mémoire d'alignement pour recevoir successivement tous les octets qui composent chaque cellule, elle permet de15 retarder la transmission de chaque cellule le temps que soit déterminée l'orientation à lui donner La sortie de la mémoire retardatrice est reliée à une entrée d'un circuit d'aiguillage de cellule qui est commandé en fonction des indications extraites des données constituant les octets20 prélevés en sortie de mémoire d'alignement dans le champ d'en-tête et éventuellement en début de champ d'information, comme indiqué plus haut. Le retard imposé à une cellule par la mémoire retardatrice est fixé de manière à permettre le traitement des octets de25 champ d'en-tête prélevés en sortie de mémoire d'alignement et la commande correspondante du circuit d'aiguillage, avant apparition du premier octet de la cellule en sortie de mémoire retardatrice. Les inconvénients essentiels d'un tel dispositif sont qu'il30 implique la mise en oeuvre d'une mémoire retardatrice de cellules qui occupe un emplacement relativement important et par conséquent coûteux du circuit intégré dans lequel ce dispositif est implanté, que l'usage de la mémoire retardatrice est éventuellement pénalisant lorsque des35 débits élevés, par exemple de l'ordre de 600 MB/s, sont envisagés et que le retard imposé par cette mémoire retardatrice est normalement fixe et par conséquent lié à une valeur déterminée de débit de données pour un composant donné. L'invention propose donc un dispositif de traitement de5 cellules pour équipement de réseau temporel asynchrone de communication qui transmet des cellules, notamment de type ATM, dotées chacune d'un champ d'en-tête et d'un champ d'information ayant des formats déterminés. Selon une caractéristique de l'invention, le dispositif de10 traitement de cellules comporte une mémoire, de type premier entré-premier sorti dit FIFO, qui reçoit les cellules successivement adressées au dispositif en vue de les transférer vers un circuit d'aiguillage après que ce dernier ait reçu une indication d'aiguillage d'un agencement de15 traitement de contexte, connu en soi, recevant lui-même des indications notamment de routage figurant sous forme de données au début de chaque cellule, au moins dans le champ d'en-tête La mémoire du dispositif dispose de deux ports de sortie distincts qui sont respectivement reliés l'un en20 entrée du circuit d'aiguillage et l'autre en entrée de l'agencement de traitement de contexte, elle comporte aussi deux ports de commande en lecture distincts pour permettre deux lectures décalées dans le temps des mêmes données de cellule et par conséquent un décalage entre les instants25 d'apparition d'une même donnée de cellule au niveau des deux ports de sortie. L'invention, ses caractéristiques et ses avantages sont précisés dans la description qui suit en liaison avec les figures évoquées ci- dessous.30 La figure 1 présente un schéma de principe d'un dispositif de traitement de cellules ATM connu. La figure 2 présente un schéma d'un dispositif de traitement de cellules ATM selon l'invention. La figure 3 présente un module élémentaire pour mémoire FIFO35 de dispositif de traitement tel que schématisé en figure 2. Les figures 4 A à 4 D et 5 A à 5 E présentent respectivement des chronogrammes d'écriture et de lecture de la mémoire FIFO de la figure 2. Le dispositif de traitement de cellules ATM connu, présenté5 en figure 1, est destiné à être inclus dans un équipement de réseau de communications à large bande exploitant la technique temporelle asynchrone dite ATM, définie entre autre dans un article de Mrs COUDREUSE, PAYS et TROUVAT, intitulé "La technique temporelle asynchrone" qui est paru10 dans le numéro 3 de 1990 de la revue "Commutation et Transmission" publiée à Paris, France par SOTELEC. Ce dispositif de traitement comporte une mémoire d'alignement 1, de type FIFO, recevant successivement les cellules entrantes reçues par exemple comme une suite15 d'octets et remplissant les fonctions d'adaptation de débit et/ou de résolution de plésiosynchronisme pour ces cellules entrantes, comme indiqué précédemment. La sortie de la mémoire d'alignement est reliée en parallèle à un agencement de traitement de contexte 2 et à une mémoire retardatrice 3. L'agencement de traitement de contexte 2 est susceptible de prendre en compte au moins certains des octets qui figurent en début de cellule notamment dans le champ apparaissant en tête de chaque cellule successivement transmise par la25 mémoire d'alignement 1, il en déduit classiquement, en exploitant une mémoire vive non représentée, l'orientation à donner à la cellule dont le champ d'en-tête vient d'être reçu. La mémoire retardatrice 3 est habituellement elle aussi de30 type FIFO, elle a pour fonction de retarder la transmission d'une cellule de la mémoire d'alignement 1 à un circuit d'aiguillage 4 jusqu'au moment o ce circuit 4 a reçu l'indication d'aiguillage qu'il attend de l'agencement de traitement 2 pour la cellule alors en attente d'aiguillage. Le circuit d'aiguillage 4 assure alors la transmission de la cellule comme indiqué, éventuellement après l'avoir traitée en vue de cette transmission. Le dispositif de traitement présenté en figure 2 est destiné 5 à transmettre des cellules structurées de la même façon que celles envisagées avec le dispositif connu présenté en figure 1, soit avec chacune un champ d'en-tête et un champ pour l'information utile à transmettre qui sont de formats déterminés, ces formats étant respectivement de cinq et de10 quarante huit octets dans le cas des cellules ATM standardisées, ici prises en compte Le début de chaque cellule contient, au moins au niveau du champ d'en-tête, des indications de routage et/ou de destination relatives à la cellule qui le comporte.15 Selon l'invention, une mémoire 10, de type FIFO, disposant d'une structure particulière est exploitée pour assurer simultanément l'alignement et le retard nécessaires, ce qui permet d'éliminer la mémoire retardatrice prévue dans les réalisations antérieures.20 Comme précédemment la mémoire 10 reçoit les cellules successives par un port D à "N" entrées parallèles, dans l'exemple de réalisation envisagé ici pour un dispositif de traitement destiné à fonctionner avec des cellules ATM, ce port comporte trente-deux entrées dans la mesure o il est25 prévu de grouper par mots de trente- deux bits cinquante deux des cinquante trois octets que comporte chaque cellule; l'octet non pris en compte de chaque cellule est l'octet de rang cinq du champ d'en-tête, c'est en effet un octet de contrôle que l'équipement reçoit et traite avant de le30 réintroduire et de l'émettre, sans le transmettre via la mémoire 10. Dans une forme de réalisation la mémoire 10 permet de stocker simultanément plusieurs cellules, par exemple quatre, soit un nombre "P" de bits égal au produit du nombre35 "M" de mots appartenant aux cellules en mémoire par le nombre "N" de bits d'un mot. Selon l'invention, la mémoire 10 comporte deux ports A et B parallèles à sorties multiples, ici au nombre de trente deux sorties par port Ces deux ports A et B sont respectivement raccordés l'un à un circuit d'aiguillage 14 et l'autre à un5 agencement de traitement de contexte 12, qui sont fonctionnellement analogues au circuit d'aiguillage 4 et à l'agencement de traitement de contexte 2 évoqués en liaison avec la figure 1. La mémoire 10 est commandée en écriture par un premier10 générateur de pointeurs 15 qui rythme les écritures successives des mots obtenus des cellules successives, chacun à partir de quatre octets successifs de cellule, ce premier générateur étant piloté par une base de temps 16 contrôlée par le signal d'horloge externe CKE associé aux15 cellules ATM entrant en mémoire 10. La sortie des mots au niveau des deux ports A et B est ici déclenchée par deux générateurs de pointeurs 17 et 18 reliés chacun à l'un des ports de commande lecture Li, L 2 de la mémoire et respectivement affectés chacun à l'un de ces20 ports de sortie Ces deux générateurs 17 et 18 sont pilotés par une base de temps 16 ' contrôlée par un second signal d'horloge CKI, ici localement produit; ils sont associés par l'intermédiaire de dispositifs de synchronisation non figurés, à un gestionnaire de mémoire 19, de même que le25 générateur de pointeurs 15. Le gestionnaire de mémoire 19 est susceptible d'être de type usuel agissant de manière connue en soi, pour différents états de la mémoire 10, notamment lorsque cette mémoire 10 est soit pratiquement vide, soit pratiquement pleine. Dans la mesure o des octets prélevés du champ d'en-tête et éventuellement du champ d'information d'une cellule doivent être pris en compte par l'agencement de traitement de contexte 12 préalablement à la transmission de la cellule qui les comporte, il est prévu que cet agencement reçoive, via le35 port B, ces octets prélevés et ce avant qu'ils ne soient transmis, par ailleurs, au circuit d'aiguillage 14, par le port A. Dans une forme préférée de réalisation, la mémoire 10 est composée de modules élémentaires O de mémorisation qui5 permettent chacun de mémoriser deux des "P" éléments binaires qu'est susceptible de stocker cette mémoire. Chaque module élémentaire de mémoire 0 comporte par exemple deux verrous 20 H et 20 L, montrés en figure 3, ayant la même entrée D de données et des entrées de commande en écriture E10 distinctes et respectivement référencées WH pour le verrou H et WL pour le verrou 20 L. Ceci permet, par exemple, d'exploiter alternativement les verrous 20 H pour la mémorisation des bits de deux cellules successives, soit ici des cellules auxquelles on attribue15 des rangs 1 et 2, puis les verrous 20 L pour les bits des deux cellules suivantes, dont les rangs seront donc 3 et 4 dans la réalisation envisagée, chaque cellule étant mémorisée mot par mot ainsi que le montrent les chronogrammes 4 A, 4 B, 4 C, 4 D symbolisant respectivement le20 train de cellules entrantes, les temps d'horloge en écriture W en écriture, les écritures successives des treize mots des cellules sous l'action des signaux WH et WL produits par le générateur 17 de pointeurs en écriture que régit la base de temps 16.25 Par ailleurs, une sortie Q de chaque verrou 20 H ou 20 L, attaque une paire de portes 21 et 22, de type trois états, contrôlées par des signaux de sélection RA et RB distincts, telle la paire de portes 21 H et 22 H reliée à la sortie Q du verrou 20 H ou celle composée des portes 21 L et 22 L.30 Deux circuits logiques 23 A et 23 B, ici identiques, sont associée à l'ensemble formé par les verrous 20 H, 20 L et les portes 21 H, 21 L, 22 H et 22 L dans un même module élémentaire 0 pour permettre de transmettre à l'une ou l'autre des sorties A et B de ce module, les bits stockés dans l'une ou l'autre des verrous 20 H, 20 L, en fonction de signaux de sélection SA et SB. Dans la réalisation envisagée les signaux SA et RA, d'une part, et les signaux SB et RB, d'autre part, sont respectivement produits les uns par le générateur de pointeurs 17 et les autres par le générateur de pointeurs 18 5 que la base de temps 16 'régit. Dans un exemple de réalisation, le circuit logique 23 A qui comporte la sortie A du module, est susceptible d'être séparément attaqué par les deux portes 21 H et 21 L, alors que le circuit logique 23 B qui comporte la sortie B du module10 est susceptible d'être séparément attaqué par les deux portes 22 H et 22 L. Les bits temporairement stockés dans l'un ou l'autre des verrous 20 H ou 20 L après avoir été préalablement inscrits dans l'un ou l'autre d'entre eux sous l'action de l'un ou15 l'autre des deux signaux WH ou WL comme indiqué plus haut, sont susceptibles d'être fournis à l'une des sorties A ou B du module en fonction des combinaisons de signaux RA, SA, RB, SB suivantes, tant qu'ils ne sont pas remplacés par un bit de même rang d'une cellule de même rang:20 si RA= 1 et SA= 1 le bit stocké dans le verrou 20 H est disponible au niveau de la sortie A, si RA= 1 et SA=O le bit stocké dans le verrou 20 L est disponible au niveau de la sortie A, si RB= 1 et SB= 1 le bit stocké dans le verrou 20 H est disponible au niveau de la sortie B. si RB= 1 et SB=O le bit stocké dans le verrou 20 L est disponible au niveau de la sortie B. Dans la mesure o les octets du champ d'en-tête d'une cellule et éventuellement du début du champ d'information30 qu'il précède, sont stockés en mémoire 10, il est donc possible de déclencher la transmission de ces octets à l'agencement de traitement de contexte 12 associé à la mémoire 10 par l'intermédiaire des signaux RB et SB. Ceci peut s'effectuer préalablement à la transmission de ce35 mêmes octets en tête de la cellule qui les comporte, sous l'action des signaux RA et SA, si ces derniers sont temporellement décalés par rapport aux signaux SB, RB, ainsi qu'on le voit sur les chronogrammes référencés 5 A à 5 E. Dans l'exemple envisagé, concernant des cellules ATM à cinquante trois octets, on dispose donc d'une possibilité de 5 décalage comprise entre zéro et cinquante trois temps d'octets Ce décalage peut être programmé à la demande, par exemple en fonction du temps de transfert d'une cellule de manière à évoluer en fonction de la vitesse de focntionnement La mise en oeuvre d'une base de temps 16 '10 programmable permet par exemple une telle évolution du décalage. Dans une forme de réalisation correspondant à un débit nominal de 60 OMB/s, un décalage en avance des signaux RB, SB est choisi de vingt- huit temps d'octet "t" par rapport aux15 signaux RA, SA, ce décalage étant représenté sur le chronogramme 5 A par les portions de valeur binaire un du signal de synchronisation SYC dont la période "T" est égale à cinquante trois "t". Les fronts montants du signal SYC servent à engendrer un signal impulsionnel de synchronisation SRA chronogramme 5 B - de période "T" rythmant les apparitions successives des cellules au niveau de la sortie A de la mémoire 10 Ce signal de synchronisation SRA déclenche l'adressage successif en lecture des modules de mémoire O adressés par les signaux de25 sélection RA, SA, de manière qu'apparaissent successivement à la sortie A à chaque période les treize mots d'une cellule, les quatre cellules simultanément présentes dans la mémoire 10 à un instant quelconque donné apparaissant successivement au cours de quatre périodes "T" successives à la sortie A, dans l'ordre o elles ont été reçues. Le chronogramme 5 C symbolise ainsi l'apparition successive de quatre cellules 1 h, 21, 31, 4 î au niveau de la sortie A de la mémoire 10, chacune comportant treize mots de trente deux bits, seuls les mots de rang 0, 1, il et 12 de chaque35 cellule étant ici figurés. Les fronts descendants du signal SYC chronogramme 5 D - servent à engendrer un signal impulsionnel de synchronisation SRB de période "T" rythmant les apparitions successives des cellules au niveau de la sortie B de la mémoire 10, seuls 5 apparaissant à chaque période les mots qui sont destinés à être pris en compte par l'agencement de traitement de contexte 12 pour une des cellules alors mémorisées, soit par exemple les mots de rang O et 1 des cellules dans la réalisation envisagée.10 L'apparition des mots à traiter pour une cellule donnée, soit par exemple les mots O et 1 de la cellule 2 i au niveau de la sortie B précède celle des mêmes mots de la même cellule au niveau de la sortie A, le premier d'entre eux étant présent le temps nécessaire à sa prise en compte par l'agencement 12, le second étant susceptible d'être présent jusqu'à l'apparition d'une nouvelle impulsion de synchroni- sation SRB, ainsi qu'on le voit sur le chronogramme 5 E. Comme indiqué précédemment, il est possible de faire fonctionner le dispositif de traitement selon l'invention à20 une fréquence différente par modification du déphasage entre signaux SRA et SRB, c'est-à-dire par modification du rapport cyclique du signal SYC, au niveau de la base de temps et par exemple par simple programmation. De manière complémentaire, il est possible par programmation25 d'adapter la synchronisation de la lecture en mémoire 10 par rapport à l'écriture en fonction du rapport existant entre les fréquences respectives fixées pour ces deux opérations. En particulier, si l'écriture est plus rapide que la lecture le début de la lecture peut être programmé après le début de30 l'écriture du second mot d'une cellule, car la lecture ne rattrapera jamais l'écriture Par contre, si la lecture est plus rapide que l'écriture, le début de la lecture d'une cellule ne devra par exemple n'être programmé qu'après la fin de l'écriture de cette cellule. REVENDICATIONS 1/ Dispositif de traitement de cellules, pour équipement de réseau temporel asynchrone de communication qui transmet des cellules dotées chacune d'un champ d'en-tête et d'un champ 5 d'information ayant des formats déterminés, caractérisé en ce qu'il comporte une mémoire ( 10), de type premier entré- premier sorti, dit FIFO, qui reçoit les cellules successivement adressées au dispositif au rythme d'une première horloge en vue de les transférer vers un circuit10 d'aiguillage ( 14) au rythme d'une seconde horloge après que ce circuit d'aiguillage ait reçu une indication d'aiguillage d'un agencement de traitement de contexte ( 12), connu en soi, recevant lui-même des indications notamment de routage figurant sous forme de données au début de chaque cellule, au15 moins dans le champ d'en-tête, en ce que la mémoire ( 10) dispose de deux ports de sortie (A, B) distincts qui sont respectivement reliés l'un en entrée du circuit d'aiguillage et l'autre en entrée de l'agencement de traitement de contexte, et en ce que cette mémoire ( 10) comporte deux ports20 de commande en lecture (Li, L 2) distincts pour permettre de produire des sorties décalées dans le temps de mêmes données de cellule au niveau des deux ports de sortie. 2/ Dispositif de traitement de cellules, selon la revendication 1, caractérisé en ce que la mémoire ( 10), constituée de modules mémoires élémentaires ( 0) de donnée de cellule, est placée sous le contrôle d'un générateur de pointeur d'écriture ( 15) piloté par une première base de temps ( 16) au rythme de la première horloge et de deux générateurs de pointeurs de lecture ( 17, 18) pilotés par une30 base de temps ( 16 ') qui, rythmée par la seconde horloge, régit par leur intermédiaire le décalage temporel introduit pour les sorties des mêmes données de cellule au niveau des ports de sortie de la mémoire. 3/ Dispositif de traitement de cellules, selon la revendication 2, caractérisé en ce que la base de temps ( 16 ') est de type programmable pour permettre une variation du décalage temporel entre sorties de données de cellule au niveau des ports de sortie de la mémoire. 4/ Dispositif de traitement de cellules, selon au moins l'une des revendications 2 et 3, caractérisé en ce que la mémoire ( 10), comporte des modules mémoires élémentaires, comportant chacun deux verrous de mémorisation de donnée ( 20 L, 20 H) ayant une même entrée (D) de donnée de cellule, une entrée de commande en écriture (E), distincte, et une sortie de données (Q) qui, distincte, est reliée à deux10 portes ( 21 H, 22 H, ou 21 L, 22 L), différentes, contrôlées chacune par un générateur de pointeurs de lecture ( 17, 18), différent, via celui des ports de commande de lecture (Li, L 2) qui dessert ce générateur. 5/ Dispositif de traitement de cellules, selon au moins l'une des revendications 2 et 3, dont la mémoire ( 10) à une capacité de "P" bits correspondant pratiquement à une mise en mémoire de quatre cellules, caractérisé en ce que les modules mémoires élémentaires que cette mémoire comporte ont leurs deux verrous de mémorisation ( 20 L, 20 H)20 alternativement commandées en écriture avec une période correspondant au double de la durée d'une cellule et permettent une mémorisation alternée au niveau d'un même module mémoire d'une donnée de cellule et de la donnée de même rang de la seconde cellule qui suit.