Brevet FR2534044A1 — publié le 19840406

"Dispositif de triage intégré pour des mots de données ayant la forme d'un composant et processeur de traite- ment de données intégré pourvu d'un tel dispositif de triage coîntégré" La présente invention concerne un dispositif de triage destiné au triage rapide de mots de données, comportant une première entrée de données pour les mots de données, une mémoire dont une entrée d'adresse est alimentée par la première entrée de données et dont une entrée de données constituant une seconde entrée de données est activée, à la réception d'un mot de don- nées, pour stocker une représentation de ce mot de données, ce dispositif de triage comportant des moyens de commande de lecture pour lire les représentations stockées selon une séquence d'adresse et alors repré- senter à nouveau l'adresse de mémoire associée à chaque représentation sur une sortie de données Un tel dispositif est décrit dans la demande de brevet hollan- dais 8006163 (PHN 9889) plus ancienne de la Deman- deresse Le dispositif connu se prête cependant peu à une incorporation à titre de composant dans un système plus grand, par exemple dans un système d'ordinateur universel ou dans un ensemble en tant que processeur de traitement de données ayant la forme d'un circuit intégré L'invention a pour but précisément de procurer un tel composant qui puisse être incorporé d'une manière simple dans un système de mémoire à titre simplement de module remplissant un seul emplacement d'adresse L'invention réalise ce but par le fait qu'elle est caractérisée en ce que le dispositif de triage ayant la forme d'un circuit intégré comporte un bus bidirectionnel à titre de première entrée de données et de sortie de données, un registre de com- mande étant, en outre, connecté à ce bus pour recevoir des signaux de commande -d'effacement, des signaux de direction de séquence et des signaux de reposition- nement d'adresse, un commutateur est connecté au bus pour y appliquer, à titre de signaux d'état, un signal de fin et un signal de dépassement de capacité, un compteur pouvant être alimenté par un oscillateur est connecté au bus pour fournir, successivement sur la sortie du compteur les adresses -de la mémoire, ce compteur étant pourvu d'entrées pour recevoir les signaux de direction de séquence et de repositionnement d'adresse et d'une sortie supplémentaire pour le dit signal de fin, et ce compteur étant, en outre, pourvu d'un moyen de blocage pour, lors de la fourniture d'une adresse de mémoire qui indique une représentation valide dans la dite mémoire, bloquer, sous la commandé de la représentation, la poursuite du comptage des signaux d'oscillateur, et alors fournir un signal "prêt à la lecture" pour un dispositif d'utilisateur, ce dispositif de blocage comportant une entrée de reposi- tionnement pour faire cesser le dit blocage sous la commande d'un signal de lecture lors d'une lecture complète du contenu d'une adresse de mémoire, le dit dispositif de mémoire est pourvu, en outre, d'un élément à retard destiné à retarder un ordre d'écriture reçu et ensuite à effectuer temporairement une opéra- tion de lecture sous la commande d'un signal de sélec- tion de commutation (chip select), et un circuit de détection est présent pour former alors sélectivement le dit signal de dépassement de capacité sous la commande d'une représentation lue précédemment stockée et du dernier ordre d'écriture reçu L'utilisation d'un bus bidirectionnel, qui peut aussi être utilisé pour un certain nombre de signaux de commande et de signaux d'état, fournit précisément une adaptation particuliè- rement avantageuse à un tel système d'ordinateur Par le fait que, peu avant chaque opération d'écriture, une opération de lecture est, en outre, effectuée, un état de dépassement de capacité peut être facilement détecté. Il est avantageux d'utiliser un compteur de 2534044- représentations qui, en même temps qu'un signal de commande d'écriture, reçoive un signal d'incrêmentation et dont une sortie d'état de comptage puisse être couplée au dit bus bidirectionnel Un tel compteur de représentations peut retenir le nombre total de repré- sentations triées ce qui peut constituer une infor- mation utile pour un dispositif d'utilisateur, par exemple pour déterminer la quantité-d'espace de mémoire qui est nécessaire pour le stockage après l'opération de triage des mots de données triés (dans le dispositif de triage, la capacité de la mémoire n'est à peu près jamais utilisée de manière optimale et, de plus, par exemple la tâche "rechercher la valeur la plus grande à 7 unités près" ne peut -être exécutée que difficilement, car un stockage dans une mémoire directement adressable est plus avantageux à cet effet). Un deuxième bus bidirectionnel est avantageu- sement prévu pour, avec la dite mémoire et en même temps la dite représentation, communiquer un mot d'adresse indicateur pour une autre mémoire, l'accomo- dation présente étant suffisante pour le stockage de ce mot d'adresse indicateur pour chaque adresse de la dite première mémoire Un tel mot d'adresse indicateur fournit, par exemple, une adresse dans laquelle une quantité d'informations relativement grande est stockée Ainsi, par exemple, de longs mots-de données (par exemple d'une longueur de quatre bytes) ou même des blocs d'information peuvent être triés sur base d'arguments En ce qui concerne l'adresse indicatrice, un des mécanismes d'adressage bien connus peut, bien entendu, être mis en oeuvre indirectement ou d'une autre manière. La dite mémoire a avantageusement, pour chaque. adresse, une capacité d'au moins deux représentations et un circuit de commande de séquence est présent pour, 2534044- lors de l'écriture, remplir de manière séquentielle la capacité d'un emplacement d'adresse ou, lors de la lecture, la vider de manière séquentielle Il est ainsi possible de trier également des emplacements de mémoire comportant des mots de données pareils entre eux. Le dispositif de triage est avantageusement incorporé complètement dans un seul circuit intégré. Ceci donne un élément attrayant à loger dans un micro- ordinateur dit à carte unique. La présente invention concerne également un processeur de traitement de données intégré, caracté- risé en ce qu'un dispositif de triage pour le triage rapide de mots de données est co ntégré et comporte une première entrée de données pour les mots de données, une mémoire dont une entrée d'adresse est alimentée par la première entrée de données et dont une entrée de données constituant une seconde entrée de données est activée pour stocker une représentation de ce mot de données, le dispositif de triage comportant des moyens de lecture pour lire les représentations stockées selon une séquence d'adresse et représenter alors à nouveau l'adresse de mémoire associée à chaque représentation sur une sortie de données, le dispositif de triage comportant, à titre de première entrée de données et de sortie de données un bus bidirectionnel qui est con- necté à une des lignes omnibus internes du processeur de traitement de données et le dispositif de triage comportent, en outre, des entrées de commande destinées a recevoir des signaux de commande d'effacement, de direction de séquence et de repositionnement d'adresse, et des sorties de commande pour fournir, à titre de signaux d'état, un signal de fin et un signal de dépassement de capacité, étant entendu qu'un compteur pouvant être alimenté par un oscillateur est connecté au bus pour fournir sur la sortie de compteur successi- 2534044- vement les adresses de la mémoire, le compteur étant pourvu d'entrées destinées à recevoir les dits signaux de direction de séquence et de repositionnement d'adresse et d'une sortie supplémentaire pour le dit signal de fin, et ce compteur étant, en outre, pourvu d'un moyen de blocage pour, lors de la fourniture d'une adresse de mémoire qui indique une représentation valide dans la dite mémoire, bloquer, sous la commande de la représentation, la poursuite du comptage des signaux d'oscillateur et alors fournir un signal "prêt a la lecture", ce dispositif de blocage comportant une entrée de repositionnement pour, sous la commande d'un signal de lecture, faire cesser le dit blocage lors de la lecture complète du contenu d'une adresse de mémoire, le dispositif de mémoire est, en outre, pourvu d'un élément à retard pour retarder un ordre d'écriture reçu et alors, sous la commande d'un signal d'acti- vation, effectuer temporairement une opération de lecture, et un circuit de détection est présent pour former alors le dit signal de dépassement de capacité sous la commande de la représentation lue précédemment stockée et du dernier ordre d'écriture reçu sélec- tivement Il peut s'agir d'un microprocesseur univer- sel, mais aussi d'un processeur de traitement de données destiné à des applications spéciales A titre d'exemple, on peut citer un processeur de base de données (data base), un processeur de traitement de signaux et un processeur d'entrées-sorties Les fonc- tions de ces processeurs spécifiques ne sont pas uniques à cet effet, mais une otpimalisation a le plus souvent été effectuée pour adapter correctement le prix aux prestations La fonction de triage assure fréquem- ment une amélioration intéressante ou un élargissement des prestations. COURTE DESCRIPTION DES FIGURES. L'invention sera expliquée ci-après plus en détail avec référence aux figures des dessins annexés dans lesquels: la Fig 1 illustre un système de machine à calculer dans lequel un dispositif de triage rapide conforme à l'invention est incorporé; la Fig 2 est un schéma synoptique d'un dispositif de triage rapide conforme à l'invention; la Fig 3 illustre un dispositif de triage de conception multiple; la Fig 4 illustre un circuit plus élaboré d'un dispositif de triage; les Fig 5 a et 5 b illustrent une extension du circuit de la Fig 4 permettant de trier des mots de données pareils entre eux; la Fig 6 illustre un agencement géométrique d'un dispositif de triage à réaliser sous la forme d'un circuit intégré. DESCRIPTION D'UN SYSTEME DE MACHINE A CALCULER. La Fig 1 illustre un système de machine à calculer dans lequel un dispositif de triage rapide conforme à l'invention est incorporé Le système de machine à calculer comprend un processeur 20, par exemple un micro-ordinateur courant La communication interne dans le système de machine à calculer est assurée par un bus de données 32 d'une largeur, par exemple de 8 bits, un bus d'adresse 34 d'une largeur, par exemple de 16 bits, et un bus de commande 36 pour le transport de signaux de commande Pour plus de concision, la nature de ces signaux de commande n'est pas décrite ici et ne sera décrite plus loin que dans la mesure o la commande du dispositif de triage rapide l'exige Le système de machine à calculer comporte, en outre, une mémoire principale 22 d'une capacité, par exemple de 64 kbytes Comme expliqué ci-après, un des emplacements d'adresse est doublé par le dispositif de triage rapide et n'est donc pas utilisé dans la mémoire 22 Le système de machine à calculer comporte, en outre, un sous-système I/O 24 pour la communication avec le monde extérieur ou comme mémoire secondaire De ce sous-système peuvent donc faire partie une mémoire à disques magnétiques, un dispositif à clavier, une unité de communication de données et un dispositif de visua- lisation vidéo Les éléments de commande (control units) de la mémoire et du sous-système I/O ne sont pas représentés Wnfin, -le système de machine à calculer comporte un dispositif de triage rapide 26 Ce dispositif est connecté aux lignes omnibus respectives. A cet effet, est présent un décodeur d'adresse 30 qui est connecté au bus d'adresse 34 pour détecter une adresse de mémoire prédéterminée Un signal d'acti- vation est appliqué sur la ligne 42 à partir du bus de commande 36 Le dispositif de triage rapide est ainsi braqué (mapped) sur cette adresse de mémoire prédé- terminée Le signal d'activation est formé lorsqu'un accès à la mémoire (access) est réalisé Lorsque l'adresse de mémoire prédéterminée correspondante se trouve en effet sur le bus d'adresse, le décodeur 30 fournit un signal d'activation secondaire sur la ligne 38 au dispositif de triage rapide 26 de sorte qu'une action de lecture ou d'écriture peut y être effectuée. De plus, un tampon de données 28 -est présent et est connecté au bus de données 32 pour tamponner un mot de données dans deux directions Ce tampon peut être d'un type à trois états: les trois états sont l'état bas, l'état haut et l'état terminé par une haute impédance. Le tampon de données 28 est connecté par l'intermé- diaire du bus 40 au dispositif de triage rapide 26. Dans la pratique, le tampon de données 28 fait partie du dispositif de triage rapide 26 de sorte que, le cas échéant, tout le sous-système 26 + 28 + 40 ne forme qu'un seul circuit intégré Le signal sur la ligne 44 sert de signal de commande pour le tampon de données 28, par exemple de signal de commande de lecture/écriture Dans la réalisation représentée, un seul processeur 20 est présent Le système de machine à calculer peut, en outre, être réalisé pour effectuer plusieurs tâches en alternance rapide (multiprocessing) De plus, il peut être équipé d'un processeur distribué Ces possibilités ne sont pas décrites plus en détail lorsqu'elles n'ont aucune répercussion directe sur le dispositif de triage rapide Le circuit représenté peut être réalisé d'une manière telle que les sous-systèmes 20, 22, 24, 16, 30 forment autant de circuits intégrés Il est aussi possible de réaliser les sous-systèmes 20, 24, 26, 28 ensemble sous la forme d'un circuit intégré Finale- ment, l'ensemble du circuit représenté sur la Fig 1 peut être réalisé sous la forme d'un circuit intégré. Le processeur 20, intégré ou non avec des sous-systèmes 26, ( 28) peut être réalisé à la manière d'un micro- processeur universel, analogue à un micro-processeur " 2650 " de Signetics Corporation Il peut aussi s'agir d'un processeur de signaux du type du processeur 8 x 300 de la même firme Il peut, en outre, s'agir d'un processeur dit de base de données dont les fonctions principales sont le triage, la sélection, la combi- naison et l'examen de bases de données Ces dernières fonctions sont en elles-mêmes connues. DESCRIPTION DES FORMES D'EXECUTION. Quelques formes d'exécution préférées sont décrites ci-après et, tout d'abord au niveau du sys- tème, sous la forme d'un schéma synoptique, puis telles que réalisables, sous forme d'un certain nombre de composants logiques combinés en un "montage d'essai" (breadboard) et finalement, sous une forme schématique ayant la configuration d'un seul circuit intégré. La Fig 2 est un schéma synoptique d'un dispositif de triage rapide conforme à l'invention. Dans l'enveloppe classique 50 du bloc de circuit intégré se trouve l'élément de stockage 52 proprement dit Il s'agit d'une mémoire vive à accès sélectif et d'une capacité de 256 mots à 1 bit L'entrée d'adresse est connectée au bus interne bidirectionnel 54 qui a une largeur de 8 bits et qui est connecté au bus secondaire 40 indiqué sur la Fig 1 Trois lignes de commande d'entrée sont indiquées La ligne de commande 56 porte un signal de commande de lecture/écriture et est pilotée par la connexion correspondante du bus -36. La ligne de commande 56 porte un signal bivalent D/C qui indique si un mot apparaissant sur le bus 54 a la signification "donnée" -ou a la signification "mot de commande" Les deux significations peuvent être utili- sées pour les deux directions de transport La ligne de commande 60 porte un signal bivalent CS (chip select) qui indique si le dispositif de triage rapide a été sélectionné ou non Il s'agit donc, par exemple, du signal apparaissant sur la ligne 38 de la Fig 1. L'élément 62 est un décodeur de commande qui reçoit les signaux des lignes 56, 58, 60 et applique des signaux de commande aux autres éléments du dispositif de triage Pour plus de concision, des signaux d'horloge de synchronisation, le signal "chip -enable" qui libère le dispositif de triage, des signaux de colloque (handshake) et d'autres connexions de sortie du déco- deur 62 ne sont pas représentés Le dispositif de triage opère à présent comme suit sur des mots de données à l'écriture, un bit est stocké dans l'emplacement de la mémoire 52 adressé par les données; à la lecture, la position de comptage du compteur d'adresse 64 qui indique un emplacement d'adresse plein, est transmise sous la forme de données sur le bus 54 vers le dispositif de l'utilisateur; l'empla- cement d'adresse correspondant peut encore être effacé mais ceci n'est pas prévu dans cette réalisation. Le tout est réalisé de la manière suivante En premier lieu, un mot d'ordre est stocké dans le registre d'ordre ou de commande 66 qui est connecté au bus 54 Le registre 66 est chargé par un signal de commande de charge sur la ligne 68 qui est formé par le décodeur 62 Le registre d'ordre 66 fournit sur la ligne multiple 70 d'autres signaux de commande éven- tuellement au moyen d'un décodeur d'ordre non représenté Ceci concerne, par exemple, les signaux de commande: "effacement" (clear) du contenu de la mémoire; "repositionnement de l'indicateur" (reset pointer), notamment dans le compteur 64; "critère dé triage" (notamment suivant une grandeur croissante Ou décroissante), ainsi que, sur la ligne 72, un signal de sélection pour le multiplexeur 74 Ce dernier signal a au moins trois valeurs admissibles qui laissent passer vers le bus 54 respectivement les signaux sur la ligne multiple 76, les signaux sur la ligne multiple 78 et aucun de ces signaux Dans le cas des signaux précités, le critère de triage et le repositionnement de l'indicateur ne doivent être activés que lors du démarrage de l'opéra- tion de lecture. La mémoire 52 est adressée par les signaux sur le bus 54 L'entrée de données DIN est alimentée (inversée) par le signal "d'effacement" du registre d'ordre 66 qui régit l'effacement global (general reset) L'écriture peut ensuite commencer Le signal de validation d'écriture est prélevé sur le signal d'écri- ture (avec des "données' et le signal de sélection CS) qui est reçu par le décodeur 62 La raison d'être de l'élément à retard 80 sera expliquée plus loin Lors de l'écriture, le signal "effacementl' est égal à "zéro" de sorte qu'un " 1 ' est chaque fois stocké 256 mots (bytes) différents peuvent donc être triés sans que des pertur- bations apparaissent Lorsque deux bytes pareils sont reçus l'un après l'autre, il se produit cependant ce qui suit Lorsque le deuxième byte arrive, le même emplacement dans la mémoire 52 est à nouveau adressé. Le signal de commande d'écriture WEN est cependant retardé par l'élément à retard 80 d'un laps de temps qui est petit par rapport à la longueur d'un cycle de mémoire et, de cette façon, une opération de lecture est toujours effectuée en premier lieu Lorsque, dans ce cas, un emplacement de mémoire déterminé doit être rempli pour la deuxième fois, un " 1 " est tout d'abord lu et est stocké dans la bascule (bascule D) 82 sous la commande conjointe d'un signal de synchronisation non retardé sur la ligne 84 Un " 1 " sur la ligne 87 signale la présence d'un double et fonctionne donc comme signal de dépassement de capacité (OLBYT) Il est donc appli- qué en tant que bit d'état au moyen de la ligne multi- ple 76 au multiplexeur 74 (qui cependant est continuel- lement non passant au cours d'une opération d'écriture) Le signal sur la ligne 84 est, en outre, appliqué à l'entrée de comptage du compteur 86 qui, à condition qu'aucun double ne soit reçu, retient le nombre de bits " 1 "stockés dans la mémoire 52 Ce nombre peut être lu par l'intermédiaire du multiplexeur 74 et du bus 54 et peut être appliqué, par exemple, au multiplexeur 20 sur la Fig 1. A la lecture le signal "effacement" (clear) a la valeur 0 L'adressage s'effectue à présent cependant par le compteur d'adresses 64 tandis qu'à cause de l'absence d'un signal de commande d'écriture pour la mémoire 52, ses adresses sont lues successivement d'une manière non destructive L'incrèmentation du compteur d'adresses 64 est donc provoquée par les impulsions de l'oscillateur qui ont une fréquence plus élevée corres- pondant à la longueur d'un cycle d'accès à la mémoire (telle que déterminée par la mémoire 22 sur la Fig 1), par exemple, une fréquence l Ox supérieure Le cycle de lecture débute par le fait que le compteur 64 reçoit sur l'entrée 90 un signal "repositionnement de l'indi- cateur" et sur l'entrée 92 le "critère de triage". Lorsque le critère de triage est "en hausse", le compteur est mis à "zéro" Lorsque le critère de triage est en "baisse", le compteur 64 est mis à 255 " Les impulsions de l'oscillateur 88 agissent dans ces cas respectivement comme impulsions de comptage et comme impulsions de décomptage Aussi longtemps que la lecture se rapporte chaque fois à des emplacements de mémoire vides, rien ne se produit Cependant, dès que- la lecture porte sur un emplacement de la mémoire contenant un " 1 ", la bascule de comptage-décomptage 94 passe au comptage Le signal de sortie de cette bascule fonctionne alors en premier lieu comme signal de blocage pour le compteur 64 de sorte que ce dernier s'arrête De plus, ce même signal de lecture sur la sortie 96 sert de signal d'état prêt (RDY) dans lequel l'état du compteur 54 est disponible pour la lecture. Lorsque le signal de commande de lecture est ensuite reçu (RD), la bascule 94 est repositionnée et le compteur 94 peut continuer a compter jusqu'à ce qu'un emplacement d'adresse rempli soit à nouveau adressé. Lorsque le compteur 64 est plein ou vide, un signal de transfert de sortie apparaît sur la sortie 98 et coopère avec le signal de sortie de la sortie 86 de la bascule 82 à titre de signal d'état Ces signaux d'état peuvent être lus de même que l'état du compteur 86 par l'intermédiaire du multiplexeur 74. La Fig 3 illustre un dispositif de triage multiple dans lequel plusieurs bits peuvent être stockés à chaque adresse de mémoire Ces dispositifs de triage sont, pour une bonne part, connectés en paral- lèle et sont ainsi reliés à la ligne de données 106 ( 54), aux entrées de commande 108 ( 56), 110 ( 58) et 112 ( 60) et à la sortie de signalisation 114 ( 96) La signalisation interne est telle que décrite sur la Fig 2, tandis que les chiffres de référence correspon- dants sont également indiqués La ligne 114 forme au moyen de la résistance 116 connectée à une tension d'alimentation positive un circuit OU câblé; le signal "prêt" apparaît donc sur la sortie 114 lorsqu'un état "prêt| apparaît dans quelques-uns des dispositifs de triage connectés en parallèle. Le remplissage successif (tout d'abord du dispositif de triage 100, puis 102, 104) des emplace- ments de mémoire dans le cas d'adresses en double est assuré par un circuit de commande de séquence de la manière suivante -Sur la ligne 118 apparaît le signal "chip select" qui a été mentionné plus haut (entrée 60 sur la Fig 2) Le-signal DOUT (de la mémoire 52 sur la Fig 2) est dirigé vers l'extérieur sur la ligne bidirectionnelle 120 Lors de l'écriture, la direction de conduction est commandée de gauche à droite sur le dessin, par exemple par une commande correspondante de tampons de connexion dans les mémoires respectives 100 104 par le signal R/W A l'écriture, le signal agit sur la ligne 120 comme signal "chip select" pour le dispositif de triage 102, et ainsi de suite vers la droite Par les temps de-retardement normaux, un seul dispositif de triage tout au plus est inscrit à chaque cycle ad'criture Le signal de dépassement de capacité du dernier dispositif de triage 104 sur la ligne 124 sert à présent de signal de dépassement de capacité pour le-total. A la lecture, les dits tampons de connexion ne sont activés que de droite à gauche La lecture doit, dans ce cas, s'effectuer de manière destructive Le signal sur la ligne 124 pour le dispositif de triage 104 est alors maintenu à la valeur correcte par une source de signaux non représentée Le compteur 86 ne donne le nombre correct total d'adresses reçues que du dispositif de triage 100 La capacité du compteur doit parfois être adaptée, par exemple, par adjonction d'un bit d'état additionnel (ligne 76) à titre de bit de comptage supplémentaire plus significatif Le signal "lecture" est appliqué directement au dispositif de triage situé le plus à droite Seul le compteur d'adresses du dispositif de triage situé le plus à gauche est activé de sorte que tous les dispositifs de triage "voient" la même adresse par l'intermédiaire du bus 106 Lorsqu'un emplacement du dispositif de triage situé le plus à droite est rempli, ce dispositif fournit au moyen de -la bascule 94 le signal "prêt" (le compteur d'adresses est désactivé) Le signal inversé DOUT est à présent appliqué à titre de signal de validation CO au dispositif de triage situé immédia- tement à gauche de sorte que le dispositif de triage mentionné en dernier lieu n'est lu que lorsque toutes les unités situées plus à droite ont déjà été lues. La Fig 4 illustre un circuit plus élaboré d'un dispositif de triage et ce, au niveau d'un circuit dit "montage d'essai" qui est utilisé, en règle géné- rale, à la conception Les quantités nécessaires d'éléments logiques et de lignes de commande peuvent ainsi être facilement implantées Le circuit comporte un bus bidirectionnel 120 d'une largeur de 8 bits Ce bus est connecté par l'intermédiaire d'un circuit tampon 122 du type SN 74 S 244 (fabricant AMD Corpora- tion) à un deuxième bus 124 Le deuxième bus est connecté à l'entrée d'adresse de la mémoire 162 Le. tampon 122 qui ne fonctionne que dans un sens (voir pour les compteurs 130, 132) est activé par le signal IN 3 Ce dernier est un des signaux à fournir le déco- deur 62 de la Fig 2, mais ce décodeur est omis dans cette réalisation en vue d'améliorer les -possibilités de test La-mémoire 126 est du type D 2125 Hi (fabricant INTEL Corporation) L'élément 128 est un oscillateur du type 74 S 124 (fabricant Texas Instruments Corporation) dont une moitié seulement est utilisée Un condensateur de 22 p F permet de réaliser une fréquence d'oscillateur d'environ 10 M Hz L'oscillateur 128 entraîne deux compteurs à quatre bits 130, 132 connectés en série du type 74 S 169 (TI) et le signal de transfert de sortie ondulé du compteur 130 est appliqué au compteur 132 par l'intermédiaire de la porte OU 134 ( 74 S 32, fabriquée par Signetics Corporation, elle comporte quatre portes OU semblables) Le signal de transfert de sortie ondulé du compteur 132 est évacué par l'intermédiaire de la porte OU 136 (en 134) et de l'inverseur 13 S ( 74 504 Signetics qui comporte six inverseurs de ce genre) Le signal de comptage complet (et son inverse) est formé lorsque les, deux compteurssont remplis; ceci complète donc une opération de lecture: LSTBYT Par un autre signal du décodeur de commande OUT 3, les compteurs 130, 132 peuvent être chargés d'une position de comptage qui est présente sur le bus 120 Une adresse de départ quelconque peut ainsi être introduite de l'extérieur. Le signal RDY bloque le comptage des deux compteurs Le signal TC du compteur 130 intervient comme signal de validation pour amener le compteur 132 à ne continuer à compter qu'une seule unité (ensuite le signal TC disparaît). L'élément 140 est le registre d'ordre et est du type SN 74 LS 374 (AMD), qui est rythmé de manière horlogique par le signal OUT 2 Les signaux P/5, CLEAR, CRIT et un signal de sélection pour l'élément 142 sont ainsi formés Le signal P/D indique si un mot de 8 bits reçu se comporte comme une information indicatrice (pointer) ou comme un mot de données (data) Le signal CLEAR commande une opération d'effacement dans la mémoire 126 Le signal sur la sortie 2 commande l'élé- ment 142 L'élément 142 est un démultiplexeur du type SN 74 LS 257 (T I, deux éléments parallèles), qui est activé par le signal IN 2 Les entrées de droite reçoi- vent divers bits d'état tels que LSTBYT (inverseur 138), DOUT (mémoire 26) et OLBYT (bascule 158) Les entrées de gauche du démultiplexeur 142 sont alimentées par le compteur 144 Il s 'agit d'un compteur du type SN 74393 (T I) qui retient le nombre d'adresses reçues; en fait, il s'agit de deux compteurs à quatre bits connectés en cascade La porte OU 146 (comme la porte OU 134) forme le signal de retour à l'état initial inversé CLEAR a partir du signal D 2 de OUT 2 Ce signal est inverse par l'inverseur 148 (comme l'inver- seur 138) en signal de retour à l'état initial CLEAR ce qui permet le retour a zéro du compteur 144 L'entrée de comptage 13 est alimentée par le bit de sortie le moins significatif a trois près D 3, l'entrée de comp- tage 1 étant alimentée par un certain nombre d'éléments de commande présentant la configuration suivante. La porte OU 150 (de même que la porte OU 134) reçoit les signaux OUT 3 et P/r La valeur de ce dernier signal d'ordre indique si l'information à charger dans les compteurs 130 à 132 se rapporte à un indicateur (pointer) Un retard d'environ 150 nsec est établi par une résistance 152 et un condensateur 154 de valeurs adéquates La porte ET 156 est du type 74 S 08 (Signe- tics, ce composant comporte quatre portes ET) qui reçoit en même temps le signal CLEAR formé par la porte 146 La porte 156 forme ainsi le signal de validation d'écriture WE pour la mémoire 126 Le signal de sortie de la porte 156 sert de signal d'horloge pour la bascule JK 158 du type 174 S 112 (Signetics) Cette bascule reçoit le signal de données lu (représentation DOUT) de la mémoire 126, également par l'intermédiaire de l'inverseur 160 (comme l'inverseur 138) Le signal de dépassement de capacité OLBYT peut ainsi être formé. La bascule 158 est ramenée à l'état initial par le signal CLEAR Le signal de validation d'écriture WE est appliqué, en même temps que le signal qui indique l'état de non dépassement de capacité, à la porte ET 162 (comme la porte ET 156) Le signal de comptage pour le compteur 144 est alors formé au moyen de l'inverseur 144 (comme l'inverseur 138); lorsque le signal de dépassement de capacité est apparu, ce dernier compteur ne continue donc pas à compter; la réalisation est donc légèrement différente de celle de la Fig 2. Le signal "prêtl' RDY est formé de la manière suivante Sur l'entrée 166 parvient un signal de commande IN 3 qui, comme mentionné plus haut, est formé par un décodeur de commande, non représenté Ce signal est appliqué aussi bien directement que par l'intermé- diaire de l'inverseur 168 (comme l'inverseur 138) aux entrées de données respectives de la bascule JK 170 (moitié du composant du type 74 S 122, AMD) Cette bascule est synchronisée par le signal de sortie de l'oscillateur 128 Les sorties de la bascule 170 sont couplées par l'in Itermédiaire de la porte ET 174 (comme la porte ET 156) aux entrées de la bascule 176 (comme la bascule 170) La porte ET 174 reçoit également le signal DOUT Les bascules 170, 176 reçoivent le signal CLEAR comme signal de retour à l'état initial Finale- ment, la porte NON-ET 172 (le composant N 74510 de Signetics comporte trois portes de ce genre) est intercalée Cette porte reçoit encore un signal blo- quant LSTBYT, et le signal RDY commande encore égale- ment les compteurs 130, 132. Il est possible d'élargir la solution de la Fig 4 de telle sorte que l'on dispose d'une accomo- dation permettant de stocker des mots d'adresse indicateurs Deux possibilités sont alors présentes En premier lieu, une liaison de données d'une largeur de 16 bits peut être prévue, 8 bits étant utilisés comme adresse pour la mémoire 126 Les autres 8 bits sont alors utilisés pour une autre mémoire qui doit avoir une capacité de 256 mots à 8 bits et qui est adressée en même temps que la mémoire 126 mentionnée plus haut. La capacité de mémoire totale est donc de 256 mots à 9 bits Il est aussi possible de se contenter d'une liaison de données d'une largeur de 8 bits, mais dans ce cas les adresses pour la mémoire 126 et les mots d'adresse indicateurs doivent être introduits dans une organisation de multiplexage dans le temps Dans ce cas, il faut nécessairement disposer d'une bascule qui indique la phase du multiplex dans le temps, d'un multiplexeurdémultiplexeur travaillant dans les deux directions pour appliquer l'adresse actuelle ou le mot d'adresse indicateur à l'utilisateur correct et d'un registre pour stocker le mot d'adresse proprement dit pour la mémoire jusqu'à ce que le mot d'adresse indica- teur soit arrivé Le multiplexage d'adresse est en lui- même suffisamment connu au départ de la technique de mémoire RAM dynamique de 4 k et de 16 k Le mot d'adresse indicateur permet d'adresser un autre emplacement de mémoire, par exemple une table de segment L'accomo- dation supplémentaire peut aussi être utilisée pour stocker de l'information qui ne concerne pas les adresses Une mémoire de 9 bits de largeur permet alors de trier des mots de 16 bits selon une clef à 8 bits. Les Fig 5 a, 5 b illustrent une nouvelle extension du circuit de la Fig 4 grâce à laquelle il est possible de recevoir au maximum 16 mots -de données semblables et de retenir une indication de degré de remplissage sur l'adresse de mémoire correspondante La Fig 5 a illustre une première partie de l'extension. L'élément 142 est le multiplexeur déjà cité qui est, en outre, commandé comme le montre la Fig 4 Le compteur de total 144 présente à nouveau un couplage de réaction à l'entrée 13 L'entrée de comptage 1 est à présent cependant alimentée directement par la porte OU -184 (comme la porte OU 136 de la Fig 4) qui, pour le reste, reçoit les mêmes signaux d'entrée que la porte OU 150 sur la Fig 4 Il peut alors aussi s'agir de la porte OU 150 elle-même; dans ce cas, les éléments intermédiaires de la Fig 4 ne remplissent aucune fonction sous ce rapport Le signal de sortie de la porte 184 sert, en outre (WDATA) de signal de commande d'écriture pour l'information de données; ceci est donc utilisé dans, le circuit de la Fig 5 b De plus, le circuit comporte un deuxième compteur 186 (du même type que le compteur 144) qui est commandé par le bit le plus significatif sur la sortie du compteur 144 De ce composant, seul doit être utilisé 'un compteur binaire à 4 bits de sorte que sur la ligne 190 apparaissent les 4 bits les plus significatifs du nombre qui indique le nombre total d'éléments triés Les contenus des comp- teurs 144, 186 sont appliqués, si nécessaire, au bus dans une organisation de multiplexage dans' le temps A titre de tétrade la moins significative, la ligne 188 reçoit: le signal LSTBYT précité et les signaux DM, PULL décrits plus loin Les positions'de comptage des compteurs 144, 186 sont effacées en parallèle. La Fig 5 b illustre l'extension du stockage d'information proprement dit Ce stockage d'information s'effectue dans la mémoire 200 d'une capacité de 256 mots à 4 bits (quatre modules connectés en paral- lèle comme la mémoire 126) Pour l'écriture, comme décrit plus haut, une opération de lecture est tout d'abord effectuée de sorte que la tétrade adressée sur la ligne 202 apparaît et est appliquée à l'additionneur 204; dans cette réalisation il s'agit d'un compteur binaire à 4 bits du type SN 74 S 169 (T I) Le signal IN 3 est appliqué sur la broche 1 ( 1 pour écrire, O pour lire) et commande la direction de comptage La borne 2 porte le signal d'oscillateur, le signal sur la broche 9 commande la charge de la position de comptage, et les signaux sur les bornes 7 et 10 libèrent l'incré- mentation Sur la borne 15 apparaît un signal de transfert de sortie (qui sert de signal de dépassement de capacité) par l'intermédiaire de l'inverseur 206 (comme l'inverseur 138) qui bloque alors toute incré- mentation supplémentaire. Le compteur 204 est, par ailleurs, commandé de la manière suivante La porte ET 208 (comme la porte ET 156) reçoit les signaux IN 3 et WDATA (ces derniers du circuit de la Fig 5 a) Les deux bascules de données 210, 212 formant ensemble un composant du type 74 S 74, (T I) peuvent alors être activées sous synchronisation par le signal d'horloge établi pour le composant 214 Ce dernier composant est un registre à décalage à 4 bits à entrées/sorties parallèles Il fonctionne comme un compteur de programmation Par la charge, seul un signal bas est stocké sur l'entrée 4 et apparaît alors directement sur la sortie non connectée La commande du décalage est assurée par les impul- sions d'oscillateur qui sont inversées par l'inverseur 216 (comme l'inverseur 138) Les entrées JK sont activées par un signal haut ou un signal bas les sorties 14, 13, 12 du registre à décalage 214 sont ainsi successivement basses pour commander successi- vement la charge du compteur 204, son incrémen- tation/décrémentation et la réinscription des données modifiées dans la mémoire 200 Pour cette réinscrip- tion, on dispose encore d'une porte ET 218 (comme la porte ET 156) et d'une porte ET quadruple 216 (quatre fois une porte ET comme la porte ET 156 qui sont commandées en commun) Le signal de passage est le signal CLEAR Le repositionnement de la bascule 212-est assuré par le signal "prêt" (RDY) Les éléments de commutation 152, 154, 156, 158, 160, 162, 164 de la Fi 4 sont donc omis dans cette forme d'exécution Le registre à décalage 214 fonctionne à présent comme un élément à retard. -A la lecture, la plupart des évènements se déroulent comme décrit à propos de la Fig 4 L'infor- mation de sortie de la mémoire 200 est groupée dans trois portes OU 22-0, 222, 224 (comme la porte OU 136). Aussi longtemps que la tétrade n'a pas la valeur " 0 ", apparaît ici le signal D Mi O qui est mentionné sur la Fig 5 a Aussi longtemps que ce signal a la valeur " 1 " a la lecture, l'emplacement de mémoire adressé comporte encore au moins une représentation d'un mot de données. Sous la commande du signal IN 3, le signal DM est stocké dans la bascule JK 226 (comme la bascule JK ), à l'aide de l'inverseur 228 (comme l'inverseur 138) Par l'intermédiaire de la porte OU 230 (comme la porte OU 136) et de l'inverseur 232 (comme l'inverseur 138), deux signaux de commande sont encore formés Ces -signaux sont appliqués aux entrées de la bascule 170 de la Fig 4 (l'inverseur 232 est donc le même que l'in- verseur 168) Grâce à cela, chaque localisation d'adresse de la mémoire 200 est entièrement lue avant que le compteur d'adresses 130 continue à compter. La Fig 6 illustre une configuration géomé- trique d'un dispositif de triage réalisé sous la forme d'un circuit intégré et, en particulier, d'un dispo- sitif de triage selon l'extension traitée sur les Fig 5 a, 5 b La configuration à grande échelle des diverses parties est représentée, étant entendu que les composants libres des figures précédentes, s'appliquent au nombre de portes et d'éléments analogues mis en oeuvre dans ces parties respectives La ligne poin- tillée indique le bord de la puce ("chip") De telles puces sont séparées sur une plaquette par une piste rayée de 100 microns de largeur; le rayage permet de réaliser une séparation après les phases d'intégration. La flèche 252 indique une distance de 500 microns Le bloc 254 indique une mémoire de 32 x 32 cellules à 1000 microns 2 et donne donc une superficie de 1 mmn 2. L'organisation peut être telle qu'indiquée sur la Fig 5 b ( 256 x 4) La mémoire peut être réalisée selon une technologie MOS conventionnelle Les compteurs 144, 186 comprennent (bloc 256) environ 100 équivalents de portes Le multiplexeur 142 comprend environ 24 équiva- lents de portes (bloc 258) Le compteur 204 et le circuit de programmation 214 associé comprennent environ 130 équivalents de portes (bloc 260) Le tampon 122 comprend environ 10 équivalents de portes (bloc 262) Le registre de commande 140 comprend environ équivalents de portes (bloc 264) L'oscillateur 128 comprend environ 10 équivalents de portes (bloc 266). De plus, on trouve une unité de commande qui comporte un certain nombre d'inverseurs, de bascules et d'autres portes qui sont représentées dans les figures respectives Ces éléments sont groupés dans l'unité de commande -268 (environ 45,équivalents de portes) On dispose ainsi au total d'environ 430 équivalents de portes à 3000 microns 2 donnant une superficie totale de 1,3 mm 2 De plus, la puce comporte 16 pattes de jonction à 100 x 1 00 microns pour la fixation thermique de fils conducteurs vers l'extérieur (les carrés prévus sur les bords respectifs) Ces seize pattes sont alors respectivement réservées à des bus de données à huit bits, les signaux de commande R/W, D/C, CS, le signal prêt RDY, le signal de dépassement de capacité FULL, - le signal de retour à l'état initial CLEAR,. deux tensions d'alimentation. Les espaces entre les blocs groupés respectifs sont disponibles pour des lignes de connexion La largeur de ligne est de 5 microns et une surface d'environ 1,7 mm 2 est suffisante pour l'assortiment de pattes de jonction, pour le câblage et pour les zones marginales inutilisées Dans la réalisation repré- sentée, la superficie totale est de 2,05 x 2,24 = 4,6 mm 2. Ceci s'ajuste dans une enveloppe en matière plastique ou en matière céramique classique Lorsque le dispo- sitif de triage est formé en même temps qu'un autre dispositif de traitement de données, par exemple un processeur, en un seul composant intégré, quelques éléments peuvent être supprimés En effet, les pattes de jonction ne sont alors pas directement nécessaires parce que des données, des adresses de même que des signaux de commande peuvent être communiqués a ce processeur Le montage global comportera habituellement un nombre de pattes de jonction plus élevé (par exemple des données de 8 bits, des adresses de 16 bits, des lignes d'amenée de tension, des lignes de commande, donc normalement 40 ou -mêe davantage) De plus, on peut utiliser l'oscillateur central du processeur. R E V E N D I C A T I O N S 1. Dispositif de triage destiné au triage rapide de mots de données, comportant une première entrée de données ( 54) pour les mots de données, une mémoire ( 52) dont une entrée d'adresse est alimentée par la première entrée de données et dont une entrée de données (DIN) constituant une seconde entrée de données est activée, à la réception d'un mot de données, pour stocker une représentation de ce mot de données, ce dispositif de triage comportant des moyens de commande de lecture pour lire les représentations stockées selon une séquence d'adresse et alors représenter à nouveau l'adresse de mémoire associée à chaque représentation (DOUT) sur une sortie de données, caractérisé en ce qu'il a la forme d'un circuit intégré et comprend un bus bidirectionnel à titre de première entrée de données et de sortie de données, un registre de com- mande ( 66) étant, en outre, connecté à ce bus pour recevoir des signaux de commande d'effacement, des signaux de direction de séquence et des signaux de repositionnement d'adresse, un commutateur ( 74) est connecté au bus -pour y appliquer, à titre de signaux d'état, un signal de fin et un signal de dépassement de capacité, un compteur ( 64) pouvant être alimenté par un oscillateur ( 88) est connecté au bus pour fournir, successivement, sur la sortie du compteur, les adresses de la mémoire, ce compteur étant pourvu d'entrées pour recevoir les signaux de direction de séquence ( 92) et de repositionnement d'adresse ( 98) et d'une sortie supplémentaire pour le dit signal de fin, et ce comp- teur étant, en outre, pourvu d'un moyen de blocage ( 94) pour, lors de la fourniture d'une adresse de mémoire qui indique une représentation valide dans la -dite mémoire, bloquer, sous la commande de la représen- tation, la poursuite du comptage des signaux d'oscil- lateur et alors fournir un signal "prêt à la lecture" pour un dispositif d'utilisateur, ce dispositif de blocage comportant une entrée de repositionnement (R) pour faire cesser le dit blocage sous la commande d'un signal de lecture lors d'une lecture complète du contenu d'une adresse de mémoire, le dit dispositif de mémoire est pourvu, en outre, d'un élément à retard ( 80) destiné à retarder un ordre d'écriture reçu et ensuite à effectuer temporairement une opération de lecture sous la commande d'un signal de sélection de commutation (chip select) et un circuit de détection ( 82) est présent pour former alors sélectivement le dit signal de dépassement de capacité (OLBYT) sous la commande d'une représentation lue précédemment stockée et du dernier ordre d'écriture reçu. 2. Dispositif de triage suivant la revendica- tion 1, caractérisé en ce qu'un compteur de représen- tations ( 86) est présent, ce compteur recevant un signal d'incrémentation en même temps qu'un signal de commande d'écriture et une sortie de position ou d'état de comptage ( 78) de ce compteur pouvant être couplée au dit bus bidirectionnel. 3. Dispositif de triage suivant la revendica- tion 1 ou 2, caractérisé en ce qu'un deuxième bus bidirectionnel est prévu pour, avec la dite mémoire et en même temps la dite représentation, communiquer un mot d'adresse indicateur pour une autre mémoire, l'accomodation présente étant suffisante pour le stockage de ce mot d'adresse indicateur pour chaque adresse de la mémoire mentionnée en premier lieu. 4. Dispositif de triage suivant la revendica- tion 1 ou 2, caractérisé en ce que la dite mémoire a, pour chaque adresse, une capacité d'au moins deux représentations et un circuit de commande de séquence ( 204) est présent pour, lors de l'écriture, remplir de manière séquentielle la capacité d'un emplacement d'adresse ou, lors de la lecture, la vider de manière séquentielle. 5 Dispositif de triage suivant la revendica- tion 1, 2, 3 ou 4, caractérisé en ce qu'il est incor- poré entièrement dans un seul circuit intégré. 6. Processeur de traitement de données intégré, caractérisé en ce qu'un dispositif de triage pour le triage rapide de mots de données est co ntégré et comporte une première entrée de données pour les mots de données, une mémoire ( 254) dont une entrée d'adresse est alimentée par la première entrée de données et dont une entrée de données constituant une seconde entrée de données est activée pour stocker une représentation de ce mot de données, le dispositif de triage comportant des moyens de lecture pour lire les représentations stockées selon -une séquence d'adresse ( 260) et représenter alors à nouveau l'adresse de mémoire associée à chaque représentation sur une sortie de données, le dispositif de triage comportant, à titre de première entrée de données et de sortie de données, un bus bidirectionnel qui est connecté à une des lignes omnibus internes du processeur de traitement de données et le dispositif de triage comporte, en outre, des entrées de commande destinées à recevoir des signaux de commande d'effacement, de direction de séquence et de repositionnement d'adresse et des sorties de commande pour fournir, à titre de signaux d'état, un signal de fin et un signal de dépassement de capacité, étant entendu qu'un compteur ( 260) pouvant être alimenté par un oscillateur, est connecté au bus pour fournir sur la sortie du compteur successivement les adresses de la mémoire, le compteur étant pourvu,d'entrées destinées à recevoir les dits signaux de direction de séquence et 2 534044 de positionnement d'adresse et d'une sortie supplémen- taire pour le dit signal de fin, et ce compteur étant, en outre, pourvu d'un moyen de blocage pour, lors de la fourniture d'une adresse de mémoire qui indique une représentation valide dans la dite mémoire, bloquer, sous la commande de la représentation-, la poursuite du comptage des signaux d'oscillateur et alors fournir un signal "prêt à la lecture", ce dispositif de blocage comportant une entrée de repositionnement pour, sous la commande d'un signal de lecture, faire cesser le dit blocage lors de la lecture complète du contenu d'une adresse de mémoire, le dispositif de mémoire est, en outre, pourvu d'un élément à retard pour retarder un ordre d'écriture reçu et alors, sous la commande d'un signal d'activation, effectuer temporairement une opération de lecture, et un circuit de détection est présent pour former alors le dit signal de dépassement de capacité sous la commande de la représentation lue précédemment stockée et du dernier ordre d'écriture reçu sélectivement.