Brevet FR2748620A1 — publié le 19971114

La présente invention concerne un procédé et dispositif d'arbitrage entre des files d'attente dans un réseau de transmission numérique. Elle s'applique notamment aux équipements de brassage et de commutation de données numériques composant un réseau fonctionnant en mode de transmission asynchrone dit ATM, ce dernier terme étant dérivé de l'expression anglo-saxonne "Asynchronous Transfer Mode". Plus généralement, I'invention s'applique à tous les réseaux de transmission de données numériques où il est nécessaire pour aiguiller ces données d'arbitrer entre files d'attentes en différents points du réseau. Les systèmes de télécommunication font notamment de plus en plus appel au mode de transfert asynchrone ATM. Cette technique de transmission permet de véhiculer des informations numériques de natures et de débits aussi variés qu'irréguliers. L'information est transportée à travers un réseau pouvant présenter diverses topologies, par exemple en maillage, en anneau ou en étoile. Chaque noeud du réseau, appelé commutateur ATM, est relié à un noeud adjacent par une artère de transmission acceptant tous types de technologies. La transmission peut donc se faire par exemple par câble, par faisceau hertzien ou par fibre optique. Le principe de la technique ATM est de segmenter les données issues des divers sources en blocs de longueur fixe, et d'ajouter à un bloc un en-tête pour former une cellule ATM. Les cellules ATM provenant de diverses sources sont alors multiplexées et transmises de façon asynchrone sur l'artère de transmission. Au sein d'équipements ATM, à un instant donné, plusieurs cellules peuvent se disputer l'accès à une même ressource. La mise en file d'attente des cellules concurrentes est alors nécessaire et il faut par la suite choisir selon quel ordre les files d'attente seront servies. Dans un équipement, par exemple un commutateur ATM, possédant Ne ports d'entrée et Ns ports de sortie, il est nécessaire de mettre en file d'attente les cellules reçues ou à émettre. Au niveau d'un port d'entrée, les cellules sont stockées dans différents registres de type FIFO selon des critères précis, par exemple selon la destination, le chemin ou le canal virtuel, le port de sortie de l'équipement suivant ou la priorité. Un registre de type FIFO est un registre connu de l'homme du métier où les bits sortent selon leur ordre d'entrée dans le registre, FIFO étant dérivé de l'expression anglo-saxonne "First in, First out". Selon l'art antérieur, chaque port possède un algorithme d'arbitrage par niveau de priorité qui permet de choisir la file d'attente à servir parmi toutes celles qui ont la même priorité. Ce mécanisme se réfère à une table d'éligibilité qui contient des informations binaires qui selon leurs valeurs autorisent ou non de servir un client ou un ensemble de clients. Par exemple, cette table d'éligibilité interdit de servir les files d'attente dont les cellules sont destinées à des ports de sortie congestionnés. Un des algorithmes d'arbitrage le plus utilisé est connu sous le terme de "Priorité Tournante" ou de "Round Robin" L'algorithme opère indépendamment d'un port d'entrée à l'autre. Les mécanismes d'arbitrage actuels introduisent plusieurs inconvénients, en particulier ils peuvent entraîner une dégradation des performances. Le rendement est ainsi mauvais dans la mesure où il apparaît des congestions à l'intérieur des commutateurs. II en résulte alors pour l'utilisateur final une augmentation des temps de réponse. A terme, I'usager est donc mal servi. Le but de l'invention est de pallier les inconvénients précités pour permettre notamment un écoulement efficace et rapide des informations au niveau de chaque noeud d'un réseau par exemple asynchrone, et donc améliorer le service final pour l'usager. A cet effet, I'invention a pour objet un procédé d'arbitrage entre des files d'attente au niveau d'un noeud d'un réseau de transmission numérique, caractérisé en ce que chaque file d'attente ayant un niveau de priorité attribué, il introduit un aléa dans la sélection des files d'attente de même priorité. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé. L'invention a pour principaux avantages qu'elle est simple à mettre en oeuvre et qu'elle est économique. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent: - la figure 1, un dispositif d'arbitrage fonctionnant selon l'art antérieur, - les figures 2a, 2b, 2c des illustrations d'un problème de synchronisation mis en évidence par la Déposante, - la figure 3, un exemple de mode de réalisation possible pour la mise en oeuvre du procédé selon l'invention. La figure 1 présente, par un synoptique, un dispositif d'arbitrage entre files d'attente au niveau d'un noeud d'un réseau numérique, selon l'art antérieur. Un équipement 1 est voué à recevoir des données (cellules ATM ou paquets ou trames ...) provenant de Ne ports d'entrée et à les retransmettre sur certains de ses Ns ports de sortie. Les ports de sortie ayant un débit limité, si tous les ports d'entrée présentent des données destinées au même port de sortie, il sera impossible de retransmettre toutes ces cellules en même temps. Les cellules qui n'auront pu être servies seront alors mises en files d'attente dans la FIFO du port de sortie destinataire et retransmises ultérieurement. Lorsque ces FIFO de sortie atteignent un certain seuil, on dit qu'il apparaît une congestion au sein de l'équipement. Afin de ne pas aller plus avant dans la congestion, elle doit être notifiée à tous les ports d'entrée par l'intermédiaire d'un contrôle de flux entre sorties et entrées et/ou pour la mise à jour d'une table d'éligibilité. Ainsi pour chaque port d'entrée, un arbitre est nécessaire pour choisir les files d'attente à servir parmi celles qui ne sont pas susceptibles d'aggraver la congestion. Un algorithme de choix est alors nécessaire ; c'est l'algorithme "Round Robin", appelé encore algorithme à "Priorité Tournante" Des cellules arrivent à un noeud, concrétisé par un équipement 1. Cet équipement est par exemple un commutateur ATM. Sa fonction est notamment d'aiguiller les cellules arrivant sur ses ports d'entrée 10,11 vers ses ports de sortie 12, 13. L'équipement 1 comporte par exemple Ne ports d'entrée 10, 11. Une première interface d'entrée 2 est reliée au premier port d'entrée 10 de l'équipement 1. Une Terme interface 3 est reliée au Ne ième port d'entrée 11. Une interface, par exemple la première 2, comporte des circuits 201, 20P constitués de registres 14 de type FIFO, un premier circuit 201 contenant toutes les files d'attente de priorité 1, ia priorité la plus élevée, un pièze circuit 20P contenant toutes les files d'attente de priorité P, la priorité la moins élevée, et d'autres circuits contenant les files d'attente de priorité intermédiaires. A titre d'exemple, le fonctionnement des interfaces 2, 3 est expliqué relativement aux circuits 201, 301 de priorité 1 de ces interfaces. Un circuit de priorité 1 sera appelé par la suite priorité 1. Chaque port de sortie du noeud 1 du réseau possède un algorithme d'arbitrage par niveau de priorité. Une priorité 1 comporte un nombre Ns de registres 14 de type FIFO, ce nombre Ns étant égal au nombre de ports de sortie de l'équipement 1. Chaque registre 14 de la priorité 1 contient une ou plusieurs cellules entrantes. Le rang X du registre 14, encore appelé numéro de FIFO, correspond au numéro du port de sortie prévu pour la cellule entrante. Le numéro X de FIFO précité correspond en fait au numéro de file d'attente de la cellule entrante. Par exemple une cellule ayant le rang X est prévue pour sortir sur le Xième port de sortie du noeud 1 du réseau. En d'autres termes, une FIFO contient une file d'attente de cellules, la FIFO 14 pouvant éventuellement être vide. A chaque priorité 201, 20P, 301, 30P est associé un algorithme de choix 15 déroulé par exemple par un processeur non représenté. Les algorithmes d'arbitrage généralement utilisés sont connus sous l'appellation "Round Robin". L'algorithme d'arbitrage 15 associé à la priorité 1 sélectionne un rang X après avoir sélectionné un rang inférieur, et cela parmi les FIFO qui ont le droit d'émettre une cellule vers la sortie du noeud 1. Les cellules associées sont dites éligibles, par extension on dira que ce sont les rangs ou numéros de FIFO qui sont éligibles. Une table d'éligibilité non représentée est associée aux priorités ou circuits 201, 20P. Une FIFO dont le rang X a été sélectionné émet une cellule vers le port de sortie de rang X de l'équipement 1. Au tour suivant, I'algorithme sélectionne un rang suivant, X + 1 si celui-ci est éligible, puis le rang X + 2, et ainsi de suite. A chaque FIFO 14 est associée une adresse de la table d'éligibilité pour aller y lire une information binaire sur son état d'éligibilité. L'algorithme d'arbitrage 15 opère donc cycliquement sur tous les rangs ou numéros de FIFO 1, 2, ...X, Ns d'une meme priorité, dans l'exemple de fonctionnement expliqué, il s'agit en l'occurrence des registres de priorité 1, donc des files d'attente associées. La Déposante a mis en évidence des problèmes de synchronisation de tous les algorithmes d'arbitrage de tous les ports d'entrée d'un noeud d'un réseau lorsqu'ils sont soumis à de fortes charges notamment quand toutes les files d'attente, c'est-à-dire toutes les priorités 201, 20P, 301, 308 contiennent des cellules. Le même phénomène de synchronisation peut évidemment se retrouver aussi au niveau des ports de sortie s'ils sont connectés à un autre noeud du réseau, c'est-à-dire que le même principe peut être appliqué entre différents noeuds d'un réseau. Dans ce cas, les cellules sont rangées en FIFO dont le numéro indique le port de sotie de l'équipement suivant. Le contrôle de flux est cette fois transmis entre noeuds. Deux problèmes de synchronisation ont été mis en évidence par la Déposante. Une synchronisation de type convergente apparaît lorsque les algorithmes de choix évoluent vers un état de synchronisation où tous les ports, d'entrée ou de sortie, servent la même file d'attente en même temps. Une synchronisation de type aléatoire se produit lorsqu'une certaine périodicité dans le choix des files d'attente à servir provoque, à un instant t imprévisible, la synchronisation des algorithmes indépendants. A cet instant t, les algorithmes présentent différents déphasages les uns par rapport aux autres, et ils les conserveront tant qu'ils resteront synchronisés. Cela signifie notamment que si à l'instant t, une interface d'entrée sert la file de rang i et une autre interface d'entrée sert la file de rang j, alors l'écart de déphasage E-il restera constant tant que les files d'attente restent toutes non vides. A ces deux problèmes de synchronisation correspondent en fait deux types d'algorithmes basés sur des contrôles de flux différents. Dans le cas d'un contrôle par file, I'algorithme d'arbitrage se réfère à une table d'éligibilité qui indique l'état de chaque file d'attente. Pour chaque cellule d'une file, cette table indique l'autorisation ou l'interdiction d'émettre cette cellule vers les ports de sortie du noeud. II apparaît alors une évolution vers une synchronisation convergente. Dans le cas d'un contrôle global, I'algorithme d'arbitrage se réfère à une table d'éligibilité qui indique l'état global des files. Cette table indique alors l'autorisation ou l'interdiction d'émettre une cellule pour l'ensemble des files d'attente. Une évolution tend ici vers une synchronisation aléatoire. De ces problèmes de synchronisation, il résulte que de nombreuses cellules entrent en conflit lorsqu'elles doivent atteindre la même ressource, un port de sortie, au même moment. Elles congestionnent en fait la ressource. Ce type de phénomène entraîne ainsi une diminution des performances de l'équipement. Les figures 2a, 2b et 2c illustrent un problème de synchronisation dans le cas par exemple où le nombre d'entrée Ne du noeud est égal au nombre de sorties Ns. La figure 2a illustre un cas sans problème, un processus d'arbitrage dans sa phase initiale par exemple. Dans la première interface, la file d'attente n" 1 est sélectionnée, dans l'interface n" X + 1, la file d'attente n" X + 1 est sélectionnée, enfin dans le dernier interface Ns., la file d'attente n" Ns. est sélectionnée, puis un nouveau cycle recommence pour toutes les priorités 1 des interfaces. La figure 2b illustre le début d'une évolution vers un état de synchronisation. Dans le cas de la figure 2b, le port n" 1 de sortie est par exemple soumis à un blocage. Cela arrive notamment si le port de sortie est congestionné. Si deux cellules veulent au même instant sortir sur le même port, I'une d'elles pourra effectivement sortir et l'autre sera mise dans la file d'attente du port de sortie correspondant. II n'y aura congestion que lorsque l'une des FIFO des ports de sortie aura atteint un seuil maximal de remplissage. Un contrôle de flux est ainsi activé et sera envoyé à tous les ports d'entrée pour que les algorithmes de choix intègrent cette information dans leur "table d'éligibilité" Le contrôle de flux ramené à l'entrée du noeud du réseau interdit alors à la première interface de servir la file d'attente n" 1, son algorithme d'arbitrage essaie alors de servir la file d'attente n" 2. A terme, il apparaît une congestion lorsqu'un seuil maximum est atteint par exemple entre les deux priorités 1 des deux premières interfaces qui tentent en même temps d'émettre une cellule vers le deuxième port de sortie du noeud 1 du réseau. Le port de sortie n" 2 interdisant son accès, les deux premières interfaces vont alors se synchroniser sur la file d'attente n" 3 comme l'illustre la figure 2c. A un instant, si plusieurs algorithmes sont synchronisés sur le n" 2 par exemple, la FIFO de sortie du port 2 va grandir et risque donc rapidement d'atteindre son seuil de congestion. Plus il y a d'algorithmes synchronisés, plus la probabilité de congestion augmente, d'où la tendance convergente vers la synchronisation. Un phénomène de cascade se poursuit jusqu'au moment où toutes les interfaces émettent une cellule sur le même port de sortie, le dernier port Ns par exemple. II n'y a pas de ressource physique comme un bus qui interdise à tous ports d'entrée d'émettre une cellule vers la même sortie. Ils émettent effectivement tous une cellule mais une seule d'entre elles sera émise en sortie, les autres seront mises dans la file d'attente du port de sortie visé. De ce fait, désirant atteindre un même port de sortie au même moment, de nombreuses cellules créent donc une congestion. Ce type de phénomène entraîne ainsi une diminution des performances de l'équipement telle qu'exposée notamment précédemment. Selon l'invention, afin d'éviter toute dégradation des performances, le procédé d'arbitrage rompt les cycles qui entraînent une synchronisation tout en garantissant l'équité entre les files d'attente. Pour cela le procédé introduit un aléa dans la sélection des files d'attente de même priorité. A chaque choix, selon le procédé selon l'invention, une file d'attente est par exemple tirée au sort parmi toutes les files d'attente éligible, sans se préoccuper par exemple des choix précédents. L'équité est garantie en moyenne. Ainsi, au lieu de choisir la file d'attente de rang X + 1, si celleci est éligible, après la file d'attente de rang X, les moyens d'arbitrage permettent de choisir parmi toutes les files d'attentes éligibles, quel que soit leur rang. Une autre façon pour introduire un aléa selon l'invention consiste à tirer au sort parmi un nombre donné de files d'attente, par exemple à tirer au sort parmi N files d'attente éligibles suivant le rang de la dernière choisie. Ainsi si la précédente file d'attente choisie était X, et si le nombre total de files éligibles est N, alors les moyens d'arbitrage autorisent le tirage au sort d'un nombre R entre 0 et N de telle sorte que la Rième file d'attente éligible à partir de la Xième file soit sélectionnée. La file sélectionnée ne sera donc pas forcément R+X modulo Ns. La figure 3 présente un mode de réalisation possible d'un dispositif pour la mise en oeuvre du procédé selon l'invention. Ce dispositif fournit le numéro de la file d'attente à servir. II est associé à un circuit 201, 20P, 301, 30P de priorité donnée dans une interface d'entrée 2, 3. Il permet donc à l'interface de choisir une file d'attente parmi toutes celles d'une même priorité. Selon la figure 3 un compteur 41 compte le nombre de files d'attente qui peuvent être élues. Pour cela le compteur 41 est relié à la table d'éligibilité 42. Cette table est composée par exemple de Ns registres, Ns étant le nombre de ports de sortie du noeud du réseau. Le registre n" X indique par exemple l'état d'éligibilité de la file d'attente n" X par une information binaire, 1 signifiant par exemple éligible et 0 signifiant par exemple non éligible. Une file d'attente X est déclarée éligible si elle est non vide et si le port destinataire n'est pas congestionné. Le compteur 41 compte donc par exemple le nombre de bits égaux à 1 dans la table d'éligibilité 42. Le résultat est compris entre 0 et Ns. Un module 43 de génération de nombres aléatoires fournit des nombres aléatoires codés par exemple sur 16 bits, à partir par exemple d'un polynôme de degré 32. Les possibilités de choix sont dans ce cas très importantes. Le nombre aléatoire fourni est compris entre 0 et 1,1 étant exclu. II appartient donc à l'intervalle [0, 1[. La sortie du compteur 41 indiquant le résultat du comptage de ce dernier et la sortie du générateur 43 de nombres aléatoires sont reliées aux deux entrées d'un multiplieur 44, ce dernier effectuant le produit de ces deux entrées, donc le produit du nombre de files d'attente éligibles par le nombre aléatoire fourni. Le nombre Ns de ports de sortie est par exemple tel qu'il peut être codé sur 5 bits. Le multiplieur 44 effectue un arrondi afin de présenter à sa sortie un nombre entier compris entre 1 et Ns. Le multiplieur 44 permet de réaliser un tirage aléatoire équitable d'un nombre entier compris entre 1 et N, avec N variable entre chaque tirage. Une autre solution aurait pu être de tirer au sort un nombre très grand compris entre 1 et 2P-1 (tirage au hasard classique puisque les deux bornes sont fixes), puis exprimer le résultat en entier sur 5 bits modulo N (N = nombre de files éligibles) +1. On obtient ainsi un nombre compris entre 1 et N, mais la réalisation d'un modulo N (avec N non puissance de 2) n'est pas très aisé. De plus pour être certain d'avoir un tirage aléatoire équitabie, il faut que p soit très grand. On voit donc les avantages en terme de simplicité et d'équité apportés par la solution proposée dans le dispositif de la figure 3. La sortie du multiplieur 44 est reliée à une entrée d'un premier multiplexeur 45, L'autre entrée de ce multiplexeur ayant un état logique constant égal à 1. Ce multiplexeur 45 est commandé par un signal binaire M1. Sa sortie est reliée à une première entrée N d'un circuit de sélection 46. La sortie d'un deuxième multiplexeur 47 est reliée à une deuxième entrée R du circuit de sélection 46. Une première entrée du deuxième multiplexeur 47 est à l'état logique 0 alors que l'autre entrée est reliée à la sortie d'une mémoire 48 qui mémorise la sortie du circuit de sélection 46. Cette mémoire 48 mémorise en fait la dernière file d'attente servie. Le circuit de sélection parcourt la table d'éligibilité à partir du rang R + 1, R étant le nombre affiché à sa deuxième entrée R. II parcourt à partir de ce rang R + 1, N registres éligibles successifs, à l'état 1 par exemple, de la table d'éligibilité. II présente à sa sortie le rang du dernier registre parcouru, par exemple R + 1 + N si tous les registres sont éligibles. Si le compteur 41 compte un résultat nul, il désactive le circuit de sélection 46 dont la sortie reste alors figée. Le compteur 41 est relié à une entrée d'activation du circuit de sélection 46. Le compteur indique si son résultat est nul par une information binaire. Cette dernière est aussi combinée avec la sortie du circuit de sélection 46 par l'intermédiaire d'une porte "et" 49. La sortie de cette porte est à zéro si le compteur est à zéro, dans ce cas aucune file d'attente n'est à servir. Le circuit de sélection 46 ayant été désactivé, le numéro de la dernière file d'attente servi est conservé en sortie du circuit. II est donc possible de reboucler sur ce dernier quand des files d'attente seront de nouveau à servir. Si le compteur affiche un résultat non nul, la porte "et" 49 reproduit la sortie du circuit de sélection. La porte "et" 49 fournit en sortie le numéro de file d'attente à servir. Ce numéro est par exemple lu par un processeur qui active par exemple le registre ou la FIFO correspondante. Les différents circuits, notamment le compteur 41 et le module 43 de génération de nombres aléatoires, sont par exemple synchronisés par un signal d'horloge non représenté, ou bien par un signal commandé par un processeur, chaque signal de synchronisation correspondant à une nouvelle sélection de file d'attente. Les informations binaires M1, M2 qui commandent les deux multiplexeurs permettent de configurer le fonctionnement de l'ensemble. Si M1M2 = 11, la première entrée N du circuit de sélection est forcée à 1 et la deuxième entrée R reproduit le dernier numéro de file d'attente servie. Après la file d'attente de rang R, celle de rang R+1 est ainsi sélectionnée, puis celle de rang R+2 et ainsi de suite. Un algorithme cyclique de type Round Robin est alors en fonctionnement. Aucun aléa n'est introduit, c'est le cas décrit précédemment qui peut amener, dans certaines circonstances à une diminution globale des performances de l'équipement. Si M1M2 = 00, la deuxième entrée R est forcée à zéro et la première entrée N du circuit de sélection 46 comporte le résultat du compteur 41. Après chaque sélection, une nouvelle file d'attente est alors choisie au hasard parmi toutes celles éligibles. Si M1M2 = 01, la deuxième entrée R reproduit le numéro de la dernière file d'attente sélectionnée et la première entrée N du circuit de sélection 46 comporte le résultat du compteur 41. Si M1M2 = 10, la première entrée N est fixée à 1 et la deuxième entrée R du circuit de sélection 46 est fixée à 0. La première file d'attente éligible à partir de la première file d'attente est alors sélectionnée. Les circuits de la figure 3 pourraient par exemple être remplacés par un microcontrôleur intégrant les fonctions de tous ces circuits. REVENDICATIONS 1. Procédé d'arbitrage entre des files d'attente (14) au niveau d'un noeud (1) d'un réseau de transmission numérique, caractérisé en ce que chaque file d'attente ayant un niveau de priorité attribué, il introduit un aléa (43) dans la sélection des files d'attente de même priorité. 2. Procédé selon la revendication 1, caractérisé en ce qu'une file d'attente (14) est tirée au sort parmi toutes les files d'attente autorisées à émettre une cellule. 3. Procédé selon la revendication 1, caractérisé en ce qu'une file d'attente (14) est tirée au sort parmi un nombre donné de files d'attente suivant le rang de la dernière file d'attente sélectionnée, et parmi les files d'attente autorisées à émettre. 4. Dispositif d'arbitrage entre des files d'attente (14) au niveau d'un noeud (1) d'un réseau de transmission numérique, caractérisé en ce qu'une file d'attente ayant un niveau de priorité attribué, il comporte des moyens de sélection (46) des files d'attente de même priorité et des moyens (41, 42, 43, 44, 45, 47, 48) pour introduire un aléa dans les moyens de sélection (46). 5. Dispositif selon la revendication 4, caractérisé en ce que les moyens pour introduire un aléa comportent un module (43) pour générer un nombre aléatoire, les moyens de sélection (46) opérant une sélection des files d'attente fonction de ce nombre aléatoire. 6. Dispositif selon l'une quelconque des revendications 4 ou 5, caractérisé en ce qu'il comprend des moyens (45, 47, M1, M2) pour configurer la sélection des files d'attente, avec ou sans aléa. 7. Dispositif selon l'une quelconque des revendications 4 à 6, caractérisé en ce qu'étant relié à une table d'éligibilité (42) des files d'attente, les moyens de sélection (46) sélectionnent une file d'attente parmi toutes les files d'attente éligibles, une file d'attente éligible étant une file d'attente autorisée à émettre une cellule. 8. Dispositif selon l'une quelconque des revendications 4 à 6, caractérisé en ce qu'étant relié à une table d'éligibilité (42) des files d'attente, les moyens de sélection (46) sélectionnent une file d'attente parmi un nombre donné de files d'attente éligibles à partir de la dernière file d'attente sélectionnée, une file d'attente éligible étant une file d'attente autorisée à émettre une cellule. 9. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte au moins: - un générateur (43) de nombre aléatoire compris entre 0 et 1 - un compteur (41) comptant les files d'attente éligibles dans une table d'éligibilité (42) - un multiplieur (44) effectuant le produit du nombre aléatoire par le résultat du compteur (44) - un circuit de sélection (46) parcourant un nombre N de registres éligibles successifs de la table d'éligibilité (42), le nombre N étant le produit du multiplieur (44), le circuit de sélection présentant en sortie le rang du dernier registre parcouru, chaque registre de la table d'éligibilité étant associé à une file d'attente, un registre éligible indiquant que sa file d'attente associée est autorisée à émettre une cellule, la sortie du circuit de sélection (46) indiquant le numéro de la file d'attente sélectionnée. 10. Dispositif selon la revendication 9, caractérisé en ce qu'il comporte un multiplexeur (45) intercalé entre le multiplieur (44) et le circuit de sélection (46), le multiplexeur étant commandé par un bit de configuration (M1) pouvant forcer la sortie du multiplexeur à 1. 11. Dispositif selon l'une quelconque des revendications 9 ou 10, caractérisé en ce qu'il comporte une mémoire (48) reliée en sortie du circuit de sélection (46), la sortie de la mémoire étant reliée à l'entrée d'un multiplexeur (47) dont la sortie est reliée à une deuxième entrée (R) du circuit de sélection (46), le multiplexeur (47) étant commandé par un bit de configuration (M2) pouvant forcer sa sortie à 0, le circuit de sélection (46) parcourant la table d'éligibilité (42) à partir du rang correspondant au nombre affiché sur sa deuxième entrée (R).