Brevet FR2135215A1 — publié le 19721215

Une mémoire associative classique est un dispositif d'emmagasinage de données numériques dans lequel les contenus de tous les articles de données mises en mémoire peuvent être comparés simultanément à un argument de recherche unique, ou "terme de comparaison". Les éléments binaires du secteur de données sont examinés un par un mais, pour chacune de ces positions d'éléments binaires, tous les articles de données mémorisées sont examinés en parallèle. La mémoire associative à termes de comparaison multiples qui sera décrite ci-après est une extension du principe de cette mémoire associative classique et qui permet l'utilisation de plus d'un terme de comparaison à la fois. L'opération de comparaison est séparée en plusieurs phases pour chaque position d'élément binaire examinée ce qui prend davantage de temps qu'en nécessiterait une recherche à un seul terme de comparaison. Mais ce temps supplémentaire est constant pour chaque type particulier de recherche, quel que soit le nombre de termes de comparaison considérés. Si £ termes de comparaison doivent être utilisés pour rechercher un secteur de données comportant b éléments binaires, le temps nécessaire à une mémoire associative classique est proportionnel à c* b. Le temps correspondant nécessaire à une mémoire associative à termes de comparaison multiples est n#b, n étant une constante déterminée par la complexité de la recherche effectuée et par la réalisation des circuits utilisés. (Pour une simple recherche logique, n peut être aussi petit que 4. Une valeur raisonnable de n dans la plupart des recherches courantes peut être 10). La mémoire associative à termes de comparaison multiples est plus rapide que la mémoire associative classique, chaque fois que le nombre (c) de termes de comparaison est supérieur à n. La valeur de n est la plus petite lorsqu'une seule recherche simple est imposée sur tous les termes de comparaison. Si une recherche plus complexe est effectuée ou si plusieurs recherches différentes mélangées sont effectuées simultanément, n est nécessairement plus grand. Suivant la réalisation des circuits, le terme de comparaison et les articles de données peuvent être mis en mémoire dans des zones de mémoire complètement séparées, ou dans des parties séparées d'une zone commune. Afin d'être plus générale, la présente description sera faite en supposant une zone commune. Chaque article de donnée doit être associé à un groupe 72 15529 2 2135215 d'éléments binaires de référence correspondant à chaque terme de comparaison. Le résultat semblable/différent de chaque comparaison de la recherche sera contenu dans ces éléments binaires de référence à la fin de la recherche. (Au cours de la présente 5 description, il sera supposé que chaque terme de comparaison est également associé à un groupe identique de ces éléments binaires de référence, bien que certaines des opérations qui seront décrites puissent être effectuées sans eux). La vitesse de fonctionnement est considérablement 10 influencée par les possibilités d'écriture dans ces éléments binaires de référence, que possèdent les circuits. Ces éléments binaires doivent être écrit^épétitivement et des groupes sélectionnés de références doivent être écrits simultanément en parallèle dans des groupes de mots sélectionnés. En outre, cette 15 "Ecriture multiple en parallèle" peut, de diverses manières, prendre la forme d'une opération "Et avec, la mémoire" ou "OU avec la. mémoire". En général, ces conditions peuvent être satisfaites par les procédés à "coïncidence de courant", s'ils permettent d'attaquer plus d'une colonne et plus d'une ligne en parallèle. 20 La présente invention concerne donc un procédé de recherche de contenus adressés entre deux corps étendus de données. L'invention concerne également un procédé de recherche indépendant du nombre d'articles de l'un ou l'autre des corps de données et qui n'est proportionnel qu'au nombre d'élé-25 ments binaires par article de. données. D'autres caractéristiques de l'invention apparaîtront au cours de la description qui va suivre. Aux dessins annexés, donnés uniquement à titre d'exemples : 50 la Pig. 1 représente-le schéma synoptique d'un premier mode de réalisation d'un dispositif de traitement associatif susceptible d'effectuer les opérations de recherche selon 1'invention, la Fig. 2 représente le schéma synoptique d'un 35 second mode de réalisation d'un dispositif de traitement associatif susceptible d'effectuer les opérations de recherche selon l'invention et, la Fig. 3 est un graphe illustrant la définition des positions d'impulsions dans le temps. 40 Du fait que toutes les recherches sont effectuées 72 15529 3 2135215 élément binaire par élément binaire, chaque comparaison individuelle (d'un terme de comparaison avec un article de donnée, à une position d'élément binaire dans la séquence), consiste simplement en une comparaison entre deux éléments binaires. Puisque 5 chaque élément binaire ne peut avoir que deux valeurs possibles, seuls les quatre cas ci-après peuvent se présenter ; 00 - Les éléments binaires du terme de comparaison et de la donnée sont tous deux ZERO. 01 - L'élément binaire du terme de comparaison est 10 ZERO et celui de la donnée est UN. 10 - L'élément binaire du terme de comparaison est UN et celui de la donnée est ZERO. 11 - Les éléments binaires du terme de comparaison et de la donnée sont tous deux UN. 15 Si toutes les paires : terme de comparaison/donnée sont examinées, chacune d'entre elles doit correspondre à l'un des cas ci-dessus. Les éléments binaires de référence correspondant à ces paires ont été répartis en quatre catégories. Si chacune de ces catégories d'éléments binaires de référence pouvait 20 être sélectionnée d'une manière ou d'une autre pendant qu'une opération logique appropriée au cas de comparaison correspondant est effectuée simultanément sur toutes ces références sélectionnées, une recherche entière serait faite en quatre phases par position d'élément binaire. 25 Mais dans toute recherche réelle, l'un au moins des quatres cas doit spécifier l'opération logique "nulle" , c'est à dire, "ne rien faire du tout". Dans ce cas, bien entendu, il n'est même pas nécessaire dp sélectionner les éléments binaires de référence correspondants.. La plupart des recherches sinon tou- ^ tes traitent deux et même trois cas de cette manière. Il est clair que les quatre cas ne doivent être réellement traités que lorsque plusieurs recherches différentes mélangées qui nécessitent collectivement les quatre cas actifs sont effectuées ensembles. Toutes les règles de recherche qui peuvent être 35 appliquées dans cette technique peuvent être généralisées de la manière ci-après (des aspects spécifiques de chaque recherche sont donnés dans les tableaux I et II) : - Chaque comparaison individuelle est effectuée entre un élément binaire du terme de comparaison et un élément 72 15529 4 2135215 binaire de donnée, les deux secteurs comportant le même nombre d'éléments binaires. - Un secteur de masque, de la même longueur que les secteurs de données, peut être associé ou non au terme de compa- 5 raison, à l'article de donnée, ou aux deux. Le masque, s'il existe, sert à-déterminer à chaque position d'élément binaire, si une comparaison doit avoir lieu. Si un élément binaire ZERO se trouve dans le masque du terme de comparaison, ou dans le masque de l'article de donnée, l'unique comparaison d'éléments binaires 10 correspondants doit être ignorée dans cette paire d'articles. - Un élément binaire de référence individuel est associé à chaque comparaison. Toutes les références associées à un mot donné sont considérées comme faisant partie de ce mot et toutes les références associées à un terme de comparaison par- 15 ticulier se trouvent dans une position d'élément binaire corresî-pondante de chaque mot (les Fig. 1 et 2 montrent cet agencement de mise en mémoire). - Lorsqu'un mélange d'opérations de recherche est autorisé, un secteur de code doit être associé à chaque terme de 20 comparaison. Le code contenu dans ce secteur spécifie l'opération qui est utilisée avec chaque article de comparaison correspondant. - Avant d'effectuer toute comparaison, les valeurs des éléments binaires de référence peuvent être initialisées ou non à UN ou à ZERO. (Pour toute référence non initialisée, le 25 résultat des recherches précédentes représentées par l'ancien contenu de la référence a une Influence sur le résultat de la recherche en cours). - Pendant la recherche suivante, les positions d'éléments binaires correspondantes de tous les articles de données, 30 des articles de terme de comparaison (et des secteurs de masque s'ils sont utilisés), sont comparés entre eux, en commençant par la position la moins significative, et en poursuivant jusqu'à la position la plus significative. Toutes les phases successives s'appliquent séparément à chacune de ces positions d'élément 35 binaire ; la valeur qui subsiste dans les éléments binaires de référence lorsque la dernière position a été traitée, constitue le résultat de la recherche globale. - La position d'élément binaire en cours de tous les articles de données et de comparaison est examinée. Dans la plupart 40 72 15529 5 2135215 de cette position d'élément binaire dans une mémoire active associé à chaque mot de mémoire. - Parmi les quatre paires de valeurs : terme de comparaison/donnée, celles qui n'entraînent aucune action sont désor- 5 mais ignorées. (Il faut cependant noter que, dans le cas où plusieurs opérations mélangées sont exécutées, si 11une quelconque des opérations entraîne une action dans un cas particulier, ce cas doit être ignoré, même si d'autres opérations n'en font pas usage). Les autres sont traités, un par un, de la manière suivante : 10 - Pour chaque cas (x, y) nécessitant un traitement, "Sélectionner" tous les mots de données pour lesquels l'élément binaire de donnée en cours est égal à y et pour lesquels l'élément binaire de masque en cours, s'il est utilisé, est égal à 1. - En même temps, "Sélectionner" tous les mots de 15 comparaison pour lesquels l'élément binaire en cours est égal à x et pour.lesquels l'élément binaire de masque en cours, s'il est utilisé, est égal à 1. - Si f (x,y) est la valeur logique (UN ou ZERO) Imposée par le cas (x, y), [ pour (x,y) = (0,0), (0,1) ou (l,l) ] 20 imposer la valeur f (x, y) à tous les éléments binaires de référence. Un élément binaire de référence n'est "Sélectionné" que si le mot et la position d'élément binaire qu'il occupe sont sélectionnés comme au cours des deux phases ci-dessus. Dans ce cas, tous les éléments binaires non sélectionnés restent inchangés. 25 - Lorsque tous les cas nécessaires ont été traités pour une position d'élément binaire de données, le même groupe de cas est répété pour la position d'élément binaires suivante , plus significative. - Lorsque toutes les positions d'éléments binaires du 30 secteur de données ont été traitées de cette manière, la valeur qui subsiste dans chaque position d'éLément binaire de référence représente le résultat final de la comparaison effectuée sur la paire donnée/terme de comparaison correspondant à cet élément binaire de référence. 35 - La somme totale de ces valeurs d'éléments binaires de référence est le résultat final de la recherche à termes de comparaison multiples. Chaque opération spécifique de recherche est définie par une combinaison distincte de 5 fonctions logiques, une pour 40 chacun des quatre cas (0,0), (0,1), (10) et (il), plus une pour 72 15529 6 2135215 pour la phase d'initialisation, avant la première comparaison. Chacune de ces fonctions logiques peut prendre l'une parmi trois valeurs à savoir : "ZERO", "UN" ou "NUL". UN et ZERO sont les valeurs 5 logiques normales, équivalentes respectivement aux valeurs "VRAI" et "FAUX". "NUL" a la signification "ne rien faire du tout", dont 1'effet logique consiste à maintenir chaque élément binaire de référence à sa propre valeur précédente. (Une quatrième valeur possible de fonction "COMPLEMENT" pourrait être utilisée pour des 10 recherches plus complexes, non spécifiées jusqu'à présent). Trois valeurs de chacune de cinq fonctions donnent un total de y* = 243 combinaisons possibles. Mais beaucoup d'entre elles ne représentent aucune opération de recherche utilè car : - les quatres fonctions ne peuvent pas toutes être 15 "NUL", sinon aucune comparaison réelle n'aurait lieu ; - une certaine fonction de cas (au moins une) doit être "NUL" si la recherche doit porter sur des secteurs dont la longueur est supérieure à un élément binaire ; - si la fonction d'initialisation est UN ou ZERO, 20 l'une au moins des quatres fonctions de cas doit avoir la valeur opposée (ZERO ou UN respectivement). Ces trois impératifs élé-minent 79 des 243 combinaisons possibles, laissant ainsi 164 recherches utiles potentielles. Ces dernières peuvent être divisées en deux catégories : 25 - La première catégorie contient 108 recherches qui contiennent à la fois UN et ZERO parmi les quatres fonctions de cas ; elles sont donc sensibles à l'ordre.exact dans lequel les positions d'élément binaire sont examinées. Ceci étant une caractéristique de toutes les opérations arithmétiques, ces recherches 30 possibles sont appelées "Arithmétiques", même si beaucoup d'entre elles n'ont pas le moindre rapport avec une quelconque fonction arithmétique connue. - Les 56 autres recherches ne comportent que des UN ou des ZERO parmi les quatres fonctions de cas, mais pas les deux. 35 Les résultats des recherches ne sont absolument pas affectés par l'ordre des éléments binaires. Toutes ces recherches possibles sont appelés "LOGIQUES", même si certaines d'entre elles peuvent aussi bien présenter une signification arithmétique. 32 de ces recherches peuvent être considérées comme des recherches à un seul terme de comparaison, sous une forme ou une autre, et 24 seulement subsis 72 15529 7 2135215 tent comme recherches réelles à termes de comparaison multiples. Ces 24 recherches représentent toutes les recherches logiques et le tableau I donne leur liste. Dans ce talbeau, ZERO est représenté par "0"; UN est représenté par "l" et "NUL" est re- 5 présenté par "N". Ainsi que.-le spécifie le Nota, chaque article du tableau représente deux recherches distinctes. TABLEAU I Recherches logiques 10 Fonctionslogiques pour : Cas : terme de eom- Valeur Description de la paraison/donnée Initiale recherche 14 00 01 10 11 20 30 35 N N N 1 N N N 0 N N 0 N 25 N N 40 N N N 0 N N N N N 0 N N N N G 0 N N 1' Intersection de groupe (les deux contiennent un UN dans certaines positions de bit Groupes-disjfonts (pas d'intersection, aucun bit commun ) Terme de comparaison est sous-groupe de données (tous les UN du terme de comparaison correspondent à des UN de données) Terme de comparaison n'est pas sous-groupe de données (certains UN du terme de comparaison correspondent à des ZERO de données) Données sous-groupes de terme de comparaison (tous les UN de données correspondent à des UN de comparaison) Intersection de compléments(les deux contiennent un ZERO dans certaines positions de bits) Compléments disjoints (aucun bit commun) Correspondance exacte ou égalité (tous les bits sont égaux) Discordance,ou pas d'égalité (bits de comparaison non égaux) 72 15529 8 2135215 TABLEAU I (suite) Fonctions logiques pour Cas : terme de com- Valeur paraison/donnée initiale 00 01 10 11 Description de la recherche 1 0 10 N N N N 1 0 0 1 Certains bits égaux Complément exact (tous les bits différents) Nota : Toutes les recherches ci-dessus peuvent être modifiées en changeant la fonction de valeur initiale "N" (NUL). Ceci permet à la recherche précédente d'influencer la sortie de 15 la recherche actuelle de la manière suivante : si N rempla ce un 0 les deux recherches sont combinées par une fonction OU. Si N remplace 1 les deux recherches sont combinées par une fonction ET. 20 Le tableau II représente un petit échantillonnage des 108 recherches "arithmétiques" possibles. La plupart de celles qui ne sont pas représentées ne peuvent être décrites simplement en termes arithmétiques. 72 15529 9 2135215 TABLEAU II Recherches arithmétiques Fonction logique pour Cas terme de compa- Valeur Description de la raison/données initiale recherche 00 01 10 11 N 0 1 N 0 Données inférieures à termes de comparaison N 0 1 N 1 Données inférie ures ou égales à terme de comparaison N 1 0 N 0 Données supérieures à termes de comparaison N 1. 0 N 1 Données supérieures ou égales à termes de comparaison 0 N N 1 0 Contrôle dépassement (si deux secteurs ont été additionnés) 1 N N 0 1 Contrôle non dépassement (si deux secteurs ont été additionnés) N 0 0 1 • 1 Bits UN les plus significatifs égaux (tous les zéro répondent également) N 0 0 1 0 Bits UN les plus significatifs égaux (mais tous les zéros ne répondent pas) 1 0 0 N 0 Bits ZERO les plus significatifs égaux(mais tous les UN ne répondent pas) 1 0 0 N 1 Bits ZERO les plus significatifs égaux (tous les UN répondent également) Nota : la fonction d'initialisation peut également être changée en "N", mais dans ce cas, les résultats de la recherche précédente ne peuvent qu'apporter une modification mineure au fonctionnement de la recherche actuelle. 72 15529 10 2135215 L'organisation d'une mémoire associative à termes, de comparaison multiples (Fig. 1) fait apparaître des zones de mémoire séparées pour les termes de comparaison et le reste des données. Cette disposition autorise une indépendance complète 5 des fonctions de commande appliquées aux deux groupes de circuits de mots ; mais elle manque quelque peu de souplesse, étant donné le nombre de termes de comparaison utilisés (un mot de comparaison non utilisé ne peut pas servir de données, par exemple). Les données pourraient également être emmagasinées 10 dans une mémoire séparée connectée aux même circuits de lecture/ écriture/ préservation de mots que les éléments binaires de référence. Les données contenues dans cette mémoire séparée seraient lues et envoyées au^ircuits de lecture/écriture/préservation de mots, les mots en parallèle et les éléments binaires en série. 15 L'utilisation d'une mémoire de données séparée réduirait le coût de l'équipement lorsque la quantité de données est relativement importante. Cette disposition n'est pas représentée sur la Fig. 1 mais sa mise en oeuvre est évidente. La Fig. 2 illustre une variante d'organisation selon 20 laquelle toutes les données, termes de comparaison ou autres occupent une importante zone ccmrune de mémoire. Les mots de termes de comparaison comportent des sorties spéciales connectées chacune à l'un des circuits d'attaque de sélection d'éléments binaires du secteur d'éléments binaires ée référence. Mais dans la machine la plus 25 simple, tous les circuits de mots,termes de comparaison, ou autres, sont commandés par le même groupe de circuits logiques de commande de recherche et de synchronisation ; la sélection d'éléments binaires s'applique de la même manière, également aux deux. Un mot de terme de comparaison non utilisé peut donc servir à autre chose 30 qu'à un terme de comparaison, ce qui permet d'obtenir une affectation plus efficace de la mémoire. Pour certaines des recherches les plus utiles, (correspondance exacte par exemple) les mots de termes de comparaison n'ont pas à être distingués des autres, même par des éléments 35 binaires de référence mis en mémoire. Chaque terme de comparaison peut donc participer aux deux fonctions, le groupe des termes de comparaison constituant alors un sous-groupe approprié du groupe de mots de données. Dans ce cas, les termes de comparaison sont tous comparés mutuellement les uns aux autres aussi bien qu'avec 40 Ie groupe plus important des mots autres que termes de comparaison. 72 15529 11 2135215 Certaines recherches plus complexes, tout en ne permettant pas cette recherche "reflexive", sont cependant pénalisées d'un temps plus long en traitant différemment les deux parties de la mémoire, à moins que soient prévues des portes de commande séparées, sem-5 blables à celle nécessaires dans la disposition complètement séparée. En fonctionnement, chaque cas de comparaison données/ terme de comparaison est traité de manière ci-après : 1 - un élément binaire sélectionné de chaque mot est 10 lu dans le circuit de mot de tous les termes de comparaison et de non-comparaison ; 2 - tous les circuits de mots contenant des valeurs de données appropriées à ce cas sont sélectionnées pour écrire ; 3 - chaque circuit de mot de terme de comparaison, 15 contenant la valeur de terme de comparaison appropriée à ce cas, est sélectionné pour attaquer la sortie spéciales qui à son tour, dé-clanche le circuit d'attaque de sélection d'élément binaire correspondant dans le secteur d'éléments binaires de référence ; 4 - la valeur de la fonction' logique 3E, nécessaire 20 dans ce cas, est écrite dans chaque élément binaire de référence qui a été sélectionné à partir des deux directions, c'est à dire qu'une référence est écrite si, et seulement si elle appartient ^ un mot sélectionné dans la seconde phase et si elle se trouve dans une position d'élément binaire sélectionnés dans la troisième 25 phase. Afin de mieux illustrer le fonctionnement, la description ci-après est présentée dans le cas où les éléments binaires de référence sont fournis par une unité de traitement associatif à fil plaqué, telle que celle décrite dans le Brevet Français n° 30 70 46 688. Il est évident que d'autres dispositions pourraient être utilisées. L'opération voulue est obtenue par la coïncidence appropriée d'impulsions dans les lignes de mots et d'éléments binaires. Les impulsions des lignes de mots doivent comporter quatre 35 temps. Les impulsions d'éléments binaires individuels ne doivent apparaître que pendant un ou deux temps d'impulsions de mot. Les données ne sont écrites dans l'élément de mémoire à fil plaqué que lors de l'apparition simultanée d'une impulsion de mot et d'une impulsion d'élément binaire. Les positions dans le temps des quatre 40 temps d'impulsion de mot sont définies sur la Fig. 3« La convention 72 15529 12 2135215 10 15 adoptée sur la Pig. 3 est qu'un courant positif de mot écrit un un logique si un courant d'élément binaire est également présent, et de même, un courant négatif de mot écrit un zéro logique. Le fonctionnement voulu de la mémoire associative à termes de comparaison multiples est donc obtenu en produisant des impulsions d'élément binaire au temps correct d'impulsion de mot, en fonction des valeurs des éléments binaires des termes de comparaison et des données, et du type de la recherche qui est effectuée. Le tableau III ci-après illustre ce fonctionnement pour plusieurs des recherches dont la liste est donnée par les Tableaux I et II. L'extension à d'autres types de recherches en découle facilement pour les spécialistes. TABLEAU III Relations dans le temps entre les impulsions d'éléments binaires et de mots. 20 25 30 Position dans le temps de l'impulsion d'élément binaire Terme de comparaison = -0 Description de la recherche 4 Aucun 3 4 3 3 Terme de comparaison = 1 2 3 1 1 "Valeur initiale 1 et 3 2 et 4 2 et 4 2 et 4 1 et 3 2 et 4 1 et 3 Correspondance exacte Intersection dé groupe Discordance Donnée Inférieure à terme de comparaison Donnée inférieure ou égale à terme de comparaison Donnée supérieure à terme de comparaison Donnée supérieure ou égale à terme de comparaison 35 40 La Fig. 1 représente le diagramme synoptique d'une unité de traitement associative susceptible d'appliquer les processus de recherche selon l'invention. L'unité de traitement selon ce mode de réalisation comporte deux matrices de mémoire 10 et 12 destinées respectivement à èmmagâsiner les secteurs de termes de comparaison et de données. Chaque matrice consiste en un dispositif 72 15529 13 2135215 de mémoire numérique susceptible d'emmagasiner des mots sous forme de séries d'éléments binaires. Les matrices peuvent être par exemple des mémoires à fil plaqué. La matrice de mémoire 12 comporte une zone 13 dans laquelle sont enmmagasinés les éléments binaires de référence associés à chaque mot mis en mémoire dans la zone 15 de la matrice. Chacune des matrices 10 et 12 sont associées respectivement des circuits 14 et 16 d'attaque de sélection d'éléments binaires et des circuits 18 et 20 de lecture/écriture/préservation de mots. Le fonctionnement de l'unité de traitement associative est commandé par le circuit logique 22 de commande de recherche et de synchronisation qui commande les circuits 18 et 20 de lecture/écriture/préservation de mots et certains des circuits 14 et 16 d'attaque de sélection d'éléments binaires, par l'intermédiaire des compteurs 24 et 28 d'adresses d'éléments binaires et des décodeurs d'adresses 26 et 30. Le circuit logique 22 de commande de recherche et de synchronisation contient des micro-programmes qui commandent les circuits 14 et 16 d'attaque de sélection d'éléments binaires et les circuits 18 et 20 de 'lecture/écriture/préservation de mots de manière à sélectionner les éléments binaires des mots de termes de comparaison et les éléments binaires des mots de données, et à exécuter les opérations de comparaison et d'attribution de références, en fonction des règles posées ci-dessus. L'unité de traitement associative comporte également le compteur 32 de longueur de secteur et des dispositifs d'entrée/sortie. Le mode de réalisation de l'unité de traitement associative illustrée par la Fig. 2 diffère de celui de la Fig. 1 en : ce qu'il comporte une seule matrice de mémoire 40, à la fois pour les secteurs de termes de comparaison et les secteurs de données 42 et 44 respectivement. En'outre, la matrice de mémoire 40 est divisée en une zone 46 de mémorisation de mots, à la fois pour les zones de données et de termes de comparaison, et en une zone 48 destinée à mémoriser les éléments binaires de référence, associés à chaque mot dans la mémoire. Sont associés à la matrice de mémoire 40, le^'circuits 50 d'attaque de sélection d'éléments binaires et les circuits 52 de lecture/écriture/préservation de mots qui sont commandés par le circuit logique 5^ de commande de recherche et de synchronisation, les circuits 50 d'attaque de sélection d'éléments binaires étant commandés par 1'intermédiair^du compteur d'adresses 56 et du décodeur d'adresses 58. Les circuits 52 de lecture/écriture/préservation de mots appliquent à certains des 72 15529 14 2135215 circuits 50 d'attaque de sélection d'éléments binaires, des signaux d'entrée provenant de la zone 42 de termes de comparaison de la matrice de mémoire 40, ainsi qu'indiqué en 60. L'unité de traitement associative comporte également un compteur 62 de longueur de secteur et des dispositifs d'entrée/sortie 64. 72 15529 15 2135215 REVENDICATIONS 1. Procédé de recherches simultanées de contenus entre un secteur de données et un secteur de termes de comparaison, chaque secteur comportant plusieurs mots, caractérisé en ce qu'il consiste à mémoriser le secteur de données dans une mémoire numérique universelle 5 sous forme de mots à éléments binaires alignés, à mémoriser le secteur de termes de comparaison dans une mémoire numérique universelle sous forme de mots à éléments binaires alignés, à associer au moins un élément binaire de référence à chaque mot du secteur de données, à agir simultanément sur les éléments binaires similaires de mots 10 sélectionnés dans chaque secteur avec une logique précommandëe de manière à effectuer simultanément des comparaisons sur les mots sélectionnés, à attribuer une valeur prédéterminée à un élément binaire de référence spécifié de chaque mot comparé, l'élément binaire de référence spécifique étant déterminé par la comparaison particu- 15 liêre effectuée, et la valeur prédéterminée étant fonction des valeurs des éléments binaires comparés et de la comparaison particulière effectuée, et à sélectionner comme secteur de sortie, ceux des mots dont les éléments binaires de référence ont une valeur spécifiée. 2. Procédé selon la revendication 1, caractérisé en ce qu'il 20 consiste également à fournir un secteur de masque destiné à commander la logique de manière que les comparaisons ne soient effectuées qu'entre des éléments binaires de chaque mot. 3. Procédé selon la revendication 1, caractérisé en ce qu'il consiste également à attribuer une valeur à chaque élément binaire 25 de référence avant l'exécution de toute comparaison, de manière que la valeur résultante de chaque élément binaire à la fin des comparaisons simultanées ne soit pas affectée par des recherches précédentes. 4. Procédé selon la revendication 1, caractérisé en ce que le 30 secteur de termes de comparaison constitue un sous-groupe du secteur de données. 5. Procédé selon la revendication 1, caractérisé en ce qu'une unité de traitement associative est utilisée pour mémoriser les secteurs de données, effectuer les comparaisons, attribuer les valeurs 35 aux éléments binaires de référence et sélectionner le secteur de sortie. • 6. Dispositif de recherches simultanées de contenus entre deux corps de données, caractérisé en ce qu'il comporte au moins une mémoire numérique universelle destinée à mémoriser les corps de 72 15529 16 2135215 données sous forme de mots à éléments binaires 'alignés et comportant des éléments binaires de référence associés à chaque mot du premier corps de données au moins un circuit destiné à comparer simultanément les éléments binaires similaires des mots sélectionnés dans 5 chaque corps de données, un circuit destiné à attribuer une valeur à un élément binaire de référence de chaque mot du premier corps de données comparées, l'élément binaire de référence étant sélectionné en fonction de la comparaison effectuée et la valeur attribuée étant déterminée par le résultat de la comparaison, et un circuit 10 de sortie qui délivrée, comme donnée de sortie, chaque mot comportant une configuration prédéterminée d'éléments binaires de référence à la fin des recherches. 7. Dispositif selon la revendication 5, caractérisé en ce qu'il comporte deux mémoires numériques, le premier corps de données 15 étant mémorisé dans une mémoire et le second corps de données étant mémorisé dans l'autre mémoire.