Brevet FR2309015A1 — publié le 19761119

La présente invention se rapporte aux mémoires associatives, ctest-à-dire à des mémoires munies de dispositifs qui permettent de rechercher si une information donnée s'y trouve ou non et dans l'affirmative, de relever l'adresse de cette information, qui constitue l'information associée. L'invention concerne plus particulièrement les mémoires associatives à semi-conducteurs. Les mémoires associatives antérieures du type#séquen- tiel ont des temps d'accès relativement élevés, tandis que les mémoires associatives connues dans lesquelles une comparaison en parallèle de l'information d'entrée et du contenu de la mémoire est effectuée ont, compte tenu de la logique d'intersection qu'elles doivent comporter pour localiser l'information, des encombrements et des coûts prohibitifs dès qu'il s'agit de mémoires de taille moyenne (par exemple, ayant une capacité de 64 mots de 18 bits) ou grande. L'invention propose une mémoire associative réalisée à partir d'un petit nombre de mémoires de type classique (c'est-à dire, permettant simplement la lecture de l'information stockée à une adresse connue), et qui offre, pour un encombrement minimum, la possibilité d'obtenir une grande capacité avec des temps d'accès faibles. Suivant l'invention, une mémoire associative est caractérisée en ce qu'elle comporte une mémoire principale à accès aléatoire et au moins une mémoire auxiliaire à accès aléatoire ayant le même nombre de mots que la mémoire principale, ces mots ayant un nombre de bits inférieur à ceux de la mémoire principale, des moyens d'écrire un mot à une adresse quelconque de la mémoire principale et des moyens d'écrire cette adresse à l'adresse de la mémoire auxiliaire qui est définie par l'ensemble appelé "H-code" des bits les moins significatifs dudit mot des moyens de lire la mémoire auxiliaire à l'adresse définie par le 'tH-code" d'une information extérieure dont on veut rechercher l'adresse en mémoire principale et de lire la mémoire principale à l'adresse lue dans la mémoire auxiliaire, des moyens de comparer le mot ainsi lu dans la mémoire principale à ladite information extérieure et des moyens d'effectuer, en cas d'échec de cette comparaison, une lecture séquentielle de la mémoire principale et une comparaison entre ladite information extérieure et cha: cun des mots successivement lus dans la mémoire principale. Suivant un mode d'exécution préféré, la mémoire associative comporte une cascade de mémoires auxiliaires, lesdits moyens étant agencés pour que le contenu de chacune des mémoires auxiliaires à l'adresse définie par ledit "H-code" soit transféré à la mémoire auxiliaire suivante de façon que l'écriture de l'adresse du mot en mémoire principale puisse toujours être effectuée dans la première mémoire auxiliaire. Les avantages, ainsi que d'autres particularités de l'invention apparattront clairement à la lumière de la description ci-après. Au dessin annexé La figure 1 est le schéma d'une mémoire associative conforme au mode d'exécution préféré de l'invention La figure 2 représente les principaux signaux qui apparaissent dans le montage de la figure 1 pendant une opération de chargement d'adresse La figure 3 représente les principaux signaux qui apparaissent dans le montage de la figure 1 pendant une opération dté- criture La figure 4 illustre l'opération de recherche Le dispositif représenté à la figure 1 comprend une mémoire principale 1 ou M, par exemple de 64 mots de 18 bits dont l'entrée INP est reliée à la borne d'entrée de l'information 1, celle-ci ayant 18 bits. La sortie OUT est reliée à l'entrée A d'un comparateur 2 qui reçoit, sur son autre entrée B, l'information I. A l'information contenue dans la mémoire principale, est associée une information auxiliaire de 6 bits (adresse de l'information en M), stockée dans une pluralité de n mémoires auxi Maire n, T2, T3 ... Tn-I, Tn comportant chacune 64 mots de 6 bits. L'entrée INP de chacune des mémoires auxiliaires T2 à -Tn est reliée à la sortie d'un registre de 6 bits, AIJX1 à AUX respectivement. Les sorties OUT des mémoires auxiliaires sont reliées aux entrées 0,1, 2, 3 ... n - 1 d'un multiplexeur, dont l'entrée AD (adresse) est reliée à la sortie Q d'un compteur de cycles 4 et dont la sortie est reliée à l'entrée principale d'un registre-compteur RC - XUS. La sortie du registre-compteur RC - NUL est reliée à l'entrée AD de la mémoire 1. La sortie de report CARRY du registre-compteur est reliée à une entrée d'une porte ED 5. La sortie de la porte 5 est reliée à l'entrée J d'une bascule 6, dont l'entrée S reçoit un signal d'initialisation INIT et dont la sortie Q fournit un signal ECHEC. Les entrées CK du compteur 4 et de la bascule 6 sont reliées entre elles et à la sortie Q d'une bascule 7, dont la sortie Q est reliée à l'autre entrée de la porte 5 et fournit un signal Rn#S#jl. L'entrée S de la bascule 7 est reliée à la sortie :: B du comparateur u, tandis que l'entrée R est reliée à la sortie CKO d'une horloge 8. L'entrée VALID de l'horloge est reliée à la sortie Q d'une bascule 9, qui fournit par ailleurs un signal 'tVhLID CO, et dont l'entrée R est à lamasse, l'entrée J, reliée à un niveau logique 1. L'entrée CK de la bascule 9 est reliée à une porte ET 10, qui fournit un signal START et dont les entrées reçoivent respectivement des signaux ECRITURE et RECll#RCHE. L'entrée R de la bascule 9 est reliée à une porte ET 11, qui fournit un signal STOP, dont deux entrées reçoivent respectivement les signaux REUSSITE et ECHEC et dont la troisième entrée est reliée à la sortie 2 d'un décodeur 12. La sortie "1" du décodeur 12 est reliée, d'unepart aux entrées E/L des mémoires auxiliaires, d'autre part, à une entrée d'une porte ET 13, dont l'autre entrée reçoit des signaux EFFACE #itNT, et dont la sortie est reliée à l'entrée E/L de la mémoire 1. La sortie "O" du décodeur 12 est reliée aux entrées CK des registres AUX Ces registres ont chacun une autre entrée, reliée à la sortie OUT de la mémoire auxiliaire de même rang. La sortie Q du compteur 4 est reliée à l'entrée AD du décodeur 12. La sortie Q de la bascule 7 est reliée à une entrée d'une porte NON / OU 14, dont l'autre entrée reçoit un signal "CHG.RC NUM" et dont la sortie est reliée à l'entrée CP du registre-compteur "RC NUM". La sortie de ce registre fournit un signal "Adresse cherchée" et est reliée à l'entrée INP de la mémoire T1. L'entrée INHIBIT WRITE duregistre-compteur est reliée à la sortie d'une porte OU 15, dont une entrée reçoit le signal CHG.RC trUM, l'autre étant reliée à la sortie d'une porte ET 16 qui reçoit les deux signaux ECRITURE et VALID CKO déjà mentionnés. La sortie de la porte 16 est reliée à l'entrée INHIBIT COUNT du registre-compteur. Le signal INIT est appliqué à l'entrée RJ# du compteur 4 et à l'entrée R d'une bascule 17, dont l'entrée J est à1, lten- trée K à O et l'entrée CK reliée à la sortie CARRY du compteur 4. Cette dernière sortie est .également reliée à une entrée d'une porte ET 18, dont l'autre entrée reçoit le signal CHG.RC NUM, et dont la sortie est reliée à I'entrée VALID du registre-compteur. La sortie Q de la bascule 17 est reliée à l'entrée WRI- DE/COUND du registre-compteur. Le signal CHG.RCNUb# est par ailleurs appliqué à l'entrée R An du compteur 4, tandis qu'un signal NUM (ext) est appliqué à l'entrée n du multiplexeur. Ce dernier a n + 1 entrées, n étant le nombre des mémoires auxiliaires. Les 6 derniers bits de l'information I, qui constituent dans l'exemple choisi le "H-code" HI, sont appliqués aux entrées AD des mémoires auxiliaires. Les composants principaux du montage sont par exemple, des types suivants mémoires principale et auxiliaire : composées de boî- tiers RAM de 64 mots/9 bits de type 82SO9 commercialisé par la Société SIGNETICS. Registre-compteur : composé de deux compteurs binaires de type 93516 commercialisé par la Société FAIRCHILD. Comparateur : composé de 3 boîtiers de 6 bits du type 93S46 commercialisé par la Société F IRCHILD. Les registres AUX sont agencés pour que le transfert des informations à leur sortie s'effectue lors du front positif O - 1 du signal appliqué sur leur entrée CK. De même, le compteur RC NUM est agencé pour que le transfert des informations à sa sortie s'effectue lors du front positif 0-1 du signal appliqué à l'entrée CP. Par contre, en ce qui concerne le compteur 4 et les bascules, c'est lors du front 1 - O du signal d'horloge que le transfert - d' inkrmation s'effectue. Les portes ET 10, 11, 13, 16-, 18, validées par des signaux O, se comportent comme des fonctions OU. Le compteur 4 à n + 1 états 0, 1 ... n, le signal RAn étant un signal de remise dans l'état n et le signal RAZ, un signal de remise à zéro. La sortie CARRY passe à 1 lorsque le compteur est dans l'état n. L'entrée E/L des mémoires auxiliaires correspond à une commande d'écriture si E/L = O, de lecture si E/L = 1. Les entrées Â sont des entrées d'adressage. La sortie du multiplexeur est forcée à O si VIZIR = 1. Le re.stre-compteur est placé dans l'état fixé par la sortie du multiplexeur si WRITE/COUNT = O et s'il existe des impulsions sur l'entrée d'horloge C P. Cette fonction ne se réalise pas si INHIBIT WRITE = 0. Si WRITE/COUNT = 1 et s'il y a des impulsions sur l'entrée C P, le registre-compteur compte les impulsions appliquées en C P. Cette fonction ne se réalise pas si INHIBIT COUNT = 0. La sortie CARRY du registre-compteur passe à 1 si ce registre-compteur est dans l'état N - 1, Nétant le nombre des mots de la mémoire associative et aussi, le nombre d'états dudit registre-compteur (0, 1, 2 ... N - 1). La sortie A :: B du comparateur passe à 1 si VALID = 0 et A = B. Le décodeur est agencé pour décoder les états O, 1 et 2 du compteur 4. Dans l'exemple choisi où N = 64, on pourra prendre n g 3 (c'est-à-aire qu'il n'y aura que trois mémoires auxiliaires). Le fonctionnement du aispositf est le suivant Dans l'exemple considéré, l'information I destinée à être inscrite dans la mémoire principale à l'adresse NUM comporte 18 bits, dont les 6 derniers HI sont utilisés comme "H-code". I est directement introduit dans le comparateur, et il sera mis en mémoire principale à l'adresse WW##, le signal d'adressage étant appliqué à l'entrée AD de la manière indiquée plus loin. Le H-code HI est par ailleurs appliqué à l'entrée d'adressage AD des mémoires auxiliaires, si bien que I1 information appliquée à ces mémoires sera stockée à l'adresse EI. A la première inscription d'information, seule la mémoire Ti reçoit une information. Cette information est précisément l'adresse NUM. Les informations I successives sont ainsi inscrites aux adresses NUM appropriées de la mémoire principale, tandis que les adresses NU; sont inscrites dans la première mémoire auxiliaire T1, aux adresses définies par les "H-codes" HI respectifs. 'il se présente une information, soit I', destinée à l'adresse NUM et ayant le même "H-code" que 1'une des informations I déjà mises en mémoire dans le dispositif, cette information I' sera inscrite à l'adresse Nt#' en mémoire prIncipale, mais son adresse i#UL::;' sera inscrite à l'adresse HI dans la première mémoi re auxiliaire, tandis que l'adresse nE qui se trouvait dans T1 sera transférée à l'adresse HI dans la seconde mémoire auxiliaire T2. D'une façon générale, l'opération d'écriture comportera donc d'abord une lecture en T1 ... T à l'adresse H1 et un déca n lage éventuel du contenu de cette adresse dans ces mémoires auxiliaires d'un rang pour pouvoir, dans tous les cas, placer l'adresse NUM dans T1. A l'inverse, l'opération de recherche, qui consiste à rechercher, dans la mémoire principale, une information I d'adresse NUM inconnue, comportera évidemment des lectures successives à l'adresse H1 dans les mémoires auxiliaires, avec comparaison entre le contenu de la mémoire principale correspondant à l'adresse définie par le résultat de la lecture en mémoire auxi l'aire et l'information connue I. Lorsqu'il y a égalité, l'on a ainsi déterminé l'adresse NUS inconnue. A défaut d'égalité, le montage effectue une recherche séquentielle aux adresses successives de la mémoire principale, recherche qui peut évidemment- elle-même échouer, si l'information I n'est pas dans cette mémoire. L'effacement d'une adresse en mémoire principale s'effectue en remplaçant le contenu de cette adresse par une information définie Ieff qui sera par exemple Ieff = En utilisant le calcul des probabilités, on peut montrer que, à certaines conditions habituellement satisfaits, la recherche pourra s'effectuer sans opération de lecture séquentielle, donc très rapidement, dans environ 60% des cas, en utilisant un nombre n de mémoires auxiliaires égal à 1, environ 90% des cas pour n = 2 et pour n > 3, dans la quasi totalité des cas. On démontre que, plus le nombre des mémoires auxiliaires est grand, plus, pour une capacité de mémoire donnée, le temps d'accès sera réduit. Toutefois, la relation entre le nombre des mémoires auxiliaires et le temps d'accès est asymptatique. Dans les applications qui sollicitent des recherches en mémoire successives de -la même information I, le temps d'accès est sensiblement réduit si, avant de consulter les mémoires auxiliaires, le montage vérifie que l'adresse déterminée lors de la recherche précédente n'est pas celle recherchée. Dans le montage décrit, comme on le verra ci-après, le fait que le registre d'adresse RC-NUM adresse en permanence la mémoire en lecture.permet cette "comparaison d'histoire titre d'exemple, une mémoire associative de 64 mots de 18 bits sera, en prenant n - 3, réalisée avec 24 boîtiers, alors que sa réalisation avec des boîtiers de mémoire associative existants (à4 mots de 4 bits) aurait nécessité au moins 85 boîtiers.Le temps de recherche obtenu, en réalisant le schéma en technologie "TTL-Schottky", peut être de l'ordre de 200 ns (contre 40 ns avec la technique connue). On va maintenant décrire plus en détail le fonctionnement du montage. L'opération d'initialisation, préalable au chargement d'adresse, ou à la recherche ou l'écriture, comporte, simultanément, la remise à zéro du compteur 4, celle de la bascule 17 et la remise à 1 de la bascule 6. Il en résulte que WRI#iE/C0Ui# passe à zéro et ECHEC passe à 1. L'opération de chargement d'adresse en RC NUM est illustrée par la fig. 2, dans laquelle les hachures descendantes vers la droite désignent un intervalle de temps où le signal correspondant est sans effet, tandis que les hachures montantes vers la droite désignent un temps de propagation du signal. On voit que, après un certain temps de propagation, le front descendant du signal CHG RCNUM fait passer le compteur 4 dans l'état n, valide le multiplexeur et fait passer le signal INHIBIT WRITE à 1 (porte 15). L'entrée CP du registre-RC-NUM reçoit une impulsion par la porte 14. En même temps, l'entrée n du multiplexeur reçoit l'adresse NUM à charger (signal NUM (ext)). Au bout d'un temps de propagation, la sortie du multiplexeur passe donc à la valeur NUM. Lors du front de remontée du signal CP ou CHGRCNUM, l'information NUM est transférée à la sortie du registre RC-NUM, puisque INHIBIT WRITE = 1 et WRITE/COUNT = 0. Le chargement est donc effectué. Le compteur 4 passe alors à O, WRITE/COUNT passe à 1 et INHIBIT WRITE passe à 0. L'opération d'écriture est illustrée par la figure 3, dans laquelle les hachures ont la même signification qu'à la figure #. Cette opération est précédée du chargement d'adresse, si bien que le compteur 4 est à zéro et le registre RC-NUM a sa sortie à la valeur NUE lorsque l'information I est appliquée aux mémoires et au comparateur. Au bout d'un temps tr minimum nécessaire pour l'inscription en Mémoire auxiliaire, les sorties des mémoires auxiliaires sont à la valeur T2 (HI) (lecture des mémoires auxiliaires) et l'ordre ECRITURE est alors appliqué aux points indiqués à la figure 1. La bascule 9 étant alors mise à Q = 1, le signal VALID- CKO passe à 1 et en même temps, la sortie O du décodeur passe à O. Par ailleurs, l'horloge démarre. La première impulsion CKO met à 1 pendant sa durée la sortie Q de la bascule 7, donc CK = 1. A la fin de cette impulsion (front montant), CK passe à 0, si bien que le compteur 4 passe dans l'état 1. Il en résulte que la sortie 0 du décodeur passe à 1. Les entrées CK des registres AUX sont alors passées de O à 1, si bien que l'information T i (HI) est transférée dans le registre AUXi. Au bout d'un temps de propagation, la sortie 1 du décodeur passe à O et l'écriture proprement dite s'effectue; les mémoires T. étant validées pour l'écriture sur leur entrée E/L (E/L = 0) enregistrent, pour T1, la valeur NUM appliquée en INP par le registre RCNUM et, pour Ti, AUXi (qui contient Ti-1 (HI): décalage de l'information) La mémoire 1, validée pour l'écriture par le signal transmis par la porte 13j enregistre l'information I, présente sur son entrée INP, à l'adresse NUM appliquée à son entrée hD. A la fin de la deuxième impulsion d'horloge, le compteur 4 passe à l'état 2, et par suite, la sortie 2 du décodeur passe à l'état 0 si bien que, par l'intermédiaire de la porte 11, le signal STOP est appliqué à la bascule 9. Donc VALIDCKO passe à 0 et l'horloge s'arrête. A la fin du signal d'écriture, les sorties du décodeur sont toutes revenues à l'état 1. L'opération de recherche est illustrée par la figure 4, dans laquelle les hachures ont la même signification qu'à la figure 2. Au début de cette opération, le compteur 4 est dans l'état 0, le registre RCNUM est chargé avec une certaine adrèsse NUM (qui est l'adresse cherchée au cours de l'opération de recherche précédente) et la mémoire précédente) et fournit M (NUM) à sa sortie. Au bout d'un temps tH après l'application de l'information I dont on recherche l'adresse en mémoire 1, les mémoires T. ont été lues à l'adresse HI ; après un temps T , la sortie du multiplexeur, adressée à l'état 0 par le compteur 4, est T1 (Hi) et l'ordre RECHERCHE est appliqué. La bascule 9 fournit alors VALIDCKO ; INHIBIT COUNT et INHIBIT WRITE passent à 1 (portes 16 et 15) et au bout d'un temps #tm + tH compté à partir de l'instant d'application de l'informations horloge fournit une première impulsion (CKO = 0), si bien que la bascule 7 fournit CK = 1 sur sa sortie Q. Par ailleurs, le comparateur, dès qu'il reçoit l'ordre RECHERCHE, effectue la comparaison entre M(NUM) et l'information I. S'il y a égalité, A :: B = 19 l'apparition de l'impulsion d'horloge CKO entraîne, sur la bascule 7, Q = 1 (porte PAS ET 71), donc Q = REUSSITE = 0 (porte PAS ET 72). Le signal REUSSITE = 0 arrête l'horloge (porte 11 et bascule 9, VALIDCKO = 0). Comme il en résulte (portes 15 et 16) INHIBIT WRITE = INHIBIT COUNT = O, le registre RCNUM est inhibé. La sortie Q de la bascule 7 est maintenue en permanence à 1, cette bascule (une entrée de la porte 71 étant à 0) remplis- sant alors une fonction mémoire et le signal CK se trouvant ainsi allongé. Il se termine seulement lors de la disparition de l'ordre de recherche, qui invalide le comparateur. Le signal REUSSITE passe alors à 1. Le signal CP disparatt sur le registre RCNUM, mais son état ne change pas, car il est déjà inhibé, comme on l'a indiqué ci-dessus.Si la comparaison d'histoire échoue (A::B = O), à la disparition de la première impulsion d'horloge, la sortie de RC- NUM passe, au bout d'un temps tp, à la valeur T1(HI) et le compteur 4 passe à l'état 1, si bien que la sortie du multiplexeur prend la valeur T2(H1). Au bout d'un temps txî la sortie de la mémoire 1 prend la valeur M(T1(H1)), laquelle est comparée à l'information I dans le comparateur. En cas d'égalité, le processus de réussite décrit ci- dessus se produit En cas d'inégalité, à la disparition de l'im- pulsion d'horloge CKO, le compteur 4 passe à l'état 2, la sortie du multiplexeur prend la valeur T3(HI), la sortie de RCNUN passe à T2(HI), la sortie de la mémoire 1 passe à M(T2(HI)) et une nouvelle comparaison s'effectue. Le processus se poursuit, par progression du compteur 4, soit jusqu'à égalité, soit jusqu'à ce qu'il ait atteint l'état n.A ce moment, la sortie CARRY du compteur 4 est passée à la valeur 1 et, par suite, le multiplexeur est invalidé (porte 18), sa sortie passant ainsi à O.-La disparition de l'impulsion d'horloge détermine alors RCNUM = O. Lorsque la sortie CARRY passe à O, la bascule 17 est mise à l'état Q = 1, ce qui invalide l'écriture et valide le comptage dans RCIÇUM. La mémoire 1 est alors lue à l'adresse 0, sa sortie est comparée à I et, en cas d'égalité, le processus de réussite déjà décrit se déroule. En cas d'inégalité, à la disparition de l'impulsion d'horloge suivante, le registre RCNTJM passe à l'état 1, une lecture en mémoire 1 à l'adresse 1 s'effectue, suivie d'une nouvelle comparaison. En cas d'inégalité, ce processus de recherche séquentielle se poursuit Jusqu a ce que RCNUM arrive à état N - 1 = 63. Lorsqu'il en est ainsi, la sortie CARRY de ce registre-compteur passe à 1, si bien que l'entrée J de la bascule 6 passe à 1 et lors de la disparition du nouveau CKO, si REUSSITE = 1, J se maintient à 1, donc ECHEC passe à 0.Le signal ECHEC = 0 arrête l'horloge (porte 11 et bascule 9). Le signal VALIDCKO = O qui apparaît à la sortie de la bascule 9 inhibe le registre RC NUM (porte 16). En cas de réussite sur l'état 63, l'entrée J de la bascule 6 passe à 0, l'agencement étant tel que ceci se produit un bref intervalle de temps avant l'arrivée du front descendant du signal CE, si bien que ce signal ne peut alors faire passer la bascule 6 sur ECI#EC w O. Il convient de noter que le dispositif decrit permet d'effectuer la lecture à une adresse donnée. Il va de soi que les circuits pourront être modifies; en particulier d'autres combianisons de portes et de bascules pourront être imaginées, sans s'écarter de l'esprit de l'invention. On remarquera que, grace à l'agencement du transfert à l'aide des registres auxiliaires, deux ou plusieurs des mémoires auxiliaires, qui sont adressées en parallèle, pourront Ntre matériellement réalisées à l'aide d'une seule mémoire. REVENDICATIONS 1. Mémoire associative caractérisée en ce qu'elle comporte une moire principale à accs aléatoire et au moins une mémoire auxiliaire à accès aléatoire, la mémoire auxiliaire ayant le même nombre de mots que la mémoire principale, ces mots ayant un nombre de bits inférieur à ceux de la mémoire principale, des moyens d'écrire un mot à une adresse quelconque de la mémoire principale et des moyens d'écrire cette adresse à l'adresse de la mémoi est re auxiliaire qu#définie par l'ensemble,appié "H-code", des bits les moins significatifs dudit mot des moyens de lire la mémoire auxiliaire à l'adresse définie par le "H-code" d'une information extérieure dont on veut rechercher l'adresse en mémoire principale et de lire la mémoire principale à l'adresse lue dans la mémoire auxiliaire, des moyens de comparer le mot ainsi lu dans la mémoire principale à ladite information extérieure et, des moyens d'effectuer, en cas d'échec de cette comparaison, une lecture séquentielle de la mémoire principale, et une comparaison entre ladite information extérieure et chacun des mots successivement lus dans la mémoire principale. 2. Mémoire associative selon la revendication 1', caractérisée en ce qu'elle comporte une cascade de mémoires auxiliaires, lesdits moyens étant agencés pour que le contenu de chacune des mémoires auxiliaires à l'adresse définie par ledit -code" soit transféré G la mémolr iliaire suivante, de façon que l'écriture de l'adresse du mot en mémoire princIpale puisse toujours être effectuée dans la première mémoire auxiliaire. )7 mémoire associative selon la revendication 1 ou 2, caractérisée par un reç#istre-compteur, chargé avec l'adresse du mot à inscrire dans la mémoire principale et adressant celle-ci lors de l'écriture et de la lecture. 4. mémoire associative suivant la revendication 3, caractérisée en ce que ledit registre-compteur mémorise l'adresse trouvée dans une opération de recherche et par des moyens de comparer l'information extérieure au contenu de la mémoire principale à ladite adresse, au début de l'opération de recherche suivante. 5. ?.#émoire associative suivant l'une des revendications 2 à 4, caractérisée par un registre auxiliaire, reliant chacune des mémoires auxiliaires (à l'exception de la dernière) à la suivante et agencé pour effectuer ledit transfert. 6. Mémoire associative suivant les revendications 3 et 5, caractérisée par un multiplexeur reliant les sorties des mémoires auxiliaires respectives et une entrée d'adresse extérieure à l'entrée dudit registre-compteur. 7. Mémoire associative suivant la revendication 6, caractérisée par une horloge, déclenchée par un ordre d'écriture ou de recherche et arrêtée par une opération de réussite ou d'échec de ladite comparaison et par un compteur des impulsions d'horloge, ledit compteur ayant autant d'états (O, 1, 2 ... n) que le multiplexeur comporte d'entrées et étant agencé pour valider successivement lesdites entrées. 8. mémoire associative suivant la revendication 7, caractérisée par un organe décodeur des trois premiers états (O, 1, 2) du compteur, dont la sortie qui correspond au premier état du compteur est reliée aux entrées de commande de transfert des registres auxiliaires, dont la sortie qui correspond au second état est reliée aux entrées d'écriture et de lecture des mémoires auxiliaires, et dont la sortie qui correspond au troisième état fournit un signal d'arrêt de l'horloge. 9. Mémoire associative suivant la revendication 7, caractérisée par une bascule dont une entrée (S) est reliée à la sortie d'égalité du compagateur et une autre entrée (R) est reliée à la sortie de l'horloge, une sortie (Q) de cette bascule étant reliée à l'entrée de comptage du compteur des impulsions d'horloge et l'autre sortie (Q) de cette bascule fournissant un sinal de réussite de la comparaison, ladite bascule étant agencée sa sortie 4 étant alors maintenue en permanence dans l'état 1, de manière telle que, pendant l'opération de recherche, elle joue le rôle d'un inverseur sur son entrée R en cas d'échec de la comparaison et, en cas de réussite, elle remplira une fonction de mémoire. 10. Mémoire associative suivant la revendication 9, caractérisée en ce que ladite bascule est composée de deux portes PAS ET, la sortie de chacune d'elles étant connectée à une entrée de l'autre.