FR 2041145 A1 19710129 FR 7012247 A 19700403 70 12247 1 2041145 La présente invention concerne une mémoire associative» Une mémoire associative est une mémoire de données dans laquelle il y a accès aux données suivant le contenu plutôt que suivant la position dans la mémoire, comme cela est le cas dans une mémoire non associative, line mémoire as-5 sociative type comprend un registre entrée /sortie, un registre de masques et des registres de mots dans lesquels se trouve le contenu formé de données de la mémoire. Un argument de recherche., souvent appelé repère, est placé dans le registre entrée/sortie, occupant habituellement seulement une partie du registre entrée/sortie. Le registre de masques est mis en action pour masquer la partie 10 du registre entrée/sortie non occupée par l'argument de recherche en provenance des registres de mots, Ensuite, une opération de recherche est accomplie dans laquelle l'ordre de l'argument de recherche dans le registre entrée/sortie est comparé au contenu de même ordre des registres de mots. Lorsque le contenu s'avère être égal à l'argument de recherche, le registre de mots est marqué, habi-15 tuellement en enclenchant une bascule du sélecteur associée au registre dans .un état stable prédéterminé. Ensuite, les registres marqués sont soumis à une opération d'accès. Le contenu du registre entrée/sortie est écrit dans les registres marqués ou bien le contenu des registres marqués est successivement ou simultanément lu pour être écrit dans le registre entrée/sortie. 20 Les mémoires associatives connues, telles que celle qui vient juste d'être décrite, n'assurent qu'un seul trajet de données à la mémoire. L'interface entre la mémoire et le reste du système de traitement de données est le seul registre entrée/sortie. Ce cas impose des sévères contraintes quant à l'utilisation d'une mémoire associative, particulièrement lorsque la mémoire est conçue de manière 25 à fournir plus de possibilités que le simple emmagasinage passif d'information, tel que celui fourni, par exemple, par la mémoire associative décrite dans le brevet français N° 1582 992 du 3 Septembre. .1968. Un objet de la présente invention consiste à fournir une mémoire associative qui soit de fonctionnement plus souple que les mémoires connues. 30 Conformément à la présente invention, une mémoire associative comprend plusieurs registres d'entrée agencés de manière à contenir des arguments de recherche à utiliser dans les opérations d'accès à la mémoire associative, et un moyen de commande agencé pour sélectionner un ou plusieurs registres d'entrée en tant que sources d'un argument de recherche. 35 D'autres objets, caractéristiques et avantages de la présente invention ressortiront de la description qui va suivre, donnée à titre d'exemple non limitatif. en se reportant aux dessins annexés. La figure 1 représente une mémoire associative conforme à la présente invention. 40 La figure 2 représente une autre mémoire associative conforme à la présen 70 12247 2 2041145 te invention. La figure 3a est une représentation logique des ordres types du registre de masques d'entrés représenté sur la figure 2. La figure 3b est une représentation logique des ordres types d'un autre 5 type de registre de masques. La figure 3c représente schématiquement une cellule d'emmagasinage pour laquelle est conçu le registre de masques de la figuré 3b. Les figures 4 et 5 sont des modifications apportées au registre de masques des figures 3a et 3b. 10 La figure 6 représente un agencement de mémoire associative conforme à la présente invention. Les trajets des données sont représentés sur les figures par des lignes en trait plein terminées par une flèche et les trajets des signaux de commande par des' lignes en trait plus léger terminés par une fleche. 15 Suivant la figure 1, une mémoire associative 1 comprend un réseau d'emma gasinage 2 formé de plusieurs registres de mots, un registre entrée/sortie I/O 1, un registre entrée/sortie I/O 2, et un registre de masques 3. Il y a un trajet de données à deux directions 4 entre le registre I/O 1 et un bus de données 5, et un trajet de données à deux directions semblable 6 entre le registre I/O 20 2 et un bus de données 7. Les trajets de données à deux directions 8 et 9, connectent respectivement les registres I/O 1 et I/O 2 au registre de masques 3 qui, à son tour, est connecté au réseau 2 par le trajet de données à deux di--rections 10. Bien que l'invention puisse très bien s'appliquer à une mémoire associa-25 tive passive commandée par des signaux de commande dérivés de sources externes, la mémoire représentée sur la figure 1 est une mémoire fonctionnelle du type décrit dans le brevet mentionné ci-dessus, dans laquelle une partie de l'entrée appliquée à la mémoire est décodée pour déterminer le fonctionnement à accomplir par la mémoire. En conséquence, la mémoire 1 comprend un décodeur 11 qui peut 30 recevoir les données en provenance du registre I/O 1 par le trajet de données 12 et les données en provenance du registre I/O 2 par le trajet de données 13. Du décodeur 11, partent les lignes de signaux 14 à 19 qui seront décrites ci-après. Tout d'abord sera décrit le fonctionnement de la mémoire 1 qui utilise 35 seulement le registre I/O 1 de manière à rendre l'invention plus compréhensible. Un mot est transféré au registre I/O 1 du bus 5 par le trajet de données 4. Une partie du mot contient les données qui définissent le fonctionnement à réaliser par la mémoire 1 et est échantillonné par lé décodeur 11 qui, finalement, transmet sur la ligne 14 un signal de commande qui définit le masque à utiliser, et, 40 sur d'autres lignes (non représentées) internes au réseau, d-autres-signaux de 70 12247 3 2041145 commande qui définissent l'opération à réaliser. Le fonctionnement du décodeur relatif à la commande du réseau est décrit dans le brevet mentionné ci-dessus; aussi n'en sera t-il donné aucune autre description. Il suffit de dire qu'une opération comprend deux cycles; dans le premier cycle, il y a sélection d'un 5 ou plusieurs registres de mots du réseau 2 auxquels on doit avoir accès et, dans le second cycle une opération d accès, lecture ou écriture, est réalisée sur les registres de mots sélectionnés. La sélection d'un registre de mots n'a pas besoin d'avoir lieu comme résultant d'une comparaison d'un argument de recherche d'entrée avec le contenu des registres de mots, cette comparaison étant 10 une opération de recherche,mais peut se faire par référence aux registres de mots sélectionnés dans les opérations préalables. Ainsi, on peut sélectionner les registres venant après les registres sélectionnés dans une opération préalable. Cependant, on va supposer que l'opération à réaliser comprend une opération de recherche. En outre, on va supposer que seules deux configurations de 15 masques sont disponibles et qu'un signal binaire sur la ligne 14 est suffisant pour définir la configuration de masque qui doit être utilisée. Avec la première configuration de masque, le contenu des 8 ordres gauches Ccoirme le montre la figure) du registre I/O 1 est utilisé en tant qu'argument . de recherche, et on n'a accès qu'aux seuls ordres restants du registre de mots,-20 avec la seconde configuration de masque, le contenu des 16 ordres gauches du re-. gistre I/O 1 est utilisé en tant qu'argument de recherche et on n'a accès qu'aux seuls ordres restants des registres de mots. Supposons que l'opération RECHERCHE, LECTURE, MASQUE 1, a été ordonnée. Durant le premier cycle, le contenu du registre I/O 1 est appliqué au re-25 gistre de masques 3 par le trajet de données 8, mais, étant donné que le masque 1 a été sollicité, seuls les 8 ordres gauches sont appliqués par le trajet de données 10 au réseau d'emmagasinage 2 en vue d'une comparaison avec les huit ordres gauches de chaque registre de mots du réseau. La bascule du sélecteur de chaque registre de mots où il y a égalité après la comparaison, est enclenchée. 30 Durant la second cycle, lïétat des bascules du sélecteur est détecté et les dif-rents contenus des registres qui ont enclenché les bascules du sélecteur sont lus et envoyés par le trajet de données 10 au registre de masque 3 qui fait passer tous les ordres sauf les huit ordres gauches par le trajet de données 8 au registre 10/1. Le contenu du registre I/O 1 est ensuite transféré par le tra-35 jet de données 4 au bus 5, Par opposition aux mémoires associatives connues, la mémoire 1 conforme à la présente invention possède un second registre 1/0 2, et le registre I/O 1 ou le registre I/O 2 peut être sélectionné en vue d'une utilisation. Plus pré-cisemment, dans le mode de réalisation représenté sur la figure 1, le décodeur 40 11 engendre des signaux de commande qui permettent à l'argument de recherche 10 12241 4 2(341T45 d'être extrait du registre I/O 1 ou du registre I/O 2. En outre, dans le second cycle d'une opération, le contenu du réseau d emmagasinage 2 peut être transféré et inscrit dans le registre I/O 1 ou dans le registre I/O 2 ou bien ce contenu peut provenir de ces registres. 5 Cette opération se fait par les signaux de commande sur les lignes 15 à 19 en provenance du décodsur 11. La ligne 15, lorsqu'elle est excitée, connecte le trajet ds données S au trajet de données 10 par l'intermédiaire du registre de masques 3. La ligne 1E, lorsqu'elle est excitée, connecte le trajet de données 9 au trajet de données 10 par l'intermédiaire du registre de masques 3, La 10 ligne 17, lorsqu'elle est excitée, permet au registre I/O 1 de recevoir les données en provenance du réseau d enmagasinage 2. La ligne 19, lorsqu'elle est excitée, permet au registre I/O 2 de recevoir les données en provenance du réseau d'emmagasinage 2, La ligne 18, lorsqu'elle est excitée, permet au registre I/O 1 ainsi qu'au registre I/O 2 de recevoir les données en 'provenance des bus 5 15 et 7 auxquels ils sont respectivement connectés par les trajets de données 4 et 6. Le décodeur 11 ne va pas être décrit en détail étant donné que la conception de ces décodeurs est bien connue dans la technique du - traitement des données. Le décodeur 11 est, par exemple, un réseau non maillé qui a comme entrée 20 quatre lignes comprenant les trajets de données 12 et 13 et, comme sortie, 16 lignes dont 1'une est marquée conformément aux signaux binaires sur les lignes d'entrée. La sortie marquée enclenche alors les bascules qui excitent en des temps appropriés les lignes de commande Î4 à 19. En utilisant ces signaux de commande, il est évident qu'il est possible 25 de réaliser la séquence d'opérations suivante: 1. Enclenchement, ou mise en service, des registres I/O 1 et I/O 2 à partir des bus 5 et 7 respectivement. 2. Recherche en utilisant l'argument de recherche en provenance du registre I/O 1 ou du registre I/O 2. 30 3. Lecture ou Ecriture entre les registres de mots sélectionnés du réseau et le registre 1/0 1 ou le registre 1/0 2. 4. Lecture du registre 1/0 1 ou du registre 1/0 2 et envoi du contenu sur le bus. La figure 2 représente une mémoire associative 20 conforma à la présente 35 invention modifiée par rapport à la mémoire 1 décrite en regard de la figure 1, en ce sens que la mémoire 20 a la possibilité de changer le masque entre les cycles de recherche et d'accès d'une opération. Le seul registre de masques 3 de *" ^ ? • -* ~ — — •»«-» •?*-+- -r*r^ ri o wafînMoe H 'aT*rv|imon+ )jp j"»PT*Q H© OU d'entrée 23 et deux registres de masques de sortie 24 et 25. Les registres 1/0 40 1 et 1/0 2 sont remplacés par les registres 21 et 22 qui servent uniquement de 70 12247 5 2041145 registres d'entrée. La sortie provenant du réseau d'emmagasinage 2 se fait par le trajet de données 26 et par le registre de masques 24 et le trajet de données 27 sur le bus 5 ou par le.registre de masques 25 et le trajet de données 26 sur le bus 7. 5 De manière à ne pas compliquer le dessin, les lignes de commande en pro venance du décodeur 11 n'ont pas été représentées, mais on doit comprendre que le décodeur 11 transmet des signaux qui spécifient: la configuration du masque pour le registre de masques 23, de quels registres 21 ou 22 l'argument de recherche doit être extrait et, si l'opération est une opération de lecture du 10 réseau 2, lequel registre 24 ou 25 doit faire passer les données sur le bus connecté 5 ou 7 et quel masque doit être utilisé. La possibilité de définir le champ de données à transférer sur le bus est tout à fait utile lorsque plusieurs mémoires associatives 20 sont connectées à un même bus. Chaque mémoire peut .agir simultanément et indépendamment sur différents caractères d'un élément 15 d'Information à caractères multiples, et l'usage de masques de sortie non chevauchant pour différentes mémoires permet simultanément l'apparition d'un résultat suivant les masques sûr le bus, La figure 3a- montre des ordres types du registre- de, masques 23 dans le-cas où le réseau 2 est formé de cellules d'emmagasinage binaires. De manière 20 à bien fixer les idées, on va supposer que deux masques seulement sont utilisés? le masque 1 dans lequel l'argument de recherche va de l'ordre 0 à l'ordre 7 du registre 23 en comptant à partir de la gauche, et l'écriture dans le réseau 2 se fait pour les ordres restants, et le masque 2, dans lequel 1'argument de recherche1 vs da L'ordre □ à l'ordre 15 du registre 23, et l'écriture dans le 25 réseau se fait pour les ordres restants. Sur la figure 3, la ligne 10a est une ligne correspondant aux ordres 0 à 7 du trajet de données 10, la ligne 10b est une ligne correspondant aux ordres 8 à 15, et la ligne 10c est une ligne correspondant aux huit ordres supérieurs. Les lignes 8a à 8c sont les lignes correspondantes du trajet de données 8 al- 30 lant du registre d'entrée 21 au registre de masque 23, et les lignes 9a à 9c sont les lignes correspondantes du trajet de données 9 allant du registre d'entrée 22 au registre de masques 23. Les lignes de commande, représentées comme provenant de la droite de la figure 3a, fournissent les signaux de commande suivants : 35 Lignes 1.4: Information de masques; si la ligne 14 est excitée, utiliser le masque 1; autrement, utiliser le masque 2. Ligne 15: si elle est excitée, utiliser les données en provenance du registre 21. Ligne 16: si elle est excitée, utiliser les données en provenance du re-40 gistre 22. 70 12247 6 2041145 Ligne S; si elle est excitée, procéder à une opération de recherche. Ligne W: si elle est excitée, procéder à une opération d'écriture, c'est-à-dire transférer les données dans le réseau 2, Ligne C1: si elle est excitée, elle indique le temps du cycle 1. 5 Ligne C2: si elle est excitée, elle indique le temps du cycle 2. Si la ligne 15 est excitée, les circuits ET, 31a à 31c peuvent faire passer les données binaires des lignes 8a à 8c au moyen des circuits OU 33a à 33c aux entrées des circuits ET 34a à 34c, De façon semblable, si la ligne 16 est excitée, les circuits ET 32a à 32c peuvent faire passer les données binaires 10 des lignes 9a à 9c au moyen des circuits OU 33a à 33c aux entrées des circuits ET 34a à 34c. La ligne 14 a un branchement 14a qui comprend un inverseur 35. Si la ligne 14 n'est pas excitée, la ligne de sortie de l'inverseur 35 est excitée pour fournir un signal M2 qui indique que le masque 2 doit être utilisé. > □ans les conditions de fonctionnement supposées, la ligne 10a va seulement 15 porter les données de l'argument de recherche, étant donné que le masque 1 ainsi que le masque 2 vont de l'ordre 0 à l'ordre 7 du registre de masques; elle ne va pas être utilisée pour transférer les données pour une opération d'écriture. En conséquence les entrées appliquées au circuit ET 34a sont les données portant la sortie en provenance du circuit OU'33a, de la ligne S, de la ligne C1, 20 -étant donné qu'une opération de recherche a lieu dans le premier cycle de l'opération à deux cycles. Il n'est pas nécessaire de spécifier les données du masque étant donné que le masque 1 ainsi que le masque 2 ont besoin de la ligne 10a dans une opération de recherche, La ligne 10b va porter les données d'argument de recherche sous le masque 25 2 et les données d'écriture sous le masque 1. On utilise un circuit ET 36 qui a comme entrée les lignes de commande CI, S et 14a. La sortie du circuit ET 36 est connectée par un circuit CXJ 38 à l'entrée du circuit ET 34b. En outre, on un utilise/circuit ET 37 qui a comme entrées les lignes de commande C2, W et 14, et dont la sortie est connectée par le circuit OU 38 à l'entrée au circuit ET 30 34b. Le circuit ET 36 est excité lorsque la ligne 10b doit porter les données d'argument de recherche et le circuit ET 37 est excité lorsque la ligne 10b doit porter les données d'écriture. La ligne 10c porte uniquement les données d'écriture et ainsi, le circuit ET 34c a-t-il une entrée de donnée en provenance du circuit OU 33c et des en — 35 trées de commande en provenance des lignes W et C2, La figure 3b représente des modifications du registre de masques de la figure 3a lorsque le réseau 2 comprend des cellules d'emmagasinage à trois états comme celles décrites dans.le brevet français N°1 581 240 du 19 Août 1968 . Chaque cellule d'emmagasinage peut assumer les états stables représentant respecti-40 vement un "un " binaire un "zéro" binaire et un X. L'état X est tel que la 70 12247 7 2041145 cellule ne signale pas un manque de coïncidence quels que soient les signaux d'interrogation qui lui sont appliqués durant une opération de recherche associative. Une telle cellule peut être considérée comme ayant la configuration représentée sur la figure 3c. Le circuit électronique comprenant la cellule d'-5 emmagasinage SC est connecté entre une ligne de collecteur 131 et une ligne de mot 132, et entre deux lignes de bits L et R. Les cellules SC du même mot ont respectivement les lignes de collecteur et de mot 131, 132 communes, tandis que les cellules occupant le même ordre de différents mots ont les lignes de bits L et R conmunes. 10 Comme décrit dans le brevet mentionné ci dessus, pour interroger la cellu le SC pour l'état binaire stable "0", le potentiel sur la ligne de bits L est abaissé par rapport à un potentiel de référence, tandis que le potentiel sur la ligne de bits L est élevé. Si la cellule SC ne se trouve pas aux états binaires stables X ou "0", un courant apparaît sur la ligne de mot 132 et indique une 15 non-coïncidence. Pour écrire un "0" binaire dans la cellule, les mêmes poten-. tiels que ceux utilisés pour l'interrogation de la cellule, sont appliqués aux lignes de bits mais les potentiels de la ligne de collecteur 131 et de la ligne de mot 132 varient de sorte que les potentiels sur les lignes de bits changent l'état de la cellule et lui permettent d'assumer l'état stable "0". 20 En interchangeant les potentiels sur les lignes de bits, la cellule peut être interrogée pour un "1" binaire ou bien un "1" binaire peut être écrit dans la cellule. Pour écrire un X dans la cellule, les potentiels de la ligne de collecteur 131 et de la ligne de mot 132 sont réglés pour une opération d'écriture, et les potentiels des lignes de bit sont élevés par rapport au potentiel 25 de référence. Avec la construction de la cellule décrite en regard de la figure 4 du brevet mentionné ci-dessus, dans laquelle la cellule est formée de deux circuits bistables, il n'est pas nécessaire que l'es potentiels élevés des lignes de bits soient appliqués simultanément. En conséquence, un X est écrit dans deux opérations. Dans la première opération, un "0" binaire est placé dans 30 le registre d'entrée.et est écrit alors que la ligne de bits L est masquée. Dans la seconde opération, un "1" binaire est placé dans le registre d'entrée et est écrit alors que la ligne de bits R est masquée. La première opération est appelée ECRITURE DROITE et la seconde opération est appelée ECRITURE GAUCHE. La figure 3b représente des parties des ordres du registre de masques 23 35 semblables à ceux représentés sur la figure 3a. Les circuits ET 34a à 34c de la figure 3a sont chacun remplacés sur la figure 3c par deux circuits ET, chaque circuit ET commandant un circuit de commande de ligne (non représenté) pour 'i- c,.r. -p-tr-nre la sortie du circuit OU 33a est inversée et connectée à l'entrée d'un circuit ET 134a et est également con-40 nectée sous forme véritable à l'entrée du circuit ET 135a. Les autres entrées 70 12247 8 2041145 appliquées aux circuits ET 134a et 135a sont les lignes de signaux C1 et S en provenance du décodeur, lignes qui, lorsqu'elles sont excitées, indiquent respectivement qu'un temps de cycle 1 et qu'une opération de recherche sont nécessaires. Si, par exemple, une recherche doit être faite pour un "zéro" binaire, la 5 sortie du circuit ET 134a est excitée tandis que la sortie du circuit ET 135a ne l'est pas. La combinaison des états des sorties des circuits ET 134a 135a est interprétée par les organes de commande de ligne afin d'appliquer les potentiels appropriés sur les lignes de bits. Une sortie inversée du circuit OU 33b est connectée à l'entrée du circuit 10 ET 134b 1 et 134b 2, tandis que la sortie réelle du circuit OU 33b est connectée à l'entrée au circuit ET 135b 1 et 135b 2. Les lignes M2, Ci et S sont connectées aux entrées du circuit ET 134b 2 et 135 b 2. Les lignes H1 et C2 sont connectées aux entrées aux deux circuits ET 134b 1 et 135b 1 ; la ligne WL, qui est exéitée lorsqu'une opération ECRITURE GAUCHE est nécessaire, est connectée 15 au circuit ET 134b 1, et la ligne WR qui est excitée lorsqu'une opération ECRITURE DROITE est nécessaire est connectée au circuit ET 135b 1, Les deux lignes WL et WR sont excitées lorsqu'une opération ECRITURE est nécessaire, les sorties des circuits ET 134b 1 et 134b 2 fournissent des entrées appliquées au circuit OU 136 dont la sortie commande le potentiel sur la ligne de bits L. Le 20 circuit OU 137 auquel les sorties des circuits ET 135b 1 et 135b 2 sont connectées;, permet de réaliser une fonction semblable pour la ligne de bits R, Une sortie inversée du circuit OU 33c est connectée à l'entrée du circuit ET 134c tandis que la sortie réelle est connectée à l'entrée du circuit ET 135c. La ligne C2 est connectée à l'entrée das circuits ET 134c et 135cs la ligne WL 25 est connectée à l'entrée du circuit ET 134c et la ligne WR, à l'entrée du circuit ET 135c, L'opération du registre de masque de la figure 3d est semblable à celle du registre de la figure 3a et en conséquence, aucune autre description n'est nécessaire, 30 Les figures 3a et 3b montrent ainsi comment les données peuvent être sélec tionnées è partir du registre 21 ou du registre 22 pour être utilisées en tant qu'argument de recherche dans une opération d'accès ou en tant que sources de données à écrire dans le réseau 2. La référence au brevet français mentionné ci-dessus va rendre évidentes 35 les modifications des circuits logiques de la figure 3 qui sont nécessaires pour construire le registre de masques 3 de la figure 1, registre qui diffère du registre de masques 23 en ce sens qu'il fait passer, en outre, les données du réseau 2 au registre 10 1 ou au registre I/O 2, suivant les besoins. La présente invention ne se limite pas-à extraire tout l'argument de re-4Q cherche d'un seul registre. L'argument de recherche peut être, obtenu par 70 12247 3 2041145 compilation a partir des données, dans deux ou plusieurs registres d'entrée en laissant passer des champs des registres d'entrée ne se chevauchant pas ou en combinant logiquement au moyen d'opérations ET, OU ou bien DU EXCLUSIF des champs qui se chevauchent. 5 La figure 4 représente la modification des circuits de la figure 3 néces saires pour Effectuer une combinaison logique des données et montre un seul ordre des 8 ordres gauches du registre de masques 23. Au«dessus des circuits de la figure 4, les lignes de données 8 et 9 sont connectées aux entrées respectives du ; circuit OU 41 et du circuit ET 42. La sortie du circuit OU 41 est connec-10 tée à l'entrée d'un circuit ET 43 qui a également comme entrée une ligne de commande 44. La sortie du circuit 42 est connectée à l'entrée d'un circuit £T 45 qui a également comme entrée une ligne de commande 46. Les lignes 15 et 16 restent non excitées et, de manière à faire subir la fonction OU aux données des lignes 8 et 9 grâce au circuit OU 33, la ligne de commande 44 est excitée pour 15 faire subir la fonction ET aux données des lignes 8 et 9 grâce au circuit OU 33, la ligne de commande 46 est excitée, Les lignes de commande 44 et 46 sont sélectivement excitées par des signaux en provenance du décodeur 11, de la même manière que les lignes 15 et 16. Le circuit OU 41 et la ligne de commande associées 44 ne sont pas nécessaires si les lignes 15 et 16 sont excitées simultanément; 20 dans ce cas, la sortie du circuit OU 33 est le signal représentatif de la fonction OU effectuée sur les données dans les deux registres d'entrée. La fonction OU EXCLUSIF peut être réalisée en ajustant un circuit OU EXCLUSIF en parallèle au circuit ET 42 et au circuit OU 41. La figure 5 représente la modification du circuit de la figure 3 nécessai-25 re pour permettre de laisser passer des champs des deux registres d'entrée ne se chevauchant pas afin d'utiliser cette combinaison comme argument de recherche d'une opération de recherche. Les ordres 0 à 15 du registre de masque 23 sont groupés par 4, étant donné que la dimension habituelle d'un caractère est de 4 bits. Des lignes de commande séparées 15a à 15d et 16a à 16d sont prévues 30 pour faire passer les données au circuit ET 34 (voir figure 3) de chaque groupe d'ordres. La ligne de commande 15a est connectée à l'entrée de tous les circuits ET 31 Cvoir figure 3) d'ordres 0 à 3 du registre de masques tandis que la ligne de commande 15b est connectée à l'entrée de tous les circuits, ET 31 d'ordres 4 à 7 du registre de masques et ce, de façon semblable, pour las lignes de com-35 mande 15c et 15d. La ligne de commande 16a est connectée à l'entrée de tous les circuits ET 32 d'ordres 0 à 3 du registre de masques et ce, similairement, pour les lignes de commande 16b à 16d, pour les ordres respectifs 4 à 7, 8 à 11 et 12 à 15. Les lignes de commande 15 et 16 de la figure 3 ne sont pas représentées. Avec l'agencement de la figure 5, lors de 1'excitation sélective des 40 lignes 15a à 15d et '16a à 16d, par exemple, les lignes 15a, 15b, 16c et 16d par 70 12247 10 2041145 le décodeur 11, différentes combinaisons des champs en provenance des registres d'entrée peuvent être envoyées au registre de masques 23. L'agencement dé la figure 5 peut être combiné avec l'agencement de la figure 4, Les registres d entrée d'une mémoire associative conforme à la présente 5 invention n'ont pas besoin d'être aussi larges que le réseau d'emmagasinage, cornue le montrent schématiquement les figures 1 et 2. Différents registres peuvent être utilisés pour différents champs du réseau. Une application de cette technique est représentée sur la figure 6 dans laquelle un réseau d'emmagasinage associatif 61 est connecté, au moyen du regis-10 tre 62, au bus 63, et, au moyen du registre 64, au bus 65. Un second réseau d'emmagasinage associatif 66 est connecté, au moyen du registre 67, au bus 63 et, au moyen du registre 68, au bus 65. Les réseaux d'enmagasinage et les registres font partie des mémoires comme le montre la figure 1 ou la figure 2. Les éléments non caractéristiques de l'invention décrite n'ont pas été représentés. 15 Les registres 62 et 64, et le registre 67, vont des ordres 0 à 7 des réseaux d'emmagasinage respectifs 61 et 66. Le registre 68 va de l'ordre 8 à l'ordre 15 du réseau d'emmagasinage 66. Avec l'agencement représenté, les données alignées dans les mêmes ordres de la mémoire 61 peuvent être réalignées en groupe d'ordres adjacents dans la 20 mémoire 66. Un premier groupe de 8 bits est transféré de la mémoire 61 à la mémoire 66 au moyen des registres 62 et 67 et un second groupe de 8 bits est transféré au moyen des registres 64 et 68 au même registre de mots du réseau 66 que le premier groupe. Il reste bien entendu que la description qui précède n'a été donnée qu'à 25 titre d'exemple non limitatif et que de nombreuses variantes peuvent être envisagées sans sortir pour autant du cadre et de la portée de la présente invention. 70 12247 11 2041145 REVENDICATIONS 1.- Mémoire associative caractérisée en ce qu'elle comprend plusieurs registres d'entrée connectés de façon à contenir les arguments de recherche uti- 5 lises dans les opérations d'accès d'une mémoire associative, et des moyens de commande qui permettent de sélecter un ou plusieurs registres d'entrée comme sources d'un argument de recherche. 2.- Mémoire associative selon la revendication précédente, caractérisée 10 par un registre de masque qui détermine le champ de l'argument de recherche, et en ce que les moyens de commande permettent de laisser passer de façon sélective le ou les contenus d'un ou plusieurs registres d'entrée vers le registre de masque. 15 3,- Mémoire associative selon la revendication 2, caractériséeen ce que le registre de masque permet, sous la commande des moyens de commande, d'obtenir une combinaison logique choisie des données de l'argument de recherche à partir des données contenues dans au moins deux registres d'entrée. 20 4.- Mémoire associative selon la revendication 2 ou.3, caractériséeen ce que le registre de masque, sous la commande des moyens de commande, permet de laisser passer différents champs de l'argument de recherche en provenance de différents registres d'entrée, 25 5,- Mémoire associative selon l'une quelconque des revendications précé dentes, caractérisée en ce que les registres d'entrée sont des registres entrée/sortie, et en ce que les moyens de commande permettent de laisser passer les données lues de la mémoire associative vers l'un des registres entrée/ sortie, 30 6.- Mémoire associative selon l'une quelconque des revendications précédentes, caractérisée en ce qu'elle comprend des moyens de masque de sortie qui permettent de définir le champ de sortie des données lues de la mémoire, 35 7,- Mémoire associative selon l'une quelconque des revendications 1 à 4 et la revendication 6, caractérisée en. ce qu'elle comprend plusieurs trajets de données de sortie de la mémoire, chaque trajet étant pourvu de moyens de masque de sortie, les moyens de commande permettant de laisser passer les données extraites de la mémoire le long d'un trajet de données sélecté. 12247 12 2041145 8.- Mémoire associative selon l'une quelconque des revendications précédentes, caractérisée eb ce qu'elle comprend plusieurs registres de mots ayant des ordres correspondants, les registres d'entrée possédant moins d'ordres qu' un registre de mots.