Brevet FR2674084A1 — publié le 19920918

La présente invention concerne un dispositif de déclenchement de temporisations multiples qui est utilisé dans un système de communica- tion à commutation temporelle asynchrone pour, à l'arrivée d'une cellule à l'entrée dudit dispositif de temporisation, déclencher un5 processus de temporisation dont la durée est liée à une caractéristi- que de la cellule entrante et pour, à l'expiration de cette durée de temporisation, déclencher une action liée à une seconde caractéri- stique de la cellule qui a enclenché le processus de temporisation. Un tel dispositif de temporisation peut rencontrer de nombreuses applications, en particulier lors de la mise en oeuvre de certains protocoles de communication par cellules. Un processus de temporisation peut être mis en oeuvre au moyen d'un compteur dont on initialise le compte à l'arrivée d'un événement et dont on décrémente ce compte à chaque impulsion de durée15 élémentaire d'une horloge Pour réaliser plusieurs processus simulta- nément, on doit donc disposer d'autant de compteurs qu'il y a de processus à traiter On conçoit que, pour un nombre de processus de temporisation élevé, plusieurs milliers par exemple, le nombre de compteurs à mettre en oeuvre devient vite rédhibitoire. Une autre solution consiste à utiliser une mémoire comportant plusieurs zones adressables dans lesquelles sont respectivement stockées les durées de différentes temporisations A chaque temps élémentaire d'une horloge, on décrémente le contenu de chaque zone et on déclenche une action déterminée lorsque ce contenu devient nul. Pour un nombre de processus de temporisation élevé, le temps passé à décrémenter chaque zone de la mémoire devient trop important Par ailleurs, il n'est pas facile de lier l'action engendrée à l'expira- tion d'une temporisation au processus qui l'a déclenchée. Le but de la présente invention est de pallier ces inconvénients et de fournir un dispositif qui permette d'engendrer un nombre élevé de processus de temporisation simultanément sans que le temps passé à la gestion de l'ensemble de ces processus ne soit trop élevé Le but de la présente invention est également de prévoir un dispositif dont l'action engendrée à l'expiration d'une temporisation est liée au35 processus qui l'a déclenchée. A cet effet, un dispositif selon l'invention comporte une mémoire de temporisation du type mémoire vive à accès aléatoire ayant une pluralité de zones adressables o sont normalement stockés des multiplets nuls ou inactifs, ladite mémoire comportant une entrée de données pour pouvoir stocker, dans une zone adressée en écriture, un paramètre lié à une caractéristique du circuit virtuel auquel5 appartient la cellule entrante qui est présente, à ce moment, sur son entrée, une sortie de données pour pouvoir délivrer le contenu de la zone de ladite mémoire adressée en lecture, ladite mémoire étant adressée alternativement en écriture par un multiplet délivré sur sa sortie par un additionneur à deux entrées, dont l'une est reliée à une10 base de temps pour y recevoir un multiplet représentatif de l'heure locale et dont l'autre reçoit un multiplet de durée de temporisation lié à une caractéristique du circuit virtuel auquel appartient la cellule entrante, et en lecture par ledit multiplet représentatif de l'heure locale, la présence sur la sortie de ladite mémoire d'un15 paramètre ayant pour résultat de déclencher une action alors que la présence d'un multiplet inactif n'engendre aucune action. Selon une autre caractéristique de l'invention, il comporte un dispositif de détermination d'adresses disponibles comportant une entrée reliée à la sortie dudit additionneur et une sortie reliée à l'entrée d'adressage en écriture de ladite mémoire de temporisation, ledit dispositif délivrant, sur sa sortie, une adresse qui est, soit égale à l'adresse présente sur son entrée, soit égale à une adresse qui est la plus proche voisine de cette adresse et qui est telle qu'elle corresponde à une zone disponible de la mémoire de temporisa-25 tion dans laquelle aucun paramètre n'a été stocké. Selon une autre caractéristique de l'invention, ledit paramètre stocké dans la zone adressée en écriture de ladite mémoire est le numéro du circuit virtuel auquel appartient ladite cellule entrante et qui est contenu dans l'étiquette de ladite cellule.30 Selon une autre caractéristique de l'invention, le multiplet de durée de temporisation est délivré, sur sa sortie, par une mémoire de commande comportant autant de zones adressables que le système de communication peut gérer de circuits virtuels, chaque zone de ladite mémoire étant adressée en lecture par un paramètre caractéristique du35 circuit virtuel auquel appartient la cellule entrante présente sur son entrée d'adressage à ce moment pour pouvoir délivrer, sur la sortie de ladite mémoire, le multiplet de temporisation correspondant. Selon une autre caractéristique de l'invention, ledit paramètre qui adresse ladite mémoire de commande est le numéro de circuit virtuel auquel appartient ladite cellule entrante. Selon une autre caractéristique de l'invention, ledit paramètre qui est stocké dans la zone adressée en écriture de ladite mémoire de temporisation est une donnée stockée dans une zone de ladite mémoire de commande à l'adresse correspondant à un numéro de circuit virtuel donné. Selon une autre caractéristique de l'invention, le multiplet de durée de temporisation est chargé, par une unité de commande, dans une zone de ladite mémoire de commande dont l'adresse est égale au numéro de circuit virtuel correspondant. Selon une autre caractéristique de l'invention, la mémoire de commande délivre, sur sa sortie, pour chaque zone adressée, un bit de validation qui est fourni à une entrée de commande de la mémoire de temporisation, soit pour autoriser l'écriture dans ladite mémoire de temporisation lorsque ledit bit est actif, soit pour interdire cette écriture lorsque ledit bit est inactif. Selon une autre caractéristique de l'invention, l'étiquette de la cellule entrante comprend un bit d'identification qui est fourni à une entrée de la mémoire de temporisation, soit pour autoriser l'écriture dans cette mémoire lorsque ledit bit est actif, soit pour interdire cette écriture lorsque ledit bit est inactif. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec le dessin joint dans lequel la Fig unique montre un schéma synoptique d'un dispositif de déclenche- ment de temporisations multiples. Le dispositif de déclenchement de temporisations multiples montré à cette Fig comprend une file d'entrée Fi Fo, une mémoire de traduction Mtrad, une mémoire d'adresses disponibles MAD et une mémoire de temporisation MT. La file Fi Fo reçoit, sur son entrée, un multiplex rentrant XE qui est, par exemple, un multiplex temporel asynchrone du type de celui qui est décrit dans le document EP-A-108 208 Chaque cellule délivrée par la file Fi Fo, appelée par la suite cellule entrante, est synchrone de l'horloge locale t du système et est présentée sur un faisceau de plusieurs fils f dont seize portent les seize bits de l'étiquette Vci identifiant le circuit virtuel qui achemine cette cellule et, par5 conséquent, la communication concernée Dans le faisceau de fils f à la sortie de la file Fifo, se trouve également un fil qui porte un bit d'identification ACT de cellule qui est actif pour les cellules qui peuvent déclencher un processus de temporisation donnée. La mémoire Mtrad est une mémoire vive du type à accès aléatoire comportant autant de zones adressables que de communications différen- tes que peut traiter le système Une mémoire de ce type ainsi que son fonctionnement sont, par exemple, décrits dans le document FR-A-2 538 976 sous la référence MC La mémoire Mtrad reçoit, sur son entrée d'adressage AD, l'étiquette Vci de la cellule entrante A chaque communication et donc à chaque circuit virtuel mis en jeu, correspond une zone adressable de la mémoire Mtrad Chaque zone adressable contient différentes données concernant, par exemple, l'acheminement ultérieur des cellules Ces données sont fournies, à la mémoire Mtrad, par une unité de commande UCC. Parmi ces données, on a prévu, pour chaque zone adressable de la mémoire Mtrad, un bit V de validation servant, comme on le verra ultérieurement, à confirmer ou à empêcher le déclenchement de l'opération de temporisation par les cellules appartenant au circuit virtuel correspondant à cette zone, ainsi qu'un multiplet Dt25 représentatif de la durée de cette temporisation Chaque bit V et chaque multiplet Dt sont également fournis à la mémoire Mtrad par l'unité de commande UCC. Pour les circuits virtuels dont aucune cellule ne doit déclencher l'opération de temporisation, le bit de validation V est rendu inactif et le multiplet Dt est, par exemple, égal au multiplet nul. La mémoire Mtrad fournit également, sur sa sortie, pour chaque étiquette Vci qui l'adresse, des données DON concernant le circuit virtuel correspondant Ces données DON ainsi que les bits portés par le faisceau de fils f sont fournis à un système S qui peut être, par35 exemple, un système de commutation temporelle, tel que celui qui est décrit dans le document FR-A-2 538 976. Une porte logique P de type ET reçoit respectivement sur ses deux entrées, d'une part, le fil portant le bit d'identification ACT des cellules concernées par l'opération de temporisation et, d'autre part, le bit V de validation Elle délivre, en sortie, un bit VAL qui est actif lorsque les deux bits ACT et V sont simultanément actifs. Une base de temps BT pilotée par le signal d'horloge t du système délivre un multiplet Hl représentatif de l'heure locale A chaque temps élémentaire de signal d'horloge t, le multiplet Hl est incrémenté d'une unité Ainsi, à chaque nouvelle cellule entrante émise par la file Fifo, correspond une nouvelle valeur du multiplet Hl. La base de temps BT engendre également un signal à deux niveaux E/L dont la période est celle du signal d'horloge t. Un additionneur ADD a une première entrée reliée à la base de temps BT pour y recevoir le multiplet Hl et une seconde entrée reliée à la sortie de la mémoire Mtrad pour y recevoir le multiplet de durée de temporisation Dt auquel est affecté le circuit virtuel de la cellule entrante Il délivre, sur sa sortie, un multiplet Hta représentatif de l'heure locale Hl additionnée de la durée de temporisation Dt On verra, par la suite, que le multiplet Hta est représentatif de l'heure théorique à laquelle devrait avoir lieu l'expiration du processus de temporisation déclenché par la cellule entrante à l'heure Hl. La mémoire de temporisation MT est une mémoire vive du type à accès aléatoire dont les zones adressables contiennent normalement un multiplet nul ou inactif Lorsqu'une zone adressable de la mémoire MT contient un tel multiplet, cette zone est dite disponible pour l'écriture d'une donnée La mémoire MT comporte une entrée de données ED reliée à la sortie de la file Fifo pour y recevoir l'étiquette Vci de la cellule entrante Elle comporte une entrée d'adressage Adr qui est reliée à la sortie d'un multiplexeur M Xl dont une première entrée L est reliée à la base de temps BT pour y recevoir le multiplet Hl et dont une seconde entrée E est reliée à la sortie de la mémoire MAD pour y recevoir un multiplet Hra décrit ci-après Le multiplexeur M Xl comporte encore une entrée de commande EC qui est pilotée par le signal E/L engendré par la base de temps BT Lorsque le signal E/L est actif, le multiplexeur MX 1 délivre, sur l'entrée d'adressage Adr de la mémoire MT, le multiplet Hra issu de la mémoire MAD, alors que lorsqu'il est inactif, il délivre le multiplet Hl issu de la base de temps BT. La mémoire MT comporte également une sortie de données SD pour délivrer le contenu de la zone adressée en lecture. Lorsque la méloire MT est adressée en lecture, le contenu de la case correspondante est transféré sur la sortie SD et est réinitialisé à une valeur nulle ou inactive. La mémoire MT comporte encore une entrée de validation d'écriture Vale qui est reliée à la sortie de la porte ET et qui reçoit ainsi le bit de validation VAL Quand cette entrée est activée, l'écriture de l'étiquette Vci dans la zone de la mémoire MT adressée par la sortie du multiplexeur MXI peut être effectuée alors que cette opération est inhibée lorsqu'elle n'est pas activée. La mémoire MAD est une mémoire vive à accès aléatoire comportant autant de cases que la mémoire MT, chaque case ayant une capacité de un bit et correspondant biunivoquement à une zone adressable de la mémoire MT Elle dispose d'une première entrée Adrl à laquelle est reliée la sortie de l'additionneur ADD, d'une seconde entrée Adr 2 à20 laquelle est reliée la sortie d'un multiplexeur MX 2 et d'une sortie reliée à une entrée du multiplexeur MX 1 pour lui fournir le multiplet Hra Le multiplexeur MX 2 a une première entrée E qui est reliée à la sortie de la mémoire MAD et une seconde entrée L qui est reliée à la sortie de la base de temps BT pour y recevoir le multiplet d'horloge25 locale Hi Il dispose d'une entrée de commande pilotée par le signal E/L de la base de temps BT Lorsque cette entrée est activée, le signal de sortie de la mémoire MAD se retouve sur l'entrée Adr 2 alors que lorsqu'elle est inactive, c'est le multiplet Hl qui se retrouve sur l'entrée Adr 2.30 La mémoire MAD explore une à une ses propres cases et, ce, à partir du multiplet Hta présent sur son entrée Adrl et délivre, en sortie, un multiplet Hra donnant l'adresse d'une zone de la mémoire MT à laquelle correspond la première case inactive trouvée lors de cette exploration A ce moment, le multiplexeur MX 2 a son entrée qui est commandée par le signal E/L actif et fournit alors à l'entrée Adr 2 de la mémoire MAD le multiplet Hra La mémoire MAD rend active la case correspondante montrant par là l'occupation de la zone de la mémoire MT à cette adresse. Lorsque le signal E/L devient inactif, le multiplexeur MX 2 délivre le multiplet Hl sur l'entrée Adr 2 de la mémoire MAD, ce qui a pour effet de désactiver la case de la mémoire MAD correspondante. Notons que cette opération a lieu lors de la lecture de la zone de la mémoire MT adressée par le même multiplet Hl, cette lecture rendant disponible cette zone. En général, la première case inactive trouvée par l'exploration de la mémoire MAD correspond à une adresse égale ou légèrement supérieure au multiplet Hta sur l'entrée d'adressage Adrl si bien que la mémoire MAD délivre, sur sa sortie, une adresse Hra peu différente de l'adresse Hta Ceci est d'autant plus vrai que le nombre de zones adressables de la mémoire MT est important. Le fonctionnement du dispositif de déclenchement de temporisa- tions multiples est le suivant. A un instant t, une cellule est délivrée en sortie de la file Fifo, son étiquette adresse la mémoire Mtrad et celle-ci délivre alors sur sa sortie le bit de validation V, le multiplet de durée de temporisation Dt et des données DON concernant le circuit virtuel auquel appartient cette cellule Les données DON ne servent pas au dispositif de la présente invention et ne seront pas décrites. Le multiplet de temporisation Dt est fourni à une entrée de 1 'additionneur ADD dans lequel sa valeur est additionnée à la valeur du multiplet Hl représentatif de l'heure locale Sur sa sortie, l'additionneur délivre alors un multiplet Hta qui est représentatif de l'heure théorique à laquelle devrait être effectué, après expiration de la temporisation correspondante, un certain processus Le multiplet Hta est fourni à l'entrée Adrl de la mémoire MAD. Supposons que la case de la mémoire MAD qui est ainsi adressée par le multiplet Hta soit inactive, c'est-à-dire que la zone de la mémoire MT correspondant à cette adresse soit disponible Le multiplet Hra en sortie de la mémoire MAD correspond alors au multiplet Hta. Le multiplet Hra est présent à l'entrée E du multiplexeur MX 1. Dans une première phase, le signal E/L est actif, si bien que le multiplet Hra adresse la mémoire MT pour une opération d'écriture En même temps, le multiplet Hra est présent sur l'entrée Adr 2 de la mémoire MAD pour activer la case correspondante et signifier l'occupation de la zone de la mémoire MT d'adresse égale à Hra. L'opération d'écriture dans la mémoire MT est possible seulement si le bit de validation Vale est actif, c'est-à-dire si le bit V issu de la mémoire Mtrad et le bit d'identification ACT de la cellule5 entrante sont simultanément actifs Si tel est le cas, l'étiquette de la cellule entrante, correspondant à l'identification du circuit virtuel auquel elle appartient, est stockée dans la zone de la mémoire MT dont l'adresse correspond au multiplet Hra Cette adresse correspond en fait à l'heure réelle à laquelle aura lieu l'expiration du processus de temporisation déclenché par la cellule entrante. La mémoire MAD permet d'éviter que les numéros de deux circuits virtuels puissent être stockés à la même adresse dans la mémoire MT. Au cas o un numéro de circuit virtuel a déjà été stocké, dans la mémoire MT, à l'adresse Hta calculée par l'additionneur ADD, la15 mémoire MAD détermine l'adresse disponible Hra la plus voisine de cette adresse calculée Hta et délivre cette adresse sur sa sortie en tant que multiplet Hra Le processus d'écriture dans la mémoire MT est alors semblable à celui décrit ci-dessus. Puis, dans une seconde phase, le signal E/L de commande des multiplexeurs MX 1 et MX 2 devient inactif Le multiplet Hl adresse alors la mémoire MT en lecture et celle-ci délivre, sur sa sortie SD, soit un numéro de circuit virtuel qui a été préalablement stocké, soit un multiplet nul ou inactif De plus, la case adressée en lecture est chargée avec unmultiplet nul ou inactif La présence sur la sortie SD25 de la mémoire MT d'un numéro de circuit virtuel Vci a pour effet de déclencher un processus dont le mécanisme n'est pas décrit ici car ne faisant pas partie de la présente invention Précisons néanmoins que l'action de ce processus peut être liée au numéro du circuit virtuel stocké dans la mémoire MT.30 Si la mémoire MT délivre un multiplet nul ou inactif, aucune action n'est engendrée. Le fait de rendre nulle ou inactive la case qui a été adressée en lecture évite qu'un même processus soit déclenché une seconde fois dans le cycle suivant de la mémoire MT.35 Lors de cette phase, le multiplet Hl se retrouve à l'entrée Adr 2 de la mémoire MAD pour désactiver la case correspondant à cette adresse. Le multiplet Hi est alors incrémenté d'une unité par la base de temps BT Une nouvelle cellule entrante est émise par la file Fifo et un nouveau cycle tel que celui que l'on vient de décrire peut recommencer. On a décrit un dispositif de déclenchement de temporisations multiples dont l'entrée de la mémoire de temporisation reçoit le numéro de circuit virtuel auquel appartient la cellue entrante En fait, dans la mémoire MT, on peut aussi stocker une donnée telle que 1 o la donnée DON, préalablement stockée dans la mémoire Mtrad à une adresse correspondant à un numéro de circuit virtuel De cette manière, il est possible de mémoriser dans la mémoire de temporisation MT tout paramètre lié à une caractéristique du circuit virtuel auquel appartient la cellule existante. REVENDICATIONS 1) Dispositif de déclenchement de temporisations multiples comportant une entrée à laquelle est fournie, à chaque temps élémentaire d'une horloge, une cellule d'un système de communication à commutation temporelle asynchrone, dite cellule entrante, ladite cellule appartenant à un circuit virtuel de communication portant un numéro qui est stocké dans l'étiquette de ladite cellule, caractérisé en ce qu'il comporte une mémoire de temporisation (MT) du type mémoire vive à accès aléatoire ayant une pluralité de zones adressables o sont normalement stockés des multiplets nuls ou inactifs, ladite10 mémoire (MT) comportant une entrée de données (ED) pour pouvoir stocker, dans une zone adressée en écriture, un paramètre lié à une caractéristique du circuit virtuel auquel appartient la cellule entrante qui est présente, à ce moment, sur son entrée, une sortie de données (SD) pour pouvoir délivrer le contenu de la zone de ladite mémoire adressée en lecture, ladite mémoire (MT) étant adressée alternativement en écriture par un multiplet (Hta, Hra) délivré par un additionneur (ADD) à deux entrées, dont l'une est reliée à une base de temps (BT) pour y recevoir un multiplet (Hl) représentatif de l'heure locale et dont l'autre reçoit un multiplet de durée de temporisation20 (Dt) lié à une caractéristique du circuit virtuel auquel appartient la cellule entrante, et en lecture par ledit multiplet (Hl) représentatif de l'heure locale, la présence sur la sortie (SD) de ladite mémoire (MT) d'un paramètre ayant pour résultat de déclencher une action alors que la présence d'un multiplet inactif n'engendre aucune action. 2) Dispositif selon la revendication 1, caractérisé en ce qu'il comporte un dispositif de détermination d'adresses disponibles (MAD) comportant une entrée (Adrl) reliée à la sortie dudit additionneur (ADD) et une sortie reliée à l'entrée d'adressage en écriture de ladite mémoire de temporisation (MT), ledit dispositif délivrant, sur sa sortie, une adresse (Hra) qui est égale, soit à l'adresse (Hta) présente sur son entrée (Adrl), soit à une adresse voisine la plus proche de ladite adresse (Hta) et qui est telle qu'elle corresponde à une zone de la mémoire de temporisation (MT) dans laquelle aucun paramètre n'a été stocké.35 3) Dispositif selon la revendication 1 ou 2, caractérisé en ce que ledit paramètre stocké dans la zone adressée en écriture de ladite mémoire (MT) est le numéro du circuit virtuel (Vci) auquel appartient ladite cellule entrante et qui est contenu dans l'étiquette de ladite cellule.5 4) Dispositif selon une des revendications précédentes, caractérisé en ce que le multiplet de durée de temporisation (Dt) est délivré, sur sa sortie, par une mémoire de commande (Mtrad) comportant autant de zones adressables que le système de communication peut gérer de circuits virtuels, chaque zone de ladite mémoire (Mtrad) étant10 adressée en lecture par un paramètre caractéristique du circuit virtuel auquel appartient la cellule entrante présente sur son entrée d'adressage à ce moment pour pouvoir délivrer, sur la sortie de ladite mémoire, le multiplet de temporisation (Dt) correspondant. 5) Dispositif selon la revendication 4, caractérisé en ce que ledit paramètre qui adresse ladite mémoire de commande (Mtrad) est le numéro du circuit virtuel auquel appartient ladite cellule entrante. 6) Dispositif selon la revendication 4 ou 5, caractérisé en ce que ledit paramètre qui est stocké dans la zone adressée en écriture de la mémoire de temporisation (MT) est une donnée stockée dans une20 zone de ladite mémoire de commande (Mtrad) à une adresse correspondant à un numéro de circuit virtuel donné. 7) Dispositif selon la revendication 4, 5 ou 6, caractérisé en ce que le multiplet de durée de temporisation (Dt) est chargé, par une unité de commande (UCC), dans une zone de ladite mémoire de commande25 (Mtrad) dont l'adresse est égale au numéro de circuit virtuel correspondant. 8) Dispositif selon une des revendications 4 à 7, caractérisé en ce que la mémoire de commande (Mtrad) délivre, sur sa sortie, pour chaque zone adressée, un bit de validation (V) qui est fourni à une30 entrée de commande (Vale) de la mémoire de temporisation (MT), soit pour autoriser l'écriture dans ladite mémoire de temporisation (MT) lorsque ledit bit est actif, soit pour interdire cette écriture lorsqu'il est inactif. 9) Dispositif selon une des revendications précédentes, caracté- risé en ce que l'étiquette (Vci) de la cellule entrante comprend un bit d'identification (ACT) qui est fourni à une entrée de la mémoire de temporisation (Vale), soit pour autoriser l'écriture dans cette mémoire (MT) lorsque ledit bit est actif, soit pour interdire cette écriture lorsqu'il est inactif.