FR 2494009 A1 19820514 FR 8121064 A 19811110 "Dispositif pour trier des mots de données selonles valeurs de nombres attributs qui leur appartiennent" La présente invention concerne un dispositif permettant de trier rapidement un nombre prédéterminé de mots de données selon la valeur d'un nombre attribut spéci- fique appartenant à chaque mot de donnée, ces mots de données étant fournis successivement à une entrée. D'une manière générale, il convient de faire la distinction en- tre deux catégories de dispositifs de triage. Dans la première catégorie, le nombre de mots de données est très grand et il s'agit, par exemple, de virements qui doivent être effectués sur des comptes en banque. Ces virements doivent alors être triés, par exemple, par numéro de comp- te (nombre attribut) croissant. Le nombre possible des nombres attributs est, dans ce cas, très grand. Il est alors impossible de traiter ce triage en même temps (en temps réel) que l'arrivée des mots de données fournis par un mécanisme d'alimentation électronique. Un tampon im- portant est alors nécessaire, deux états de données étant finalement combinés. L'invention ne se rapporte pas à un tel traitement par groupes et non lié au temps d'un ensemble de données (off-line batch processing). Une deuxième catégorie de dispositifs de tria- ge coopère avec la fourniture des données, mais dans ce cas, seul un nombre limité de valeurs possibles pour le nombre attribut est admis. Les nombres attributs peuvent, par exemple, être des valeurs de mesure d'un même nombre d'éléments de mesure, le mot de donnée indiquant l'iden- tité de l'élément de mesure. Une autre possibilité est que la valeur du nombre attribut représente une proprié- té qualitative du mot de donnée et chaque mot de donnée une possibilité permise a priori; le dispositif doit choi- sir la meilleure possibilité parmi le nombre limité de possibilités et/ou plusieurs des meilleures possibilités pour parvenir ensuite si possible à un choix final opti- mum. Dans l'ensemble, le problème peut être formulé com- me consistant en la recherche a posteriori de la probabi- lité maximale de la succession d'états d'un processus de Markov à valeurs de temps discrètes qui est observé dans un bruit sans mémoire. Dans la littérature, l'algorith- me de Viterbi a permis de résoudre ce problème; un arti- cle général a été publié par G. David Forney, Jr, dans Proceedings of the IEEE, volume 61, no 3, mars 1973, pa- ges 268 à 278. Les domaines d'application comprennent, par exemple, le domaine des codes de concordance pour la correction des erreurs, l'interférence entre des symboles de données, le codage (keying) par variation de fréquence pour une phase continue (FSK) et l'identification de tex- tes. Chaque mot de donnée représente un "sentier" dans le "graphe" selon Viterbi, ce sentier présentant un point initial et un point final. Un sentier est formé, dans ce cas, d'un certain nombre d'étapes et chaque étape est pourvue d'un nombre attribut partiel. La somme des nom- bres attributs partiels d'un sentier forme le nombre at- tribut (métrique) de ce sentier et il s'agit de trouver précisément le sentier présentant le nombre attribut le moins élevé (ou précisément le plus élevé). En principe, un sentier progresse avec le flux de données entrant de sorte que la fin se déplace chaque fois et que de nouvel- les étapes doivent continuellement entrer en ligne de comp- te; les sentiers se divisent alors continuellement et aussi se rejoignent; lors d'une telle conjonction, il ne faut dès lors plus considérer que le nombre attribut d'un seul des sentiers arrivants. Dans le cadre de l'in- vention, on utilise un cas particulier de l'algorithme de Viterbi pour un code de correction des erreurs selon le principe consistant à rechercher la probabilité maximum lors du décodage (maximum likelihood decoder) décrit dans: A.J. Vinck, et ses collaborateurs, "A class of binary rate one-half convolutional codes that allow an improved stack decoder", IEEE Trans. on Information Theory IT 26 (juillet 1980) page 389. L'invention a pour but de procurer un disposi- tif permettant de trier rapidement un nombre prédéterminé de mots de données (sentiers) selon la grandeur d'un nombre attribut spécifique (métrique) appartenant à chaque mot de donnée, ces mots de données étant fournis successivement à une entrée, le dispositif assurant en son sein d'une manière très simple le stockage trié des mots de données selon le nombre attribut, de telle sorte que la lecture puisse être commandée directement d'une manière simple dans l'ordre des valeurs des nombres attributs. L'inven- tion réalise ce but par le fait qu'elle est caractérisée en ce que, dans le cas de M valeurs possibles du nombre attribut et d'un maximum de N mots de données d'une même valeur pour un nombre attribut, une mémoire répartie en M blocs, chacun de N emplacements de mémoire, est présen- te,un dispositif de stockage est présent pour stocker un mot de donnée reçu dans le bloc adressé par la valeur du nombre attribut associé et un dispositif de comptage est présent, pour chaque mot de donnée reçu pour augmenter d'une unité un solde de comptage tenu à jour pour le bloc ainsi adressé et opérant comme adresse d'enregistrement à l'intérieur de ce bloc afin de signaler ainsi le nombre de mots de données-contenus dans ce bloc, un dispositif de lecture est présent avec un dispositif déterminant la priorité pour, sous la commande de tous les soldes de comp- tage qui indiquent un nombre de mots de données différent de zéro dans le bloc en question, détecter parmi ces blocs celui du plus haut rang, et un générateur d'adresses de lecture est présent pour, sous la commande du numéro d'or- dre du bloc non vide du plus haut rang ainsi détecté et du solde de comptage associé, adresser un mot de donnée et, en outre, abaisser d'une unité le solde de comptage associé à ce bloc. Pour la lecture d'un deuxième nombre prédéter- miné de mots de données inférieur au premier nombre prédé- terminé et pour la détermination à chaque fois d'une dif- férence de nombres attributs, il est avantageux que le dispositif de lecture, lors de la lecture du premier des- dits mots de données, stocke le nombre attribut associé dans un registre arithmétique dont une sortie est connectée à une unité arithmétique et lors de la lecture des mots de données suivants, amène le nombre attribut directement à l'unité arithmétique pour former une différence à titre de nouveau nombre attribut. Dans de nombreux cas, il suf- fit d'utiliser une différence de nombres attributs comme mesure pour la sélection ou non d'un mot de donnée. Pour limiter la valeur maximale lors d'un triage continu au cours duquel les nombres attributs sont complétés et ne sont jamais diminués, les différences de nombres attributs sont chaque fois utilisées comme nombre attribut mis à jour. L'invention sera expliquée ci-après plus en détail avec référence aux figures suivantes: - la figure 1 illustre l'utilisation de l'in- vention pour un code de correction des erreurs; - la figure 2 illustre le mécanisme de tria- ge conforme à l'invention; - la figure 3 est un schéma synoptique global d'un dispositif conforme à l'invention; - la figure 4 est un schéma synoptique plus détaillé d'un dispositif conforme à l'invention. La figure 1 illustre l'utilisation d'un dispo- sitif conforme à l'invention pour un code de correction des erreurs. Le dispositif fonctionne comme un décodeur selon la plus forte probabilité (maximum likehood decoder). Les bits de code parviennent sur l'entrée 208 afin d'être stockés dans le registre 200. Dans cette forme d'exécution, ce registre a une capacité qui est suffisante pour six unités d'information du code. De plus, une mémoire 202 est prévue. Dans cet exemple, cette mémoire comporte en première instance, cinq emplacements de mémoire, chacun d'une capacité prévue également pour six unités d'infor- mation. Le flux de bits de code parvenant sur l'entrée 208 est redondant et possède certaines propriétés de cor- rection des erreurs. Il s'agit de former au départ de cette série de bits de code éventuelle- ment perturbée, une nouvelle série de bits de code dont les perturbations sont éliminées. Ceci est réalisé par le fait qu'il se forme un certain nombre de séries de bits de code possi- bles qui sont toutes exemptes de perturbations etqu'une seule série de bits de code est choisie parmi ces séries non perturbées. Cette série est choisie telle que la distan- ce de code entre les intervalles condidérés de la série de bits de code perturbée et les diverses séries de bits de code non perturbées soit minimalisée. On dit que la série perturbée est plus que probablement formée à partir de la série non perturbée choisie. On suppose que la série de bits reçue est sans erreur. Dans ce cas, cette même série est stockée dans une telle mémoire 202. La distan- ce de code, indiquée par la flèche Ml, a alors la valeur zéro. Une unité d'information suivante est ensuite reçue sur l'entrée 208. Cette unité est représentée comme bit 1. Dans la pratique, ceci se rapporte à une quantité suivan- te d'information de donnée plus la quantité d'information de redondance ajoutée sur base de cette quantité suivante. Pour un code de concordance à un seul canal présentant une efficacité de code de J, ceci se rapporte alors à 2 bits de code reçus successivement. Pour un code de con- cordance à trois canaux de données et deux canaux de re- dondance, ceci se rapporte aux cinq bits reçus ensemble, un pour chacun des canaux. Cette quantité d'information supplémentaire est indiquée dans la case en traits poin- tillés 204. Chaque code non perturbé stocké dans la mé- moire 202 est complété par une même quantité de bits de code, toutes les possibilités qui donnent un code non per- turbé étant permises a priori. Pour un code systématique et l'efficacité précitée de , il s'agit donc d'un bit de donnée "1" et du bit de parité à adjoindre entre au- tres pour cette raison. Les indications "O" et "1" dans la colonne 206 indiquent que le bit de donnée peut avoir un contenu aléatoire. Dans les exemples précités, on ob- tient donc respectivement 21 = 2 et 23 = 8 possibilités différentes. Chacune de ces possibilités donne une dis- tance de code incrémentielle AM par rapport au nouveau bit de code reçu en réalité. La distance de code incré- mentielle est calculée dans un dispositif non représenté. Au départ de cette distance, pour chaque développement des séries de codes non perturbées, une nouvelle distan- ce de code M(1... 5)+ âM est, en outre, formée. Tant M que AM peuvent exclusivement être positifs ou nuls. Ainsi lorsqu'on dispose de deux possibilités de dévelop- pement du code, l'agencement représenté fournit au maxi- mum 10 nouvelles valeurs de la distance de code. Parmi ces valeurs, on en choisit un certain nombre, en l'occur- rence les plus basses. Ce nombre est en soi aléatoire et ne doit pas être fixe; il est limité par les limitations physiques du dispositif utilisé (temps de calcul, capaci- té de mémoire). Lorsqu'un code sans erreur était stocké dans la mémoire 202, au moins un et au plus deux nouveaux codes sont choisis. Lorsque, dans l'exemple ici décrit, cinq codes non perturbés étaient stockés, cinq dévelop- pements au maximum parmi les dix développements possibles sont choisis; le plus petit nombre qui sera choisi dans la pratique est 1, mais habituellement il y en aura plu- sieurs. De plus, on choisit le code non perturbé qui pré- sente la plus petite distance jusqu'au code perturbé reçu. La partie de ce code qui a été reçue le moins récemment et qui contient autant d'information que la partie située dans le bloc 204 est fournie à un utilisateur. En règle générale, chaque code non perturbé aboutiraparlntenrmédiaire d'un certain ncmnbre de divisions à de nouveaux codes non perturbés; une partie de ceux-ci seulement est conservée. La correc- tion donne un résultat exact lorsque chaque progression du choix du nouveau "meilleur" code non perturbé n'accuse aucune différence avec le résultat qui était fourni par le code non perturbé jusqu'à présent choisi comme "meil- leur". Lorsque la mémoire 202 a une capacité qui, pour chaque progression, correspond comme illustré, à 6+1=7 (202+206) bits de données, dans le code "nouvellemert" choisi comme meilleur, le bit de donnée le plus récent à 7 près et tous les bits de données précédents doivent correspondre avec ceux des codes choisis précédemment comme meilleur pour la progression. Lorsque l'information est fournie comme indiqué plus haut à l'utilisateur, l'in- formation de toutes les progressions sélectionnées est stockée dans l'emplacement suivant vers la droite et il en est de même du contenu du registre 200. La case 204 est ainsi disponible pour la réception d'une nouvelle uni- té d'information et les cases 206 pour la formation de nouvelles progressions de code non perturbé. La progression dans le bloc 206 est assurée dans cet exemple par un accroissement quelconque du conte- nu d'information du code non perturbé et par un contenu des bits de redondance qui y est chaque fois adapté. Dans d'autres cas, par exemple pour l'identification d'un texte, la progression du contenu de l'information ne sera pas quelconque, mais ne sera choisie que parmi un certain nom- bre de possibilités. Ces possibilités peuvent, par exem- ple, être trouvées par le fait que le contenu de la mémoi- re 202 forme chaque fois une adresse pour un dictionnaire qui est stocké dans une mémoire morte. La distance entre le code non perturbé et le code perturbé ou la différence entre un texte "correct" et un texte "perturbé", sera appelée ci-après "nombre at- tribut". La figure 2 illustre le mécanisme de triage conforme à l'invention. -Dans ce cas, il est souhaité d'ex- traire les mots de données par lecture selon leur valeur d'attribut croissante. On dispose d'une mémoire 28 qui remplit la fonction de la mémoire 202 de la figure 1. La mémoire 28 est divisée en cinq blocs qui sont chaque fois indiqués par un trait épaissi. Sur l'entrée 20 appa- raît ensuite un mot de donnée qui est indiqué schématique- ment par le bloc 22 pourvu d'une valeur d'attribut qui est indiquée schématiquement par le bloc 24; les blocs 22, 24 peuvent être situés dans un espace de registre adé- quat. Le contenu du mot de donnée agit par l'intermédiai- re de la ligne 26 comme une donnée pour la mémoire 28. Le contenu du nombre attribut agit par l'intermédiaire de la ligne 30 comme une adresse pour la mémoire 28 en vue d'adresser un des cinq blocs de mémoire. On suppose que l'on dispose de cinq blocs de mémoire qui offrent cha- cun de la place pour trois mots de données. Les blocs sont réservés de haut en bas pour les valeurs 0, 1, 2, 3 et 4 des nombres attributs. Les blocs hachurés indiquent que les blocs de mémoire contiennent déjà respectivement 0, O, 1, 2 et 1 mots de données. Le premier mot de donnée suivant a, par exemple, le nombre attribut 2. Pour chaque bloc de mémoire, un registre de comptage est présent dans un bloc de registre de comptage 34 et est adressé en même temps que la mémoire 28 par le contenu du nombre attribut 24; le troisième registre de comptage (état 1) est main- tenant amené à l'état 2 (1.=2) et cet état 2 adresse le premier emplacement de mémoire vide suivant dans le troi- sième bloc de mémoire. Le mot de donnée en question est enregistré à cet endroit. A L'arrivée du mot de donnée suivant, la procédure se répète, jusqu'à ce que la série prédéterminée de mots de données à trier soit stockée dans la mémoire 28. La lecture du contenu de la mémoire 28 s'effectue d'une manière correspondante: la valeur du nombre attribut adresse le bloc de mémoire en question; après la lecture, l'état du registre de comptage 34 en question est diminué d'une unité. Ainsi, la mémoire 28 correspond à la mémoire 202 de la figure 1. On suppose maintenant que quatre mots de don- nées seulement sont mis en question (progressions de la figure 1). La distance de code est maintenant respecti- vement de 2, 3, 3, 4. La distance de code relative (par rapport à la meilleure progression) est maintenant de 0, 1, 1, 2. On peut, par exemple, continuer uniquement avec les trois meilleurs. Ceux-ci sont alors lus, pourvus d'une progression supplémentaire; la distance de code incrémen- tielle, augmentée de la distance de code relative valable jusqu'à ce moment, est calculée et un nouveau stockage se produit. Le traitement des diverses progressions peut ainsi s'effectuer rapidement. Lorsque le nombre de pas à sélectionner est lié à une limite supérieure connue, le traitement peut se dérouler dans un laps de temps fixe. Le dispositif peut donc fonctionner en temps réel (real- time). Le dispositif fonctionne donc avec un nombre limité de progressions du code non perturbé. Ces progres- sions (sentiers) forment un certain nombre de branches de la structure d'arbre des progressions. Seule une par- tie réduite de cet arbre est ainsi traitée (reduced tree decoder). La figure 3 est un schéma synoptique global d'un dispositif conforme à l'invention dans lequel la mé- moire elle-même (28 sur la figure 2) n'est pas représen- tée. Il est prévu que 2L mots de données puissent être traités (dans cet exemple: L=8). M valeurs différentes pour le nombre attribut sont permises (dans cet exemple, M=10). De plus, le nombre maximum de mots de données pré- sentant une même valeur du nombre attribut est égal à N (dans cet exemple N=8). Pour le stockage des mots de données, le commu- tateur à deux directions 56 est commuté dans la position inférieure par un signal de commande extérieur appliqué à la borne 54. Les nombres attributs codés binaires sont amenés au décodeur 118 qui convertit le code binaire en un code décimal, de sorte qu'une des lignes du faisceau de lignes 120 est toujours activée. En supposant que la valeur binaire soit 0011 (3 décimal), les éléments associés de la série de compteurs 68 et 86 et des bascules de don- nées 88 à 106 sont activés; il s'agit donc maintenant des éléments 74 et 94. Un signal d'horloge sur l'entrée 112 (EC), un signal de comptagedécomptage sur l'entrée 116 (U/D) commandent maintenant, en coopération avec le signal de sélection sur le faisceau de lignes 120, la poursuite du comptage du compteur 74. La poursuite du comptage dans l'élément 34 (figure 2) est ainsi réalisée. Un signal d'horloge sur l'entrée 110 (El) opère pour les bascules de données 94 comme signal de commande de stockage. La bascule de données 94 a une capacité de 3 bits pour stocker complètement l'état de compteur qui est reçu par l'intermédiaire de la ligne 75 (ce compteur a, en effet, un domaine de comptage de N=8 états). L'état du compteur 74 intervient maintenant pour le stockage du mot de donnée dans la mémoire 28 (figure 2) en tant qu'adresse dans le bloc de mémoire en question, l'élévation se produisant avant le stockage et l'abaissement après la lecture. Le décodeur 118 correspond au décodeur qui adresse le bloc de mémoire en question de la mémoire 28. Dans cette réa- lisation, la bascule de données 94 a deux aspects, à savoir un aspect de stockage et unaspect de sortie: ses éléments 9 sélectionnés sont connectés à la ligne 108 par l'inter- médiaire d'un état de sortie à haute impédance (tri-state buffer). L'élément 60 est un multiplicateur par 8. Dans le cas d'un nombre codé binaire, ceci signifie le décalage de trois positions de bit. Dans le cas d'un nombre déci- mal codé binaire, ceci peut également être réalisé avec un décodeur qui fournit ainsi un nombre entier codé bi- naire. L'élément 62 est un élément additionneur qui pro- duit sur la ligne 64 l'adresse de mémoire finale. Ceci peut donc produire 80 valeurs d'adresse différentes pour la mémoire. Différentes procédures peuvent être suivies pour la lecture de la mémoire; dans un cas déterminé, il est, par exemple, avantageux de lire parmi un nombre 2L de mots de données stockés précisément la moitié (L exemplaires) , en l'occurrence précisément la moitié qui présente les plus basses valeurs des nombres attributs. Dans certains cas, il arrivera que, pour une valeur déter- minée du nombre attribut, une fraction seulement des mots de données sera lue, alors que les autres mots de données présentant la même valeur ne seront pas lus. Lors de la lecture, le commutateur 56 se trouve dans la position su- Périeure sous la commande d'un signal modifié sur l'entrée 54. L'élément 66 est un générateur de priorité; ce géné- rateur reçoit de tous les compteurs 68 à 86 l'indication que le compteur en question se trouve dans l'état "0" (dans ce cas, il n'y a pas de mots de données stockés avec la valeur associée du nombre attribut) ou que le compteur en question se trouve dans un état différent de 0. L'in- dication en question peut être un seul bit d'information. Le dispositif déterminant la priorité 66 indique mainte- nant sur sa sortie le numéro du compteur qui, parmi les compteurs qui ne se trouvent pas sur zéro, se rapporte à la valeur la plus basse du nombre attribut, et ce à l'état codé selon la même convention que celle qui a servi à coder la valeur attribut à son arrivée sur l'entrée 50. En fait, ce numéro d'ordre est donc le nombre attribut lui-même. Le nombre attribut est à nouveau codé selon un code 1:10 dans l'élément 118 o un signal de retour à zéro est fourni au compteur ainsi détecté, tandis que l'état ainsi abaissé est stocké dans la bascule de données (88 à 106) associée. Avant l'abaissement ainsi effectué, l'état qui est alors encore stocké est fourni à la ligne 108 (sous la commande d'un signal de sélection-sur le fais- ceau de lignes 120 et d'un signal d'horloge sur l'entrée 110) et sous la commande (si nécessaire) d'un signal d'hor- loge non représenté dans l'élément additionneur 62 addi- tionné à 8 fois la valeur du nombre attribut (élément 60) et est amené par l'intermédiaire de la ligne 64 en tant qu'adresse de lecture à la mémoire. La lecture est ter- minée lorsqu'un nombre prédéterminé, par exemple de L mots de données, a été lu. Les compteurs 68 à 86 possèdent encore une en- trée de commande commune 114 indiquée quelque peu schéma- tiquement et destinée à un signal de retour à zéro (CL): lorsque le nombre de mots de données lus est suffisant, le contenu de la mémoire peut être rendu invalide par le retour à zéro des compteurs. De plus, une entrée com- mune 116 est prévue pour l'application d'un signal de com- mande de comptage/-décomptage. En fait, il s'agit du même signal que celui qui commande l'état du commutateur 56 par l'intermédiaire de l'entrée 54. La figure 4 est un schéma synoptique plus détail- lé. Le circuit est réalisé en éléments TTL de la série connue 74 LS... (LS = Low Power Schottky),parexempledela 60- ciété TEXAS INSTRUMENIS. Seule la partie ireemieure de lafigure 3 est ici ree- présentée, à savoir les 6éments se rapportant aux valeurs de nombre attributs indiquées tout en bas sur la figure 3. L'élément 132 est un composant du type 74 LS 157, c'est-à-dire un sélecteur de données/multiplexeur quadruple de deux lignes vers une ligne. Les broches 4, 7, 12, 9 indiquées forment une li- gne de sortie. Les broches 2, 5, 14, 11 forment la pre- mière ligne d'entrée. Les broches 3, 6, 13, 10 forment la deuxième ligne d'entrée. La broche 1 forme l'entrée de commande de sélection. C'est ainsi que l'élément 56 de la figure 3 est réalisé. En ce qui concerne des pro- priétés spécifiques des autres éléments du circuit, dans cette réalisation, l'élément 132 reçoit sur les entrées de données l'information (9-x), o x est la représentation décimale codée binaire normale du nombre attribut. La formation de ce complément à 9 s'effectue au moyen d'un composant du type 74 LS 04 et d'un autre composant du type 74 LS 283. L'utilisation de ces composants sera bien en- tendu décrite ci-après pour les éléments 158 et 134. L'élément 152 est un composant du type 74 LS 42. Il s'agit d'un décodeur binaire vers décimal (1:10). Les broches 12, 13, 14, 15 forment l'entrée décimale codée binaire. Les broches 1-7,. 9-11 forment la ligne de sortie 1:10. Cette description se rapporte à l'élément 118 de la figure 3. Les éléments 140, 142, 144 sont des composants du type 74 LS 169. Il s'agit de compteurs-décompteurs binaires fonctionnant de manière synchrone. La broche 7 est une entrée de validation (enable). La broche 1 est une entrée de commande de comptage/décomptage. La broche 2 est une entrée d'horloge. La broche 9 est une entrée de commande de charge. Les broches 1, 2, 9 sont connec- tées en parallèle pour tous les éléments 140, 142, La broche 7 forme chaque fois une entrée de sélection (d'adresse). Les broches 12, 13, 14 sont des sorties d'état de compteur (la broche 11 n'est pas utilisée dans cet exemple). Les broches 3, 4, 5, 6 sont les entrées de données; elles sont toujours pourvues de la valeur "0" de sorte que chaque compteur peut être ramené à zéro par un signal sur la broche 9. La broche 15 est la sortie pour un signal de sortie de tranfert; sa valeur indique si le compteur en question se trouve dans l'état zéro ou sur une autre valeur. La broche 10 concerne la deuxième entrée de validation (enable) qui est toujours activée par connexion à la masse. L'élément 138 est un composant du type 74 LS 04. Il s'agit d'un inverseur hexuple. Les broches 9, 11 sont des entrées. Les broches correspondantes 8, 10,... sont des sorties. Lorsque la série 144, 142,... est for- mée de dix éléments, deux d'entre eux sont nécessaires. * La sortie 8 concerne le bloc de mémoire qui doit être lu en dernier lieu et cette sortie ne doit, pour cette raison, pas être amenée à l'élément 136 mais peut être utilisée ailleurs (la sortie 12 de la plaque à circuit imprimé, sur laquelle le circuit de la figure 4 est appliqué). Les éléments 68 à 86 inclus sont ainsi décrits sur la fi- gure 3. L'élément 136 est un composant du type 74 LS 147. Il s'agit d'un codeur de priorité de dix lignes vers quatre lignes. Les broches 14, 6, 7, 9 sont destinées à un signal de sortie décimal codé binaire de 4 bits. Les broches 11, 12, 13, 1, 2, 3, 4, 5, 10 sont destinées dans cet ordre chaquefois à un signal d'entrée de 1 bit (ce composant ne peut donc recevoir que neuf signaux d'entrée pour le décodage). L'élément 134 est à nouveau un composant du type 74 LS 04. Les broches 1, 3, 5, 13 sont des entrées et les broches 2, 4, 6, 12 sont les sorties correspondan- tes. Cette description concerne l'élément 66 de la figu- re 3. Les éléments 146, 148, 150 sont des composants du type 74 LS 374. Il s'agit de bascules transparentes octuples du type D (transparent latches) associées à des bascules pilotées par les flancs pourvues de tampons de sortie triétats. Les broches 3, 4, 7 sont des entrées pour des signaux de données. Les broches 2, 5, 6 sont les sorties correspondantes pour des signaux de données. La broche 1 est destinée à un signal de commande de sortie. La broche 11 est destinée à un signal d'horloge. Lorsque la borne 1 est basse, les données d'entrée sont reprises sous la commande d'un flanc d'horloge montant et apparais- sent alors sur la sortie. Lorsque le signal d'horloge est bas, ces données restent disponibles sur la sortie. Lorsque la borne 1 est haute, les données stockées restent non modifiées et les sorties sont terminées par une haute impédance. Les éléments 88 à 106 inclus de la figure 3 sont réalisés de cette façon. L'élément 154 est un composant du type 74 LS 147 correspondant à l'élément 136. Dans ce cas, celui- ci fonctionne comme un codeur décimal codé binaire 1 de 10. Ce sont les propriétés spécifiques de ce codeur qui imposent l'amenée de l'information (9-x) sur le faisceau de lignes 130. L'élément 160 est un composant du type 74 LS 04. L'élément 156 est un composant du type 74 LS 373; il correspond pour une bonne partie au type 374 dé- crit plus haut, seul le stockage des données s'effectuant sous la commande d'un signal haut sur l'entrée de valida- tion (enable) 11: dans ce cas, ce stockage est aussi trans- parent vers la sortie. Lorsque le signal de commande de sortie est bas et que le signal de validation soit bas, le signal stocké reste disponible sans modification sur la sortie. Lorsque le signal de commande de sortie est haut,les sorties sont terminées par une haute impédance. Dans ce cas, la ligne de commande de sortie (non repré- sentée) est continuellement à un bas potentiel. L'élément 158 est un composant du type 74 LS 283. Il s'agit d'un additionneur complet binaire à 4 bits àsigal de transfert produit rapidement. Les quatre bits du premier opérande peuvent être reçus sur les broches 6, 1, 15, 11. Les quatre bits du deuxième opérande peu- vent être reçus sur les broches 5, 3, 14, 12. Au moyen de l'inversion dans l'élément 160, chaque nombre attribut ainsi lu peut être diminué d'une valeur fixe, par exemple de la valeur du nombre attribut qui appartient au premier mot de donnée qui est lu dans la mémoire 28 de la figure 2. Le nombre attribut le plus bas pour chaque cycle de lecture est de cette façon égal à zéro; ceci correspond, en effet, à la meilleure concordance entre (pour les déco- deurs vers la plus forte probabilité) des séries de codes sans perturbation et des séries de codes reçues en réali- té. La valeur absolue de la déviation n'intervient pas pour le triage. Les éléments 154, 156, 158, 160 ne sont pas représentés sur la figure 3, mais ils sont, en fait nécessaires pour calculer les valeurs relatives des nom- bres attributs et devraient donc être connectés dans le faisceau de lignes 120 sur la figure 3. Les sorties de l'élément 158 doivent alors former la ligne 58 sur la figu- re 3. Les éléments 60 et 62 de la figure 3 sont formés de la manière habituelle. La deuxième entrée 108 de l'é- lément 62 est formée sur la figure 4 par les lignes 19L, L et 21L. REVENDICATIONS 1. Dispositif permettant de trier rapidement un nombre prédéterminé de mots de données selon la valeur d'un nombre attribut spécifique appartenant à chaque mot de données,ces mots de données étant fournis successive- ment à une entrée (50), caractérisé en ce que, dans le cas de M valeurs possibles du nombre attribut et d'un ma- ximum de N mots de données d'une même valeur d'un nombre attribut, une mémoire répartie (28) en X blocs, chacun de N emplacements de mémoire, est présente, un dispositif de stockage est présent pour stocker un mot de donnée reçu dans le bloc adressé par la valeur du nombre attribut asso- cié et un dispositif de comptage (68... 86) est présent, pour chaque mot de donnée reçu, pour augmenter d'une unité un solde de comptage tenu à jour pour le bloc ainsi adressé et opérant comme adresse d'enregistrement à l'intérieur de ce bloc afin de signaler ainsi le nombre de mots de données contenus dans ce bloc, un dispositif de lecture est présent avec un dispositif déterminant la priorité (66) pour, sous la commande de tous les soldes de compta- ge qui indiquent un nombre de mots de données différent de zéro dans le bloc en question, détecter parmi ces blocs, celui du plus haut rang, et un générateur d'adresse de lecture (62) est présent pour, sous la commande du numéro d'ordre du bloc non vide du plus haut rang ainsi détecté et du solde de comptage associé, adresser un mot de donnée et, en outre, abaisser d'une unité le solde de comptage associé à ce bloc. 2. Dispositif suivant la revendication 1, ca- ractérisé en ce que pour la lecture d'un deuxième nombre prédéterminé de mots de données inférieur au premier nom- bre prédéterminé et pour la détermination à chaque fois d'une différence de nombre attribut, le dispositif de lec- ture, lors de la lecture du premier desdits mots de données, stocke le nombre attribut associé dans un registre arithmé- tique (156) dont une sortie est connectée à une unité ari- thmétique (158) et lors de la lecture des mots de données suivants, amène le nombre attribut directement à l'unité arithmétique pour former une différence à titre de nouveau nombre attribut.