Brevet FR2751105A1 — publié le 19980116

La présente invention concerne un procédé de calcul approché de la moyenne exponentielle d'une suite de nombres codés dans le format à virgule flottante utilisé pour convoyer certaines informations de débit dans des réseaux de transmissions de données par paquets connus sous l'abréviation anglo-saxonne ATM de "asynchronous fransfer mode". Les réseaux ATM fournissent plusieurs catégories de service de transmission de données, dont un dénommé sous l'abréviation anglo-saxonne ABR "available bit rate". Ce dernier service permet à l'usager d'utiliser la bande passante disponible sur le trajet d'une connexion préalablement établie sans l'obliger à une réservation statique de ressources lors de l'établissement de la connexion. En contrepartie de cette souplesse, les deux extrémités de la connexion doivent adapter leur débit à la bande passante disponible. À cet effet, des cellules ATM particulières, dénommées cellules RM, où RM est l'abréviation anglo-saxonne de "ressource management', permettent de renseigner les extrémités d'une connexion sur la disponibilité des ressources dans le réseau. Ces cellules, générées et traitées en temps réel par les équipements d'extrémité attachés au réseau, aussi bien que par les commutateurs ATM qui forment les noeuds du réseau, comportent des champs destinés à convoyer des informations de débit. Ces champs représentent par exemple, le débit autorisé courant de la source -- qui est connue sous l'abréviation anglo-saxonne CCR "current cell rate" --, ou le débit conseillé par le réseau à la source -- qui est connu sous l'abréviation anglo-saxonne de ER "expllcit cell rate". Ces champs font l'objet d'un codage en virgule flottante particulier caractérisé par un bit de nullité, 5 bits d'exposant et 9 bits de mantisse. Les commutateurs qui ont cette capacité calculent le débit ER et l'inscrivent dans les cellules RM. Parmi tous les algorithmes possibles pour réaliser ce calcul, une famille d'algorithmes met en oeuvre un calcul de la "moyenne exponentielle" des débits CCR convoyés par les cellules RM. La "moyenne exponentielle" n'est rien d'autre que le résultat d'un filtrage linéaire obtenu à la sortie d'un filtre numérique du premier ordre à temps discret. En désignant par un la suite des valeurs qui sont appliquées au filtre et xn la suite des états du filtre, I'équation d'état du filtre s'écrit: xn+l = a . xn + (1 - a) . un (1) où a est un paramètre inférieur à 1, proche de 1, qui définit l'horizon du filtre. La suite xn représente ainsi une sorte de moyenne instantanée à plus ou moins long terme des valeurs entrées un. Le calcul de la "moyenne exponentielle" est une opération qui doit se faire très rapidement, typiquement pendant le temps de commutation d'un paquet ATM (cellule). A titre d'exemple, pour une artère de réseau à 155 Bits, le temps de commutation d'une cellule dans un commutateur relié à cette artère est de 2,8 microsecondes environ. Etant donnés le codage des données un en format flottant et la relative complexité de traitement de ces deux multiplications suivies d'une addition, il est presque indispensable de faire appel à un microprocesseur doté de la capacité d'effectuer des opérations arithmétiques dans ce type de codage en virgule flottante. Or ces processeurs ne sont pas pour l'heure très bon marché. Le but de l'invention est de pallier les inconvénients précités. A cet effet, I'invention a pour objet un procédé pour le calcul approché de la moyenne exponentielle d'une suite de nombre un codés dans un format à virgule flottante utilisé pour convoyer certaines informations de débit dans des réseaux ATM, chaque nombre étant défini à l'aide d'un exposant en et d'une mantisse mn par une relation de la forme un = 2en . (1 + mn/512), caractérisé en ce qu'il consiste à approximer la moyenne exponentielle par la valeur du code associée à la moyenne exponentielle des mots-code Un = 512.en + mn. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé. Le procédé et le dispositif selon l'invention ont pour principal avantage qu'ils permettent d'obtenir rapidement une valeur approchée de la moyenne exponentielle par manipulation directe des mots-code, en arithmétique entière et sans passage par le format à virgule fixe, ce qui met le calcul à la portée des microprocesseurs courants. D'autres caractéristiques et avantages de l'invention apparaîtront dans la description qui suit faite en regard des figures des dessins annexés qui représentent: - La figure 1, un dispositif pour la mise en oeuvre du procédé selon l'invention. - Les figures 2a à 2c des courbes pour illustrer le processus de filtrage mis en oeuvre par l'invention. Le code utilisé pour coder l'information de débit dans une cellule RM d'un réseau ATM est un codage à virgule flottante suivant la relation: Un = 2en (1 + mn/512) (2) où l'exposant en est un nombre entier codé sur 5 bits, compris entre 0 et 31, et mn, la mantisse, est un nombre entier codé sur 9 bits, compris entre 0 et 511. A chaque valeur du code un est associé un mot code Un comportant quatorze bits significatifs, défini par la relation Un = 512 - en + mn (3) en faisant volontairement abstraction du fait que le codage défini par les instances de normalisation prévoit l'utilisation d'un bit supplémentaire comme indication de la valeur 0, comme cette valeur doit touiours être traitée à part, il est suggéré de remplacer les valeurs 0 par les valeurs Le procédé selon l'invention consiste à remplacer dans la relation (1) qui définit l'équation d'un filtre du premier ordre, la suite des valeurs d'entrée un par la suite des mots-code Un. Les valeurs obtenues pour Xn sont alors des mots-codes associés à des valeurs très proches de la moyenne exponentielle et conviennent alors parfaitement pour le calcul des débits ER. Cette simplification élimine le besoin de décoder les mots de code. En choisissant correctement la valeur de a il est aussi possible de limiter les opérations de multiplication. Par exemple, si a est égal à 15/16, l'équation d'état du filtre devient Xn+1 = (5.Xn+Un)/16. (4) Ce qui s'écrit encore suivant la relation: Xn+1 = ((Xn 4)-Xn+Un) 4 (5) où les signes > désignent comme en langage C des opérateurs de décalage binaire à gauche ou à droite. Des résultats comparables peuvent aussi être obtenus avec d'autres valeurs remarquables de a, telles que par exemple (2r- 2s)i2r. Un dispositif correspondant pour la mise en oeuvre du procédé selon l'invention est montré à la figure 1. Celui-ci comprend, un opérateur d'addition 1 recevant sur une première entrée d'opérande les mots-code Un et sur une deuxième entrée d'opérande la sortie d'un opérateur soustracteur 2. Il comprend également un premier opérateur de décalage 3 qui est couplé en sortie de l'opérateur additionneur 1 pour fournir la suite de mots-code Xn. La sortie du premier opérateur de décalage 3 est couplée à une première entrée d'opérande marquée "+" de l'opérateur soustracteur 2 par l'intermédiaire d'un deuxième opérateur de décalage 4 et d'un circuit de retard 5 reliés en série. Un quatrième opérateur de décalage 6 assure la transmission des motscode Un sur la première entrée d'opérande de l'opérateur d'addition 1. La deuxième entrée d'opérande marquée "-" de l'opérateur soustracteur 2 est couplée à la sortie du circuit de retard 5 par l'intermédiaire d'un troisième opérateur de décalage. Suivant ce mode de réalisation, le premier opérateur de décalage 3 effectue un décalage de r bits vers la droite, le deuxième opérateur de décalage 4 effectue un décalage de r bits vers la gauche, le troisième opérateur 6 et le quatrième opérateur de décalage 7 effectuent un décalage de s bits vers la gauche. L'équation d'état du filtre est alors de la forme: Xns1 = ((2r-2S)Xn + 2sUn)/2r (6) Une comparaison des résultats obtenus par le procédé de calcul approché d'une moyenne exponentielle selon l'invention avec la méthode de calcul non approché est représentée à la figure 2b, pour une suite des valeurs du code un représentée figure 2a et obtenue en superposant une oscillation harmonique basse fréquence, une oscillation harmonique de plus haute fréquence et une composante aléatoire. Sur la figure 2b, xn représente la moyenne exponentielle exacte obtenue et F(Xn) est la moyenne exponentielle approchée obtenue en appliquant la relation (5), F étant la fonction qui associe une valeur du code à un mot-code. La figure 2c, fait apparaître les différences entre les deux courbes de la figure 2b en donnant une représentation de l'erreur relative qui est commise en remplaçant xn par F(Xn). II est à noter que cette erreur est plus élevée pour les faibles valeurs de xn. REVENDICATIONS 1. Procédé pour le calcul approché de la moyenne exponentielle d'une suite de nombre un codés dans un format à virgule flottante utilisé pour convoyer certaines informations de débit dans des réseaux ATM, chaque nombre étant défini à l'aide d'un exposant en et d'une mantisse mn par un relation de la forme un = 2en . (1 + mn/512), caractérisé en ce qu'il consiste à approximer la moyenne exponentielle par la valeur du code associée à la moyenne exponentielle des motscode Un = 512.en + mn. 2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à effectuer l'approximation de la suite des mots-code de la moyenne exponentielle des un par une relation de la forme: Xn+I = ((2r-2S).Xn+2sUn)l2r- 3. Procédé selon la revendication 2, caractérisé en ce que r = 4 et s = 0. 4. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendication 1 à 3, caractérisé en ce qu'il comprend - un opérateur d'addition (1) recevant sur une première entrée d'opérande le mot de code Un et qui est couplé par une deuxième entrée d'opérande à la sortie d'un opérateur soustracteur (2), - un premier opérateur de décalage (2) qui est couplé en sortie de l'opérateur additionneur (1) pour fournir la suite des codes Xn - un deuxième opérateur de décalage (4) couplé en série avec un circuit de retard de 1 bit (5) entre la sortie du premier opérateur de décalage fournissant la suite des codes Xn et une entrée de l'opérateur soustracteur (2) - un troisième opérateur de décalage (6) couplé entre la sortie du circuit de retard d'un bit (5) et une deuxième entrée d'opérande de l'opérateur soustracteur (2) - et un quatrième opérateur de décalage (7) pour appliquer le mot de code Un sur la première entrée d'opérande de l'opérateur d'addition (1). 5. Dispositif selon la revendication 4, caractérisé en ce que le premier opérateur de décalage (3) effectue un décalage de r bits vers la droite, le deuxième opérateur de décalage (4) effectue un décalage de r bits vers la gauche le troisième opérateur de décalage (6) et la quatrième opérateur de décalage (7) effectuent un décalage de s bits vers la gauche.