FR2494009A1 - Dispositif pour trier des mots de donnees selon les valeurs de nombres attributs qui leur appartiennent - Google Patents

Dispositif pour trier des mots de donnees selon les valeurs de nombres attributs qui leur appartiennent Download PDF

Info

Publication number
FR2494009A1
FR2494009A1 FR8121064A FR8121064A FR2494009A1 FR 2494009 A1 FR2494009 A1 FR 2494009A1 FR 8121064 A FR8121064 A FR 8121064A FR 8121064 A FR8121064 A FR 8121064A FR 2494009 A1 FR2494009 A1 FR 2494009A1
Authority
FR
France
Prior art keywords
block
data
data words
reading
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8121064A
Other languages
English (en)
Other versions
FR2494009B1 (fr
Inventor
Theodorus Gerardus Joh Martens
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of FR2494009A1 publication Critical patent/FR2494009A1/fr
Application granted granted Critical
Publication of FR2494009B1 publication Critical patent/FR2494009B1/fr
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/226Priority queue, i.e. 1 word in, 1 word out sorter; Output word, i.e. min or max of words in memory

Abstract

DISPOSITIF PERMETTANT DE TRIER RAPIDEMENT UN NOMBRE PREDETERMINE DE MOTS DE DONNEES SELON LA VALEUR D'UN NOMBRE ATTRIBUT SPECIFIQUE APPARTENANT A CHAQUE MOT DE DONNEE. AU MAXIMUM M VALEURS DU NOMBRE ATTRIBUT SONT ADMISES ET N MOTS DE DONNEES PRESENTANT UNE MEME VALEUR DU NOMBRE ATTRIBUT. DANS UNE MEMOIRE 28 PRESENTE, M BLOCS, CHACUN DE N EMPLACEMENTS DE MEMOIRE, SONT RESERVES ET, POUR CHAQUE BLOC, UN COMPTEUR 68 ... 86 QUI ADRESSE UNE SOUS-ADRESSE A L'INTERIEUR DU BLOC. LA VALEUR DU NOMBRE ATTRIBUT INDIQUE L'ADRESSE DE BLOC LORS DE L'ENREGISTREMENT; POUR L'ENREGISTREMENT, L'ETAT DU COMPTEUR ASSOCIE A CE BLOC EST AUGMENTE D'UNE UNITE. UN DISPOSITIF DETERMINANT LA PRIORITE 66 EST PREVU ET, LORS DE LA LECTURE SOUS LA COMMANDE DE TOUS LES SOLDES DE COMPTAGE QUI INDIQUENT UN NOMBRE DE MOTS DE DONNEES DIFFERENT DE ZERO DANS LE BLOC EN QUESTION, IL ADRESSE PARMI CES BLOCS, CELUI DONT LE RANG EST LE PLUS ELEVE. APRES LA LECTURE, L'ETAT DE COMPTEUR DU BLOC LU EST DIMINUE D'UNE UNITE. UNE FRACTION PREDETERMINEE DES MOTS DE DONNEES PRESENTANT, PAR EXEMPLE, LES VALEURS LES PLUS BASSES DES NOMBRES ATTRIBUTS PEUT, DE CETTE FACON, ETRE DETECTEE.

Description

"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.

Claims (2)

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.
FR8121064A 1980-11-12 1981-11-10 Dispositif pour trier des mots de donnees selon les valeurs de nombres attributs qui leur appartiennent Granted FR2494009A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8006163A NL8006163A (nl) 1980-11-12 1980-11-12 Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen.

Publications (2)

Publication Number Publication Date
FR2494009A1 true FR2494009A1 (fr) 1982-05-14
FR2494009B1 FR2494009B1 (fr) 1984-07-13

Family

ID=19836155

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8121064A Granted FR2494009A1 (fr) 1980-11-12 1981-11-10 Dispositif pour trier des mots de donnees selon les valeurs de nombres attributs qui leur appartiennent

Country Status (6)

Country Link
US (1) US4570221A (fr)
JP (1) JPS57114940A (fr)
DE (1) DE3144563A1 (fr)
FR (1) FR2494009A1 (fr)
GB (1) GB2088600B (fr)
NL (1) NL8006163A (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2534044A1 (fr) * 1982-10-04 1984-04-06 Philips Nv Dispositif de triage integre pour des mots de donnees ayant la forme d'un composant et processeur de traitement de donnees integre pourvu d'un tel dispositif de triage cointegre

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043782A (ja) * 1983-08-19 1985-03-08 Hitachi Ltd 整合結果分類装置
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
US5179717A (en) * 1988-11-16 1993-01-12 Manco, Ltd. Sorting circuit using first and last buffer memories addressed by reference axis data and chain buffer memory addressed by datum number of the first and last buffer memories
JPH02289005A (ja) * 1989-03-17 1990-11-29 Matsushita Electric Ind Co Ltd 計数情報の整列処理方式
US5222243A (en) * 1990-02-09 1993-06-22 Hewlett-Packard Company Sorting apparatus having plurality of registers with associated multiplexers and comparators for concurrently sorting and storing incoming data according to magnitude
US5369762A (en) * 1990-06-28 1994-11-29 Wolf; William M. Method for sorting data in a computer at high speed by using data word values for address locations
US5465371A (en) * 1991-01-29 1995-11-07 Ricoh Company Ltd. Sorter for sorting data based on a plurality of reference value data
US5704057A (en) * 1992-10-01 1997-12-30 The United States Of America As Represented By The Secretary Of The Navy Real-time data sorter
US20020069217A1 (en) * 2000-12-04 2002-06-06 Hua Chen Automatic, multi-stage rich-media content creation using a framework based digital workflow - systems, methods and program products
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
KR102182368B1 (ko) * 2013-12-19 2020-11-24 에스케이하이닉스 주식회사 어드레스 검출회로 및 이를 포함하는 메모리
CN112986599B (zh) * 2021-02-24 2023-10-17 杭州海世嘉生物科技有限公司 一种应用于病理组织切片的自动分类排列方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3274563A (en) * 1963-07-02 1966-09-20 Ibm Sorter system
US3568155A (en) * 1967-04-10 1971-03-02 Ibm Method of storing and retrieving records
US3760356A (en) * 1971-12-17 1973-09-18 Honeywell Inf Systems Technique for determining the extreme binary number from a set of binary numbers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3514760A (en) * 1967-09-13 1970-05-26 Stanford Research Inst Sorting array ii
NL7010586A (fr) * 1970-07-17 1972-01-19
US3714634A (en) * 1971-01-07 1973-01-30 Dirks Electronics Corp Method and system for sorting without comparator
US3794981A (en) * 1972-06-02 1974-02-26 Singer Co Realtime computer operation
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
GB1467037A (en) * 1973-07-18 1977-03-16 Siemens Ag Electronic data storage systems
US3944985A (en) * 1973-10-19 1976-03-16 Texas Instruments Incorporated Workspace addressing system
US3931612A (en) * 1974-05-10 1976-01-06 Triad Systems Corporation Sort apparatus and data processing system
US4295206A (en) * 1979-06-06 1981-10-13 Ncr Canada Ltd.-Ncr Canada Ltee Document sorting method
US4319355A (en) * 1979-12-28 1982-03-09 Compagnia Internationale Pour L'informatique Method of and apparatus for testing a memory matrix control character
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3274563A (en) * 1963-07-02 1966-09-20 Ibm Sorter system
US3568155A (en) * 1967-04-10 1971-03-02 Ibm Method of storing and retrieving records
US3760356A (en) * 1971-12-17 1973-09-18 Honeywell Inf Systems Technique for determining the extreme binary number from a set of binary numbers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 15, no. 10, mars 1973, NEW YORK (US) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2534044A1 (fr) * 1982-10-04 1984-04-06 Philips Nv Dispositif de triage integre pour des mots de donnees ayant la forme d'un composant et processeur de traitement de donnees integre pourvu d'un tel dispositif de triage cointegre

Also Published As

Publication number Publication date
DE3144563A1 (de) 1982-08-19
JPS57114940A (en) 1982-07-17
GB2088600B (en) 1985-02-06
JPS6360416B2 (fr) 1988-11-24
US4570221A (en) 1986-02-11
NL8006163A (nl) 1982-06-01
FR2494009B1 (fr) 1984-07-13
GB2088600A (en) 1982-06-09
DE3144563C2 (fr) 1991-02-28

Similar Documents

Publication Publication Date Title
FR2494009A1 (fr) Dispositif pour trier des mots de donnees selon les valeurs de nombres attributs qui leur appartiennent
EP0821493B1 (fr) Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
FR2645663A1 (fr) Procedes et circuits pour gerer une pile en memoire
FR2464524A1 (fr) Procede et dispositif de calcul d'affranchissements interieurs et internationaux
CH616252A5 (fr)
FR2522157A1 (fr) Circuit de calcul rapide de la transformee de fourier discrete d'un signal, destine notamment a un appareil de controle par courants de foucault
KR850007176A (ko) 코드 심볼 디코더와 광 판독가능 기록 캐리어 및 정보매체 플레이어
FR2486334A1 (fr) Procede pour numeriser un signal video discret dans le temps avec utilisation d'une transformation d'image
NL8302214A (nl) Dekodeerinrichting voor het dekoderen van kodewoorden die bloksgewijs middels een reed-solomon-code tegen meerdere symboolfouten per blok beschermd zijn, en uitleesinrichting voor optisch uitleesbare opslaglichamen welke uitleesinrichting voorzien is van zo een dekodeerinrichting.
FR2673341A1 (fr) Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees.
BE897587A (fr) Circuit parallele de controle de redondance cyclique
EP0553050B1 (fr) Procédé de décodage à maximum de vraisemblance à treillis de décodage sous-échantillonné, et dispositif de décodage correspondant
EP0166838B1 (fr) Procédé et dispositif pour détecter une configuration de bits particulière dans un train de bits en série
EP0204612B1 (fr) Procédé de transmission, avec possibilité de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé
FR2885708A1 (fr) Dispositif et procede pour determiner une position d'une erreur de bit dans une sequence de bits
EP0338899B1 (fr) Procédé de codage et de décodage d'informations, par blocs, et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé
EP0463598A1 (fr) Circuit de décodage de codes convolutionnels pour l'exécution de l'étape de stockage et d'exploration inverse des chemins survivants d'un algorithme de viterbi
EP0394115B1 (fr) Dispositif d'accélération des accès mémoire dans un système informatique
EP0924627A1 (fr) Processeur de calcul d'une transformation rapide de Fourier à architecture dite "pipelinée"
WO1999048216A1 (fr) Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
EP0020185A1 (fr) Procédé et dispositif d'addition, de manière parallèle-série d'un grand nombre de mots
FR2538928A1 (fr) Unite de traitement de donnees pourvue d'une section de commande qui comporte un generateur d'adresses destine a produire des adresses composees de parties d'adresses caracteristiques
EP1326345A1 (fr) Turbo-décodeur compact à haute efficacité
FR2773284A1 (fr) Circuit de calcul de polynome de syndrome et un circuit de decodage reed-solomon
EP0353826B1 (fr) Dispositif de codage statistique pour fournir des mots de code comportant un nombre variable d'éléments binaires

Legal Events

Date Code Title Description
ST Notification of lapse