Brevet FR2068589A1 — publié le 19710827

La présente invention concerne une mémoire associative du type constitué de cellules d'emmagasinage de données associatives ou du tyoe dans lequel la fonction d'interrogation par association est réalisée de l'extérieur de l'ensemble d'emmagasinage ce qui permet d'utiliser dans l'ensemble des cellu-5 les d'emmagasinage de données non associatives. Lorsqu'on utilise une mémoire associative pour contenir des tables de fonction utilisables dans.les opérations de consultation de tables, on a trouvé qu'il est souhaitable que les cellules d'emmagasinage de la mémoire puissent prendre un état "indéfférent" ou "X" pour lequel un signal de concor-10 dance n'est pas engendré en réponse à l'interrogation pour trouver un 1 binaire ou un 0 binaire. En permettant aux cellules d'emmagasinage d'ignorer l'interrogation la dimension des tables de fonction est de ce fait très réduite. La figure 1a représente, par exemple, une table de la fonction ET pour des opérandes à trois bits A et B respectivement, réalisée dans une mémoire ■15 associative ayant les cellules d'emmagasinage à deux états, les états représentant un 1 binaire et un 0 binaire respectivement. Si les champs A et B concordent, avec un argument de recherche, un champ de résultat R représentant la fonction ET de A et B est lu. Puisqu'une cellule ne peut ignorer une interrogation, mais doit délivrer un signal de désaccord si son contenu 20 ne concorde pas, la table doit contenir toutes les combinaisons possibles des trois bits qui donneraient un résultat non nul à l'opération. Ceci oblige à utiliser trente-sept lignes dans la mémoire. Seules treize lignes sont représentées pour indiquer la configuration de la table. En utilisant un état "indifférent" dans le champ de recherche, la table représentée sur la 25 figure 1b n'occupe que trois lignes de la mémoire pourvu qu'il y ait des moyens pour la lecture des lignes sélectionnées de la mémoire avec une opération OU réalisée sur les mêmes ordres des mots accèdes simultanément. Par exemple, si l'opérande A est 111 et l'opérande B 101, les première et troisième lignes de la mémoire sont sélectionnées et les champs résultats 100 30 et 001 sont lus simultanément pour donnner le résultat 101. Jusqu'à présent on pensait que l'utilisation d'un état "indifférent" dans une mémoire associative n'impliquant pas nécessairement que les cellules d'emmagasinage aient trois états stables au moins comme montré dans le brevet français n° 1 581 240 déposé par la demanderesse en France le 19 Août 1968. Ceci présente 35 un grand inconvénient puisque la complexité et le prix de la construction d'une mémoire utilisant des cellules d'emmagasinage à trois états sont supérieurs à ceux d'une mémoire utilisant des cellules à deux états. Conformément à l'invention une mémoire associative comprend plusieurs cellules d'emmagasinage de données à deux états, un des états étant tel qu'un 40 signal de désaccord n'est pas engendré si le contenu d'une cellule est inter 70 36307 2 2068589 rogé pour trouver un 1 ou un 0 binaire. D'autres objets caractéristiques et avantages de la présente invention ressortiront mieux de l'exposé qui suit, fait en référence aux dessins annexés à ce texte, qui représentent un mode de réalisation préféré de celle-ci. 5 Les figures 1a et 1b, constituent des tables de fonction montrant l'uti lisation de l'état X. La figure 2 représente le circuit d'une cellule d'emmagasinage de données à deux états qui peut être utilisée dans une mémoire conforme à l'invention. Les figures 3a et 3b représentent des tables de fonction. 10 La figure 4 représente le schéma d'une partie d'une mémoire associative conformément à l'invention, La figure 5 représente le schéma d'une colonne d'une autre mémoire conforme à l'invention. La figure B représente le schéma d'une colonne d'une autre mémoire con-15 forme à l'invention. La figure 7 représente le schéma d'une colonne d'une autre mémoire conforme à l'invention. La figure 6 représente le schéma d'une autre mémoire conforme à l'invention. 20 La figure 9 représente le circuit d'une autre cellule d'emmagasinage de données à deux états utilisable dans une mémoire associative conforme à l'invention. ■ La figure 10 représente le montage des mémoires associatives conforme à l'invention pour réaliser une addition binaire. 25 Les figures 11 et 12 représentent les tables de fonction. -La figure 2 représente un exemple de cellule à deux états qui peut être utilisé dans une mémoire associative conforme à l'invention. La cellule représentée sur la figure 2 correspond à une moitié de la cellule à quatre états décrite dans le brevet n° 1 581 240 mentionné précédemment. Le transistor 30 T1 a sa base et son collecteur connectés directement aux collecteurs et base du transistor à deux émetteurs T2. L'émetteur E21 est connecté directement à une ligne de détection de mots 23 et l'émetteur E22 est connecté directement à une ligne de tiits 24. Les cellules d'une mémoire associative sont disposées en rangées et colonnes toutes les cellules dans la même rangée partageant 35 une ligne de détection de mots 23 et toutes les cellules dans la même colonne partageant une ligne de bits 24. Les deux états de la cellule sont l'état binaire 1 dans lequel le transistor T2 est conducteur et l'état X dans lequel le transistor T1 est conducteur. L'interrogation pour trouver l'ctat binaire 0 est réalisée en augmentant' le potentiel de la ligne de bits 24 et en abais-40 sant le potentiel de la ligne de détection de mots 23. Si le transistor T2 70 36307 3 2068589 est conducteur indiquant que la cellule est dans l'état binaire 1, le courant passera par l'émetteur E21 pour apparaître sur la ligne de détection de mots 23 sous forme d'un signal de désaccord. L'interrogation pour trouver l'état binaire 1 est effectuée en abaissant le potentiel de la ligne de bit 24. 5 Quelque soit l'état de la cellule de mémoire aucun courant ne sera dirigé sur la ligne de détection de mots 23, de sorte qu'un désaccord ne sera pas signalé. Si la cellule se trouve dans l'état X aucun courant n'apparaîtra sur la ligne de détection de mots quelque soit le signal d'interrogation appliqué à la ligne de bits. 10 Une forme de mémoire associative conforme à l'invention est caractérisée par le fait que les ordres identiques des mots sélectionnés par un argument de recherche subissent une opération OU exclusif au cours de la lecture. La manière suivant laquelle cela sera réalisé sera décrite par la suite mais pour comprendre le concept impliqué on se référera aux tables de fonction 15 représentées sur les figures 3a et 3b. La figure 3a représente une table logique universelle pour une mémoire associative utilisant des cellules à trois états (1, 0, X] au moyen desquelles une des seize fonctions logiques possibles de deux variables, dans ce cas des opérandes à quatre bits, peut être réalisée. La mémoire est d'un type 20 dans lequel les mots sélectionnés subissent une opération QU au cours de la lecture, c'est-à-dire les états des cellules des mots sélectionnés sont amenées simultanément sur les lignes de bits et si toutes les cellules accé-dées n'emmagasinent pas un 0 binaire dans un ordre donné ou l'état X, le résultat donne un bit 1 dans cet ordre. Lee emplacements blancs dans les 25 figures représentant les tables de fonction correspondent aux cellules qui se trouvent dans l'état X. Pour utiliser la table, un argument de recherche comprenant une clé et les opérandes A et B sont comparés avec les entrées dans les douze colonnes les plus à gauche des tables» Les champs résultat des lignes qui concordent avec le contenu de l'argument de recherche sont 30 lus simultanément pour donner le résultat de l'opération. L'état X est lu comme un 0 binaire. Ou bien le champ résultat peut avoir été rempli avec des 0 binaires mais la table représentée sur la figure 3a est une comparaison plus directe à décrire en se référant à la figure 3b. On suppose qu'en utilisant la table de la figure 3a, une opération OU exclusif est à réaliser sur 35 l'opérande A, 1101, et l'opérande B, 1G1G. La clé est 0110 qui sélectionne les cinquième à douzième lignes de la table. Un désaccord, des opérandes avec le contenu des cinquième à douzième colonnes de la table provoquera la réfection des lignes cinq, six, huit, neuf et onze de la table, laissant les lignes désignées par des flèches sélectionnées. Les champs résultats de ces lignes 40 sont XX1X, X1XX, et XXX1, qui lorsqu'ils sont lus simultanément donnent le 70 36307 4 2068589 résultat 0111. Les tables construites conformément à la figure 3a, nécessitent pour une opération sur deux opérandes à n-bits, 4n lignes. La figure 3b représente une table logique universelle pour une mémoire associative utilisant des cellules à deux états [1, X) avec la réalisation 5 d'une opération OU exclusif sur les différentes lignes de données venant de la mémoire. La table est représentée pour des opérandes à quatre bits. Une table réalisée de la façon représentée, nécessite pour une opération sur deux opérandes à n-bits, 3n+1 lignes et elle a la même largeur que la table du type représenté sur la figure 3a. 10 Pour réaliser une opération OU exclusif, la clé est 0110, sélectionnant les cinquième à douzième rangées de la table. Si les opérandes sont 1101 et 1010 comme précédemment, les cinq lignes marquées par des flèches sont sélectionnées et les champs de résultat de ces lignes subissent une opération OU exclusif au cours de la lecture, ainsi 11000) •¥ {0100) -V 10001) -V (1000) 15 y- f0010), qui donnent le résultat 0111. La dernière ligne de la table doit être spécialement mentionnée. En sélectionnant cette ligne un 1 binaire est introduit sur chaque ligne de bit du champ résultat pour produire comme résultat final le complément à un de ce qui est le résultat de la sélection d'autres lignes de la table. 20 On peut comprendre ceci facilement si on rappelle qu'en faisant une opération OU exclusif sur une série de chiffres binaires, on obtient le résultat de l'addition des chiffres (modula 2). En ajoutant un 1 binaire à la somme (modulo 2) on complémente la somme. La figure 4 représente une réalisation de .mémoire associative utilisant 25 des cellules à deux états 20 dans lesquelles les mots sélectionnés dans une recherche subissent une opération OU exclusif au cours de la lecture. Les cellules 20 sont disposées en rangées et colonnes chaque rangée ayant une ligne de détection de mots 23 et chaque colonne une ligne de bits 24 reliée aux cellules comme décrit en se référant à la figure 2. Chaque ligne de bits 30 24 est connectée à l'entrée "complément" 41 d'un basculeur binaire 40. Les basculeurs.40 sont réalisés de façon qu'une impulsion de courant sur l'entrée "complément" change l'état du basculeur et ainsi complémente la valeur binaire représentée par l'état du basculeur. Comme noté précédemment, ceci est équi-. valent à la réalisation d'une opération OU exclusif sur'des signaux successifs 35 apparaissant sur une ligne de bits 24. Pour la lecture, du champ résultat, par exemple, d'une table telle que la table logique universelle de la figure 3b, les potentiels des lignes de détection de mots 23 connectées aux cellules d'emmagasinage qui emmagasinent les lignes sélectionnées de la table sont augmentés successivement momentanément, ce qui fait que les cellules connec— 40 tées aux lignés de détection de' rtiots émettent une'impulsion de courant sur 70 36307 5 2068589 la ligne de bits connectée à une cellule si la cellule est dans l'état binaire 1. Aucune impulsion n'est émise si la cellule est dans l'état X. Ces impulsions de courant apparaissant sur une ligne de bit 24 sont accumulées modulo 2 par le basculeur connecté 40. Avant chaque opération de lecture, les bascu-5 leurs 40 sont mis à l'état binaire 0. Pour exciter les lignes de détection de mots successivement, les sorties d'un distributeur Cnon représenté] sont connectées aux lignes de détection par l'intermédiaire de portes Cnon représentées] qui sont ouvertes si les basculeurs de sélection des rangée de la mémoire associative sont enclenchés par une opération de recherche associati-10 ve. La mémoire associative représentée sur la figure 4, bien qu'elle soit économique du point de vue place, (nombre de lignes allant à une table de fonction) perd du temps, car le cycle de lecture de la mémoire est considérablement allongé. Dans la partie de la mémoire représentée sur la figure 5, 15 le cycle de lecture est court puisque toutes les lignes sont accédées simultanément, mais ce gain est réalisé aux dépens d'un nombre plus grand de composants. La figure 5 représente une colonne d'une mémoire associative, dont les références 20, 23 et 24 représentent les mêmes éléments que sur la figure 20 4. Le circuit est représenté sous forme schématique et ne montre pas les modifications du circuit électronique, évidentes pour l'homme de'l;,art nécessaires pour engendrer et utiliser de la manière qui sera expliquée, les signaux de sortie des cellules de données 20. Les circuits OU exclusifs 51 à 53 sont connectés de sorte que les sorties des circuits 51 et 52 fournissent les 25 entrées respectives au circuit 53. La sortie du circuit 53 est connectée à une entrée 54 d'un basculeur 55. L'entrée 54 lorsqu'elle est excitée enclenche le basculeur 55 qui est initialement à l'état binaire 0 et le met à l'état binaire 1. Les sorties des deux cellules supérieures-20 de la colonne qui sont excitées lorsque les cellules sont lues et sont dans l'état binaire 30 1, sont connectées comme entrées respectives au circuit OU exclusif 51. Les sorties des deux cellules inférieures de la colonne sont connectées comme entrée respective au circuit OU exclusif 52. Il est clair que l'entrée au basculeur 55 est la fonction OU exclusif du contenu de la colonne" de la mémoire. Si une rangée donnée est maintenant sélectionnée pour être lue, la contribution 35 de cette rangée aux entrées des circuits 51 à 53 est un 0 binaire qui n'a pas d'effet sur la fonction OU exclusif des rangées sélectionnées. La figure B représente une colonne d'une autre mémoire associative conforme à l'invention. On appellera la mémoire représentée sur la figure 6 mé.Tioire à seuil. Le principe de fonctionnement d'une mémoire à seuil est de détecter 40 la quantité de courant émis sur une ligne de bit par les cellules d'emmàgasi- 70 36307 2068589 nage de données dont le contenu est envoyé sur la. ligne.. On peut supposer que les cellules d'emmagasinage de données sont très proches.du point de vue de leurs caractéristiques de fonctionnement de sorte que la quantité de courant est directement proprotionnelle au nombre de cellules de données 5 qui se trouve dans l'état binaire 1. En conséquence, si la quantité de courant est détectable, on peut réaliser des tables de fonction dans lesquelles le nombre de 1 binaire dans un ordre du champ de résultat du mot -sélectionné est significatif. Dans la mémoire à seuil de la figure 6, chaque ligne de bit 24 est con-10 nectée en parallèle aux amplificateurs de détection 61 et 62. La sortie de l'amplificateur 61 et la sortie inversée de l'amplificateur 62 sont connectées aux entrées respectives d'un circuit ET 63, dont la sortie est connectée à un basculeur 64 afin de mettre le basculeur à l'état 1 binaire lorsque la sortie est excitée. L'amplificateur 61 fournit une entrée de conditionnels rnent à un circuit ET 63 lorsque la quantité de courant sur la ligne de bit - 24 est supérieure ou égale à la quantité émise par la cellule de données 20. L'amplificateur 62 fournit un signal de sortie qui est inversée pour déconditionner le circuit ET 63 lorsque la quantité du courant sur la ligne de bit 24 est supérieure à ou égale à deux fois la quantité émise par une 20 cellule de données 20. En bref, l'amplificateur 61 produit un signal de sortie important si 1 ou plusieurs 1 binaires sont amenés sur les lignes de bits 24 et l'amplificateur 62 produit un signal de sortie significatif si 2 ou plusieurs 1 binaires sont amenés sur la ligne de bits 24. Il en résulte que le basculeur 64 initialement dans l'état 0 est mis à l'état 1 binaire 25 si et uniquement si un 1 binaire est émis sur la ligne de bits 24. La table logique universelle pour la mémoire à seuil de la figure 6 est comme représentée sur la figure 3b. Cependant, toutes les fonctions logiques ne peuvent être réalisées au cours d'un passage dans cette table. L'efficacité de la table dépend du fait que le champ de résultat d'une ligne 30 de la table peut être annulé sélectivement suivant la sélection des autres lignes de la table. Le critère pour l'annulation dans le cas des mémoires des figures 4 et 5 a un domaine d'application assez large. S'il y.a un nombre impair de 1 simultanément sur la ligne de bit, le résultat ,est 1, et s'il y a un nombre pair de 1 sur la ligne de bit, le résultat est 0. Ceci signifie 35 qu'un certain nombre de sous-tables (les tables A, B, A.B, ,et complément . de la figure 3b) peuvent contribuer à la_ formation d'un résultat puisque le nombre' absolu* de 1 sur une ligne de bit n'est pas significatif. Cependant, dans la mémoire à seuil, le résultat est 1, si et uniquement si un 1.se trouve sur la ligne de bit. Une fois que deux 1 ont été émis.sur la ligne, on ne 40 peut faire changer le résultat 0 qui en découle et le faire passer à 1. Il 70 36307 2068589 s'ensuit que seules deux sous-tables peuvent être utilisées dans une opération et que les cinq fonctions suivantes parmi les seize possibles ne sont pas disponibles dans une opération de consultation de tablesî A + B (clé 1110] , Â + B (clé 1101), A + B (clé 1011), A = B (clé 0111) et Â . B (clé 1111), 5 Les clés énumérées ne sont pas admissibles dans une mémoire à seuil et peuvent être détectées par une table d'erreurs. Les fonctions peuvent être réalisées en utilisant la table logique universelle en inversant un ou les deux opérandes et ensuite en réalisant une opération qui n'utilise que deux sous tables. Ainsi, pour réaliser l'opération A + B, les deux opérandes sont inversés 10 et on réalise l'opération "Â . ÏÏ (clé 1001). Les autres opérations iirmédiate-ment non disponibles sont traitées de la même façon. Il est utile d'avoir une mémoire à seuil qui a la possibilité d'une lecture par simple opération OU ou un seuil différent. Une colonne d'une telle mémoire est représentée sur la figure 7. Le montage de la figure 6 15 est modifié en ajoutant un circuit ET inverseur 71 ayant comme entrée la sortie de l'amplificateur 62 et comme autre entrée la sortie 1 d'un basculeur 72. La sortie de l'amplificateur 62 est aussi connectée comme entrée à un circuit OU 73 dont l'autre entrée est la sortie 0 d'un basculeur 74. La sortie 1 du basculeur 74 est connectée comme entrée à un circuit ET 63 qui a aussi 20 comme entrée la sortie de l'amplificateur 61 et du circuit ET inverseur 71. Les deux basculeurs 72 et 74 étant dans l'état 0, la sortie du circuit 71 est toujours positive et il en résulte que les deux entrées du circuit ET 63 sont toujours conditionnées. Le basculeur 64 est mis à l'état 1, chaque fois qu'il y a au moins un 1 sur la ligne ds bit 24. Le basculeur 72 étant 25 à l'état 1 et le basculeur 74 à l'état 0, le montage de la figure 7 fonctionne exactement de la même façon que celui de la figure 6. La basculeur 74 étant dans l'état 1 indépendamment de l'état du basculeur 72 le circuit ET 73 est conditionné et le circuit ET 63 est déconditionné. Le basculeur 64 est mis à l'état 1 si deux 1 au moins sont émis simultanément sur la ligne de bit 30 24. La figure 8 représente un autre type de mémoire associative conforme à l'invention. La mémoire qui utilise les cellules à deux états 20, est divisée en ensembles 80A et BOB. Les lignes de bits 24A, 24B des colonnes correspondantes de chaque ensemble sont connectées comme entrées à un circuit OU exclu-35 sif 81, il y a tel circuit pour chaque couple de colonnes correspondantes. La sortie de chaque circuit 81 est connectée à un basculeur respectif 82 de sorte que l'excitation de sa sortie met le basculeur à l'état binaire 1. La mémoire associative de la figure 8 a toutes les qualités de la mémoire 40 de la figure 4 mais en plus, chaque ensemble a une possiblité de lecture 70 36307 7.068589 par opération OU et on peut y accéder indépendamment de l'autre ensemble bien que l'on puisse y accéder simultanément. Un inconvénient des mémoires décrites en se référant aux figures 4 à 8 est qu'elles ne peuvent être utilisées pour les mémoires générales. Bien 5 que, comme on l'a déjà indiqué, ces mémoires offrent certains avantages, lorsqu'elles sont utilisées simplement pour les consultations de tables, les cellules à deux états comme décrit en se référant à la figure 2 ne se prêtent pas à l'emmagasinage de données binaires qui sont à analyser pour trouver les attributs, des données. Ceci est particulièrement vrai lorsque 10 les attributs ne sont pas sous la commande du réalisateur comme c'est le cas lorsqu'on étudie une table de fonctions ou les adresses des tables de fonction. Dans le dernier cas, le réalisateur peut par exemple utiliser un code n parmi m pour l'adressage au lieu d'un code binaire pur à X états. Ainsi, une largeur de champs de six cellules 1-X fournira vingt adresses 15 indépendantes en utilisant un code 3 parmi B. Une façon de résoudre le problème consiste à attribuer les deux colonnes de cellules à deux états à chaque bit de données sur les champs où les cellules 1-0 sont nécessaires. Les états des cellules sont différenciés par les combinaisons des potentiels sur les deux lignes de bits. 20 Une solution plus satisfaisante consiste à réaliser des cellules d'emma gasinage de données comme représenté sur la figure 9. Chaque cellule 90 comprend deux transistors à double émetteurs couplés en croix directement T3 et T4. Les émetteurs E31 et E41 sont connectés directement respectivement aux lignes de bits 91 et 92. Les autres émetteurs E32 et E42 sont connectés 25 directement à une ligne de détection de mots 93. Lorsque la cellule est utilisée comme cellule à deux états 1-X, le transistor T3 conducteur représente l'état 1 et le transistor T4 conducteur représente l'état X. Lorsqu'une colonne de cellules est attribués comme cellule 1-X seule la ligne de bits 91 est utilisée pour lrinterrogation. Le potentiel de la ligne de bits 92 est toujours 30 conservé bas de sorte que tout courant circulant dans le transistor T4 est amené sur la ligne de bits 92 et ne peut apparaître sur la ligne de détection de mots 33. Dans ce mode de fonctionnement, la cellule 90 simule la cellule 1-X 20. Ou bien la cellule 90 peut être utilisée comme cellule associative ordinaire à deux états dans laquelle le 0 binaire est représenté par le fait 35 que le transistor T4 est conducteur. Pour réaliser une interrogation pour trouver un 1 binaire, le potentiel de la ligne de bits 92 est augmenté et celui de la ligne de bits 91 est diminué. Si la cellule est dans l'état 1, le courant circulant dans le transistor T3 est dirigé sur la ligne de bits 91. Si la cellule se trouve dansai'état 0, le potentiel sur la ligne de bits 40 92 dirige le courant circulant dans le transistor T4 par l'émetteur E42 à la 70 36307 9 2068589 ligne de détection de mots 93 engendrant ainsi un signal de désaccord. L'attribution d'une colonne de cellules 90 pour fonctionner comme cellule 1-X ou cellule associative binaire peut être déterminée par un basculeur qui maintient le potentiel bas sur la ligne de bits 92 si ce basculeur est 5 dans un état stable donné. Les basculeurs pour toutes les colonnes de mémoire constituent un registre de commande qui peut être chargé lorsque la mémoire est chargée ou pendant l'exécution d'un programme. L'addition est l'opération par laquelle l'efficacité d'un système de traitement des données peut être le plus facilement, bien que seulement appro-10 ximativement, évaluée. Avec une mémoire associative dans laquelle les champs de résultats subissent une opération ou au cours de la lecture, une addition dans un cycle de la mémoire, de deux opérandes à n bits prend C10 x 2n -4n - 9) lignes de la mémoire. Pour n = 3, 2159 lignes sont nécessaires. En utilisant la mémoire à seuil des figures B, ou 7 ou la mémoire de la figure 15 8, le nombre des lignes nécessaires peut être réduit à 53. L'addition binaire peut être définie à partir de la somme partielle ACm) V BCm) = PCm), et le report ACm).BCm) = CCm) de l'ordre m des opérandes A et B. L'ordre Cm+1) du résultat R est : RCm+1) = PCm+1) V CCm) 20 où CCm) = GCm) + PCm).GCm-1) + PCm).P(m-1].GCm-2) + CPCm) ... PC2).PC1).CCO)) et C(O) est le report dans l'ordre le plus bas tordre 1). Sur la figure 10, les mémoires associatives 100 et 101 sont soient des mémoires à seuil du type représenté sur les figures 6 ou 7 soit des mémoires 25 du type représenté sur la figure 8. Les lignes 102 et 103 de la mémoire 100 contiennent chacune un opérande écrit deux fois, et un certain nombre de 0 binaires. Le montage est tel que les opérandes A et B occupent les mêmes colonnes de la mémoire et que les opérandes A et B occupent respectivement les mêmes ordres que les 0 binaires. Si la mémoire est la mémoire du type 30 représenté sur la figure 8, les lignes 102 et 103 se trouvent dans des ensembles différents. Si la mémoire est une mémoire à seuil du type représenté sur la figure 7, les bascules 72 et 74 sont enclenchées de sorte que la mémoire fonctionne de la même façon que la mémoire de la figure B. Une opération de lecture sur les lignes 102 et 103 conduit à la formation de la fonction 35 A V B = P, A et B, comme représenté sur la figure 10. La table 104 dans la mémoire 101 engendre à partir des entrées A et B la fonction G = A.B, et à partir des fonctions P et G le résultat de l'addition. La figure 11 représente la table 104 pour la mémoire à seuil des figures 6 ou 7 et la figure 12 représente la table pour la mémoire à plusieurs ensem-40 bles de la figure 6. La table est représentée pour des opérandes à quatre 10 70 36307 2068589 bits et nécessite dix neuf lignes au lieu de cent trente cinq lignes pour une mémoire à lecture par opération OU. Pour représenter comment les tables sont réalisées, on va faire une brève description de la figure 12. Les ensembles respectifs A et B qui corres-5 pondent aux ensembles 80A et 80B de la figure 8 contiennent chacun des lignes qui définissent les conditions d'existence des bits un du résultat. Mais ces conditions qui ne peuvent coexister et donner un bit un dans le résultat sont disposées dans différents ensembles, de sorte que l'émission simultanée par chaque ensemble d'un bit 1 conduit à la formation d'un bit 0 dans le 10 résultat. On considère par exemple, le bit résultat RC4). Il est égal à 1 si PC4) = A(4) -V B(4] = 1 ou s'il y a un report provenant d'un ordre inférieur, mais non si les deux conditions existent. La quatrième ligne de l'ensemble A donne RC4) = 1 si PC4) = 1, et les quatre dernières lignes de l'ensemble B donnent R(4) = 1 s'il y a un report. Si les deux ensembles émettent R(4) 15 = 1 la sortie du circuit DU exclusif 81 dans la colonne R (4) du champ de résultat donne R(4)=0. Bien que cette invention ait été décrite comme utilisée dans une mémoire associative avec des cellules d'emmagasinage de données associatives, c'est-à-dire des cellules qui sont réalisées afin de répondre aux signaux d'inter-20 rogation, qui concordent ou sont en désaccord avec les signaux de sortie, suivant le contenu des données de la cellule, elle peut également s'appliquer aux mémoires associatives utilisant des cellules binaires classiques, par exemple en apportant quelques modifications aux circuits logiques, la mémoire associative décrite dans la demande de brevet n° 6920464 déposée par la deman-25 deresse en France le 19 Juin 1969. Avec l'invention, l'interrogation des données peut avoir lieu, les données étant dans la cellule ou étant transférées à un circuit logique extérieur de l'ensemble d'emmagasinage constitué de cellules de données. Bien que l'on ait décrit dans ce qui précède et représenté sur le dessin, 30 les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. 70 36307 2068589 REVENDICATIONS 1.- Mémoire associative comprenant plusieurs cellules d'emmagasinage de données à deux états, caractérisée en ce que un des états est tel qu'un signal de désaccord n'est pas engendré si le contenu de la cellule est interrogé 5 pour trouver si elle contient un 1 ou un 0 binaire. 2.- Mémoire selon la revendication 1, dans laquelle chaque cellule d'emmagasinage de données est caractérisée en ce qu'elle comprend un transistor à un seul émetteur couplé en croix directement à un transistor à deux émetteurs, un émetteur de ce dernier étant connecté à une ligne de détection de mots 1D et l'état X étant défini par le fait que le transistor à un seul émetteur est conducteur. 3.- Mémoire selon la revendication 1, dans laquelle chaque cellule d'emmagasinage de données est caractérisée en ce qu'elle comprend deux transistors à deux émetteurs couplés en croix directement, un émetteur de chaque transistor 15 étant connecté à une ligne de bits respective et l'autre émetteur de chaque transistor étant connecté directement à une ligne de détection de mots. 4.- Mémoire selon les revendications 1, 2 ou 3, caractérisée en ce que les ordres identiques de tous les mots CA,B....) sélectionnés dans une opération de recherche associative subissent une opération logique OU exclusif 20 (A¥B* ....). 5.- Mémoire selon la revendication 4, caractérisée en ce que les cellules de mémoire sont disposées en rangées et en colonnes, et chaque colonne de cellules a une ligne de bits respective qui est connectée à l'entrée "complément" d'un basculeur binaire et sur laquelle se trouvent des signaux représen- 25 tant les états des cellules d'emmagasinage constituant la colonne. 6.- Mémoire selon la revendication 4, caractérisée en ce que pour toutes les colonnes, les cellules de mémoire constituant une colonne sont connectées par couple comme entrée de premier niveau à un arbre à plusieurs niveaux formés de circuits OU exclusifs. 30 7.- Mémoire selon la revendication 1 ou 2, caractérisée en ce que les cellules d'emmagasinage sont disposées en rangée et en colonne et chaque colonne de cellules de données a une ligne de données respectives, le montage étant tel qu'à la lecture, les cellules de données dans un état donné émettent 70 36307 2068589 chacune sur la ligne de bit une quantité unitaire de courant, et que chaque ligne de bit est associée à un basculeur d'emmagasinage et à un circuit de commande qui est sensible à la quantité de courant sur la ligne de bit pour mettre le basculeur à un état stable donné. 5 8.- Mémoire selon la revendication 7, caractérisée en ce que le circuit de commande est sensible à la présence d'une et d'une seule unité de courant sur la ligne de bits pour mettre le basculeur à l'état stable donné. 9.- Mémoire selon la revendication 8, caractérisée en ce que le circuit de commande est sensible à la présence de deux ou plusieurs unités de courant 10 sur la ligne de bits pour mettre le basculeur à l'état stable donné. 10.- Mémoire selon la revendication 1 caractérisée en ce qu'elle comprend deux ensembles ordonnés de la.même façon de cellules d'emmagasinage de données, chaque colonne de chaque ensemble comporte une ligne de bits respective qui est excitée, lors de l'opération de lecture, suivant le contenu des cellules 15 dans la colonne lue, les lignes de bit de chaque ordre correspondant des deux ensembles étant connectées comme entrées à un circuit OU exclusif, un tel circuit étant utilisé pour chaque ordre.