Brevet FR2095279A1 — publié le 19720211

La présente invention concerne les systèmes d'enrmagasinage de, données du..type associatif. Dans les mémoires associatives de l'art antérieur, chaque position d'emmagasinage comprend un nombre déterminé de positions de bits utilisés pour la compa-5 raison avec un mot d'argument de recherche, les positions de bits restantes contenant les données emmagasinées. Dans d'autres mémoires associatives de l'art antérieur, l'utilisation du masquage permet la sélection du nombre de positions -utilisés pour la recherche f - de bits. Par l'utilisation de mémoires réalisées suivant la présente invention, cette idée de masquage peut être développée en combinant plus d'un mot afin de 1q former un mot d'argument de recherche masqué. En conséquence, une mémoire de données associative suivant la présente invention comprend deux ensembles d'emmagasinage interconnectés de façon que un ou plusieurs mots sélectionnés à partir de l'un ou l'autre des ensembles puisse ê-tre appliqué à l'autre ensemble comme un argument de recherche pour accéder à -]5 l'autre ensemble. D'autres objets caractéristiques et avantages de la présente invention ressor tiront 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. . La figure.1 est un.schéma bloc d'une mémoire associative divisée en deux en- 2Q sembles. La figure 2 est un schéma bloc d'un circuit de commande logique utilisé pour raccorder l'ensemble de la figure 1. • " La figure 3s est un schéma, bloc d'un circuit logique utilisé dans le circuit de la figure 2. 25 La figure 3b est un schéma bloc du circuit de la figure 3a» La figure 4 est un schéma bloc représentant une matrice du type général repré sente à la figure 1. La figure 5 est un schéma bloc de l'un des ensembles de la figure 4, en parti culier, cette figure représente des circuits de transfert à l'intérièur de l'en-30 semble. . , La figure 6 est un schéma bloc d'un type de circuit de transfert utilisé dans l'ensemble de la figure 5. La figure 7 est un schéma bloc d'un autre type de circuit de transfert utilisé dans l'ensemble de la figure 5. 35 La figure B est un schéma bloc d'un système de commande permettant le contrôle de la matrice dans la figure 4. La figure 9 représente deux des unités de commande utilisées dans le système de commande de la figure 8. La figure 10 est un schéma d'une bascule à verrouillage utilisée dans l'une 40 des unités de commande de la figure 8. 71 15071 2 2095279 La figure 11 est un schéma bloc de l'unité de chronologie à l'intérieur du système de commande de la figure 8. La figure 12 est un diagramme de chronologie indiquant les signaux d'entrée et de sortie vers et à partir de l'unité de chronologie de la figure 11, 5 La figure 13 est un schéma bloc représentant des configurations de données emmagasinées à l'intérieur de l'une des unités de commande représentées à la figure S. La figure 1 représente une mémoire associative comprenant un ensemble supérieur A et un ensemble inférieur B. Chaque ensemble comprend un certain nombre •jq de cellules d'emmagasinage multi-stables 1, chacune d'elles étant reliée à une ligne de mots 3 et à deux lignes de bits 4a et 4b. Des exemples de cellules d'emmagasinage appropriées pouvant être utilisés dans l'ensemble de la présente invention sont décrits dans le brevet français N° 1 581 240 déposé par la demanderesse le 19 Août 1966. En bref, chaque cellule comprend un circuit à transis-15 tors commutable à un état "1", un état "0", un état "X" ou à un étain"Y". Une cellule est commutée à ses états respectifs par l'abaissement simultané de sa tension d'alimentation et l'excitation de sa ligne de mots et de l'une de ses lignes de bits, ou d'aucune d'entre elles. Les lignes de bits représentent "1" et "0" respectivement de la gauche vers la droite dans la figure 1 et, donc, 20 pour commuter une cellule à son état "1", la ligne de mots gt la ligne de bits "1" sont excitées. D'une manière similaire, pour commuter une cellule, à son état "0", la ligne de mots et la ligne de bits "0" sont excitées._Pour commuter une cellule à l'état "X" ou "Y", la ligne de mots et les deux lignes de bits ou aucune d'entre elles sont excitées respectivement en conjonction avec l'abaissement 25 indiqué précédemment de la tension d'alimentation de la cellule. Afin de lire une cellule sans changer son état, la ligne de mots correspondante est excitée et la cellule dévie le courant dans une de ses lignes de bits, ou dans les deux tétat Y) ou dans aucune d'entre elles (état X}, suivant son état. Enfin, lorsque la mémoire est d'un type associatif, chaque cellule peut être 30 interrogée en excitant l'une ou l'autre de ces lignes de bits suivant que la cellule est interrogée pour un bit "1" ou "0". L'accord est indiqué par l'absence de courant sur la ligne de mots. Ainsi, si un signal d'interrogation dé bit "1" est appliqué, aucun courant ne s'écoule si la cellule est dans son état "1" ou dans son état "X", si la cellule est dans son état "0" ou "Y", un désadcord est 35 indiqué par 1'excitation de la ligne' de mots. D'une manière similaire, si un signal d'interrogation de bit "0" est Appliqué, aucun courant ne s'écoule si la cellule est dans son état "0" ou -da'nà "son état "X", et un désaccord est indiqué si la cellule est dans son état -H*"iou-'dans son état "Y". Les opérations d'interrogation ne modifient pas l'état de la cellule. 40 Comme on peut le voir à la figure 1, les lignes de bits des ensembles supé 71 15071 3 2095279 rieur et inférieur sont interconnectées par des circuits de commande 2. Un tel circuit de commande est représenté en détails à la figure 2. Le circuit de commande comprend un certain nombre de circuits logiques tels que représentés sous forme de bloc à la figure 3a, et sous forme schématique à la figure 3b. 5 Ces circuits fonctionnent, en réponse aux signaux négatifs représentant des "1" binaires afin de délivrer une sortie "1" en E et une sortie "0" en "D", uniquement lorsqu'une entrée "1" est appliquée en A, B et C. D'autres circuits similaires avec une ou deux entrées seront introduits par la suite, ces circuits assurant tous une fonction similaire. 10 A la figure 2, les lignes ECRITURE ou RECHERCHE sont excitées afin de commander l'entrée des données dans les ensembles correspondants. Les lignes marquées DU BUS et VERS LE BUS sont utilisées pour entraîner les données d'entrée et desortie vers et à partir de la mémoire respectivement, et la ligne COMMANDE SORTIE est excitée pour diriger l'information de sortie sur la ligne VERS LE BUS. 15 . Comme indiqué' précédemment, la mémoire concernée est une mémoire associative. Dans une telle mémoire, un nombre sélectionné de bits dans un mot emmagasiné peut être interrogé afin de sélectionner ce mot pour la lecture ou l'écriture. Dans la présente mémoire, la sélection du nombre de bits est assurée en utilisant un système de masquage. Ceci est réalisé en lisant un mot dans un ensemble 20 avec un masque qui commande les bits qui sont à utiliser comme un argument de recherche. Puis, les bits masqués sont utilisés pour interroger l'autre ensemble Alternativement, avec une excitation simultanée d'une ligne de mots de l'ensemble auquel la donnée de l'autre ensemble est appliquée, des données masqués peu vent être écrites dans cet ensemble. L'un ou l'autre ensemble peut donc être uti 25 lisé comme un registre pour l'adresssage associatif ou l'écriture dans l'autre ensemble. Le tableau suivant représente l'effet des sorties de deux cellules cor respondantes en deux mots dans un ensemble (par exemple l'ensemble A] dans une cellule correspondante dans l'autre ensemble (par exemple l'ensemble B) après passage au travers de la logique de la figure 2: 30 SORTIES ECRITURE INTERROGATION [Ensemble A) [Ensemble B) (Ensemble B) 1+1 1 Accords 1 ou X 0 + 0 0 "OouX 35 1 + X 1 1 ou X 0 + X 0 " 0 ou X 1+0 INCHANGE " 0 ou 1 ou X X + X INCHANGE " 0 ou 1 ou X 71 15071 4 2095279 A partir de ce tableau« on peut établir une régie générale pour les sorties d'une combinaison de 2 mots ou plus, lus simultanément, de la manière suivante: a) Deux "1" ou deux "0" dans une paire de lignes de bits donnent respectivement une sortie "1" ou "0". 5 b) des "1" et des "0" mélangés ou uniquement des "X" donnent une sortie masquée (aucune sortie sur l'une ou l'autre des lignes de bits]. c) une combinaison "Y" avec n'importe quelle autre sortie donne une sortie masquée. □ans la réalisation présente de l'invention, l'information masquée (par exem-0 pie, dans l'ensemble A) est préparée de la manière suivante: a) Lire un mot de donnée dans l'ensemble. b) Lire un mot ayant des "1" où un masque est nécessaire et des "X" dans toutes les autres positions, dans une autre position de mot. c) Lire un mot ayant des "0" où un masque est nécessaire et des "X" dans tou-15 tes les autres positions, dans une autre position de mot. Lorsque la donnée dans les trois positions indiquées ci-dessus est lue dans l'autre ensemble, (l'ensemble B dans ce cas), elle apparaîtra comme une version masquée de la donnée appliquée à l'étape (a). Le masque peut naturellement, être modifié en répétant les étapes (b) et (c). La donnée masquée peut être utilisée !0 pour interroger l'ensemble B (dans ce cas) afin de délivrer une information accord/désaccord sur ses lignes de mots. Alternativement, avec une excitation simultanée de l'une des lignes de mots ou de plusieurs d'entre elles dans l'ensemble B (dans cet exemple), la donnée masquée est écrite dans les positions de mots sélectionnées. Dans ce dernier cas, naturellement, une opération d'interro-25 gation est également effectuée sur les positions de mots non sélectionnées et une écriture est effectuée dans les positions sélectionnées.' Ainsi, en résumant la description ci-dessus, on voit que la mémoire associative comprend deux ensembles interconnectés au travers de circuits de commande de bits. Chaque ensemble peut être utilisé comme un registre d'entrées pour l'au 30 tre ensemble et, sans modification, peut fournir des données masqués pour l'écri ture dans l'autre ensemble ou son interrogation. Le système décrit ci-dessus peut être développé afin de former une matrice telle que représentée à la figure 4. Dans cette matrice, chaque ligne de mots 3 s'étend sur cinq ensembles 5 et chaque paire de lignes de bits, par exemple, 35 les lignes 4a et 4b, s'étend sur quatre ensembles 5. Avec cette disposition, qui est représentée à la figure 4 avec un minimum de détails, on doit d'abord prévoir l'exécution des fonctions de commande entre les ensembles dans une colonne, ou en d'autres termes, les fonctions des circuits de commande 2 de la figure 1, puis, la sélection de ces ensembles dans une colonne ou rangée qui doi-vent être utilisés au cours d'une opération particulière. Ceci est obtenu dans 71 '15071 2095279 l'ensemble de la figure 5 par l'utilisation de portes de mots 3 raccordant les lignes de mots 6 à l'intérieur ci'un erssnsle, au:: lignas de mots extérieures 3C et des portes cie bits 7 raccoï-dant les paires de lignes de bits intérieurs 4c, 4d aux paires de lignes de bits intérieurs 4a, 4c. Las portas B sont d'autre S part raccordées à ceux lignes de commanda W1 et Wû qui peuvent sers excitées pour sélectionner une information de rro~ quelconque dans ou hors de 1 ensemble respectivement. Les portes / sont connectées à deux lignes de ceranianae D1 et 00 qui sont excitées pour sélectionner l'écoulement des données de bits dans où hors de l'ensemole respectivement. La figure 6 ^at un schéma bloc d'une ports •iG de lignes ce bits 7 (figure 5i. ua pci-ce uciiissc ass circuits logiques du typo raprésenté dans les figures3a et 2b, et fonctionne os Façon à transférer la direction de i'écouiement des signaux dans ou hors de l'ensemble. De plus, elle assure la fonction de aécoQùge des donnees issues de 1-ensemble, tel que décrit en se référant à la figure 2. 15 La figure 7 esc un scaÉr.» bloc d'une parte de ligne de mots 3 (figure 5). Cette porte utilise deux circuits logiques du type représenté dans les figures 3a et 3b. Elle fonctionne pour transférer la direction de l'écoulement au signal entre une ligne ae mots intérieure â sur i'ensemble et une ligne de mats extérieure 3, selon l'excitation de 1 • une des lignes de corrimanoe wG ou W'i. 20 La figure S représente la façon dent les lignes ds commande £0* Q'i, WC st W1 issues des ensembles de la matrice de la figure 4 sont raccordées a une unité de commande et de chronologie commune» Chaque ligne ds commande issue d'un ensemble 5 dans une rangée de la matrice (partiellement représentée à la figure ôj est raccordée à uns ligna acnsrûuna pour cette rangée» Ainsi* coûtas les lignes 25 03 sont raccordées à uns ligne Du z>s rangée commune, las lignes -i*- sont rscccr-céss è une ligne W1 commune etc.. Les lignes communes, si les lignes de mats de la matrice sont raccordées à ces slaos ia ^cm>v.ar.de de chronclogis 10, l'un ae ces blocs étant prévu pour chaque rangée ce la matrice. Chaque bloc de coHSïîande 10 est raccordé par des lignes 15» qui correspondent en ncsibre aux lignes es mots 30 3, à un bloc aa acns^n-i-s d'ftsrlogs csrreâpcndsnt 12. Les blocs de cG3H3sncîS *ïC st les blocs ds commande d'horloge 12 sont raccordés enseirisle en colonnes et a un circuit de chronologie aaufce-iaouton" par les lignes Cl, C2 &c Ci» La fonction des blocs de commanoe os vj oss ùxj-js co.ïUisnc.,3 - - 35 horloge il, et ou eircuit de * chronolugis 13 est de Déterminer la"direction us 1 ' écoulement des données entre les sr.s=,Tii;.-23 = es as motrice, s-» uec egsrc» = doit rappeler aue ce transfert de données peut être utilisé pour 'lé leûuur-s, l'écriture ou la recherche d*ensertVi"ia3 3c. ^ oc-1 i Gs « :(?s -n .lisant -j*3i'.-j2-"* blés comme registre, tels que représentés aux figures 1 à 3. 40 Les blocs de commande 10, les blocs u î wnrrsnds dhorloge 'sS" z~z 1s cz.i'onz'z 71, 15071 •2095279 de chronologie 13 serbht maintenant d'écrits en détails, et leur fonctionnement en combinaison avec la matrice sera décrit ultérieurement. La figure 9 représente un bloc de commande de chronologie 10 raccordé à un bloc ds carrmance" d'horloge 12 par les lignes 15. Les deux éléments comprennent â des ensembles utilisant des celluies multistables 1 du type décrit en se référai;:. a le ■: igure 1. Le bloc lu ast Cispcsé avec ses lignes de mots traversant i'ensEs-Vcla -ers le bds et ses paires ce lignes de bits traversant l'ensemble cari le sens '.ransversui. Le hlaa 12 à ses lignes de mots qui traversent l'en-ss -•-& circuits 14 raccordent les lignes as mots issues de la matrice et las lignes DO, Û1, WG et W'i au bloc 1U. L'un ue cas circuits est: représenté à la figure 1û. Le circuit comprend les circuits logiques du type décrit ci-dessus en se référant aux figures 3a et 5b, -st'il fonctionne comme une bascule à verrouillais ge. La bascule à verrouillage est ertcienchëe par des signaux positifs sur les entrées 3 *0' et 3 "i5 du "bus-fnot", ce qui excite la ligne -15. Cette condition repriic.c;nc« un désaccord aur le bus mot a partir des ensembles,- ainsi qu'une lecture ds "X" à partir du bloc'ds commande de chronologie.1 La bascule est restaurée par une lecture de "Y", à partir du bïoe de conm'ande de cnronologie, 20 indépendante de 3a condition du "bus mot*''. '" - -es lignes de mot du bloc 1C sont raccordées aux lignes d'entrée Ci, C2 et C3. Celles -ci sont raccordées de raçon à recevoir des signaux ou'-circuit de ^htonologitt îû (figure b). " Les lignes ae sortie 15 des basculer i4 if igure-9)- ne sont pas réccordées 25 aux. cellules, d'emmagasinage des blocs lû, mais passent tfeà4 bascules aux lignes -8 n.ofcs des ulocs 12. chaque bloc \Z ne comporte pas de circuit'excepté les cellule : et les lignes da mots correspondantes - et lès paires de lignes de bits. Ln pratique, seule la ligne de bits "1" de chaque paire de lignes de bits est utilisés. 'Chacune de ces lignes de bits 1e est x-accdrdée de façon à appliquer Z'ù dEi. bigr.aux'au circuit de onrcnolcgie 13*-iu travers 'oe' la ligne- correspondante ses lignes Lf t. IP2 et l?3. - ' ud figure 1 "i ast un schéma bluc eu' circuit de chronologie 13. L'unité comprend 1ii circuits logiques, chacun du type représenté aux figures 3a et 3b, mais lcub i. utilisant que le terminal de sortie "B' et quelques uns ne comprenant 2b que dâùx bornes d'entrée. Lé circuit ds chronologie est un compteur en anneau et fonctionne"fen réponse à des impulsionà séquentielles régulières S1, S2 et -• i? st. "4 provenant d'une source dé- chronologie principale won -représentée). Une caractéristique particulière du circuit da chronologie est qu'il consiste en un circuit "saute-mouton" comme•indiqué précédemmenti Ceci signifie essentiellement 40 que n'importa quel étage fteiit être'retiré effectivement de l'anneau en-appli- 71 15071 7 2095279 quant un signal d'entrée positif à la borne correspondant à cet étage. Ces bornes sont indiquées à la figure 11 comme des lignes LP1, LP2 et LP3, qui reçoivent des signaux issus des lignes de bits "1" du bloc 12 Cfigure 9). Des signaux de sortie sont appliqués sur les lignes marquées C1, C2 et C3, afin de 5 délivrer des entrées aux lignes de mots du bloc 10. La figure 12 représente les signaux d'entrée et de sortie de l'unité de chronologie 13. Les signaux S1 à S4 sont séquentiels. Les signaux S1 et S3 fournissent des impulsions régulièrement espacées de déplacement négatif et les signaux S2 et S4 fournissent des impulsions régulièrement espacées de déplacement 10 positif intercalées entre les impulsions S1 et S3. Les signaux C1A, C2A et C3A représentent les signaux de sortie générés sur les lignes de sortie C1, C2 et C3 Cfigure 11) respectivement lorsque les trois lignes LP1, LP2 et LP3 [figure 11) reçoivent des signaux négatifs. Comme on peut le voir à partir de ces signaux, chaque ligne de sortie génère une série 15 d'impulsions de sortie qui apparaissent séquentiellement ligne par ligne. Les signaux CIB, C2B et C3B représentent les signaux de sortie du circuit générés sur les lignes de sortie C1, C2 et C3, lorsque l'une des lignes LP1, LP2 et LP3 est positive et que les autres sont négatives. Dans le cas représenté à la figure 12, la ligne LP3 est positive, et en conséquence, la ligne de 20 sortie C3B ne délivre aucune impulsion de sortie en réponse aux signaux d'entrée S1 à S4. D'une manière similaire, si LP1 est positive, il n'y a aucune impulsion de sortie fournie sur C1, et si LP2 est positive, il n'y a aucune impulsion de sortie sur C2. Ainsi» les diverses unités du système, leur fonctionnement séparé et leur 25 interconnexion entre elles ont été décrits. Une description de leur fonctionnement en tant qu'ensemble sera faite maintenant. La figure 13 représente deux blocs de commande de chronologie 10 qui ont été programmés de façon que les cellules correspondant aux paires de lignes de bits qui délivrent les sorties DD, D1, W1 et W2 soient réglées dans leur état 30 tel que représenté. On notera que six lignes de mots ont été indiquées dans cette figure au lieu de seulement trois comme indiqué aux figures S et 10, ainsi que les sorties correspondantes du circuit de chronologie de la figure 11. Ces dernières figures furent limitées à trois lignes C1» C2 et C3 afin de simplifier la description, mais il est évident que la disposition de chronologie 35 "en saute-mouton" peut être facilement modifiée pour appliquer les impulsions consécutives sur six lignes de sortie au lieu de trois, avec la modification correspondante des blocs de commande d'horloge afin de fournir six signaux de commande. En se reportant à nouveau à la figure 13, et en supposant que les blocs de 40 commande d'horloge ne sont pas enclenchés pour inhiber aucune des impulsions 71 15071 6 2095279 de sortie du circuit de chronologie, les lignes C1 à C6 seront excitées à leur tour. Lorsque C1 est excitée, le hit correspondant dans le bloc 10 supérieur produit une sortie sur la ligne 00. Ce signal est appliqué à tous les ensembles 5 dans la rangée correspondante de la matrice Cfigure 6) . Le bit "1" dans le bloc 10 supérieur produit une sortie sur la ligne W1. Ce signal est appliqué à tous les ensembles dans la rangée correspondante de la matrice. Cette combinaison de signaux sur les lignes DQ et W1 prépare la rangée d'ensembles pour une opération de lecture. 10 D'une manière similaire, les lignes 01 et WD correspondantes sont excitées simultanément par le bloc 10 inférieur. Ceci conditionne les ensembles dans la rangée correspondante pour une opération de recherche. Ainsi, le programme contenu dans cette partie de la ligne de mots C1 peut être exprimé de la manière suivante : 15 "lire les ensembles dans la rangée supérieure, et utiliser cette information pour rechercher les ensembles de la rangée inférieure". L'excitation de la ligne de mots du bloc 10 passe alors à la ligne C2. La configuration des bits sur cette ligne provoque l'excitation des lignes D1 et WO du bloc 10 supérieur et des lignes D0 et W1 du bloc 10 inférieur. Ceci est 20 l'inverse de la situation pour l'excitation de la ligne C1, et le programme peut donc être exprimé de la manière suivante: "Lire les ensembles dans la rangée inférieure et utiliser cette information pour rechercher les ensembles de la rangée supérieure". La ligne C3 est maintenant excitée, et les lignes DO et W1 de l'ensemble su-25 périeur et les lignes D1 et W1 de l'ensemble inférieur aont excitées. Comme indiqué ci-dessus, la rangée supérieure de l'ensemble est ainsi réglée à une condition de lecture. Dans la rangée inférieure, les lignes D1 et W1 établissent une opération d'écriture. Ceci peut être exprimé de la manière suivante: 30 "Lire les ensembles dans la rangée supérieure, et écrire l'information résultante dans la rangée inférieure". Puis la ligne C4 est excitéS. Dans ce cas, à la fois les blocs supérieur et inférieur contiennent une configuration de bits 1, 0 afin d'exciter les lignes D1 et W0. Donc, les deux rangées de l'ensemble sont prêtes pour une opération 35 de recherche. Ceci peut être exprimé de la manière suivante: "Rechercher les ensembles dans les rangées supérieure et inférieure en utilisant un argument de recherche généré à l'extérieur de ces rangées". L'argument de recherche peut, naturellement, être généré au moyen d'une opération de lecture dans une ou plusieurs des autres rangées de l'ensemble. 40 Lorsque la ligne C5 est excitée, les lignes de sortie DO et W1 des deux 71 15071 3 2095279 blocs sont excitées, ceci correspond à une opération de lecture dans les deux rangées d'ensemble correspondantes et peut être exprimé de la manière suivante: "Lire les ensembles dans les rangées supérieure et inférieure pour appliquer l'information aux autres rangées et/ou comme une sortie de la matrice". 5 Enfin, la ligne CB est excitée. L'ensemble supérieur^ comme il contient une configuration de bits 1, 1 excita ses lignss 01 et W1. L'ensemble inférieur contient uoe configuration X, X, ceci ne provoque l'excitation d'aucune ligne de sortie. Cette condition peut être exprimée de la manière suivante: "Ecrire dans la rangée supérieure de l'ensemble à partir d'une autre source, 10 mais n'effectuer aucune opération sur la rangée inférieure". Ainsi, en résumant les opérations des blocs 10„ ils peuvent être programmés pour commander l'écoulement des données à l'intérieur de la matrice d'ensemble 5 [figures 4 et B). Une sélection de lecture, d'écriture et de recherche peut être effectuée par ce programme qui détermine également la direction de 1'écoule 15 ment des données à l'intérieur de la matrice. On se rappellera, à partir da la description de la figure 1, que l'information peut être masquée en utilisant deux mots ou plus. Cette opération peut être commandée par le programme du bloc de commande de chronologie, puisque ce programme détermine le nombre d'ensemble et donc des mots qui peuvent être lus è n'importe quel moment. 20 Dans la description ci-dessus, les lignes de mots C1 à C6 du bloc 10 étaient excitées tour à tour par le circuit de chronologie 13, chacune étant excitée dans un cycle. Cette séquence montra la commande excercée par les différentes données de bloc de commande de chronologie emmagasinées dans les cellules oorres pondant aux diverses lignes. En pratique, cependant, une telle séquence ne ssrs 25 pas normalement utilisée et seulement un certain nombre de lignes parmi les lignes C1 et CB seront sélectionnées pendant chaque cycle suivant les fonctions à effectuer sur les données dans la matrice. Comme on l'a expliqué précédemment, le circuit de chronologie 13 fonctionne d'une manière "en saute-mouton", par laquelle certaines des lignes de sortie 30 peuvent être inutilisées au cours d'un cycle. La sélection des lignes de sortie qui sont à inhiber est commandée par des signaux sur les lignes LP [figures 9 et 13). Ces signaux sont dérivés des lignes de bit "1" des ensembles de blocs 12 [figures 8 et 9). En revenant à la figure 9, on peut voir que les entrées aux lignes de mots 35 des blocs 12 sont délivrées par les bascules à verrouillage 14 dans les blocs 10. Ces bascules à verrouillage [voir également la figure 103 sont enclenchées ou restaurées selon les signaux issus des ensembles dans la mscrics par les lignes de mots 3, et les lignes de bits aes cellules des blocs 10. A nouveau, bien que seulement trois colonnes de cellules aient été représentées dans le CCH de 40 la figure 9, il peut y en avoir plus. Par exemple, dans la disposition décrite BAD ORIGINAL* 71 15071 10 2095279 en se reportant à la figure 13, où l'unité de chronologie délivrait six sorties, six bornes l_P sont prévus, ce qui nécessite six colonnes dans les blocs 12. Les cellules dans les blocs 12 peuvent être programmées pour déterminer laquelle des lignes LP est excitée lorsque l'une des lignes 15 (figure 9) est ex-5 citée. Cette programmation est effectuée en enclenchant les cellules soit dans un état "X" soit dans un état "1". Un état "X" signifie que la ligne LP correspondante est positive afin de ne délivrer aucune sortie à partir de la sortie de l'unité de chronologie correspondante. Lorsqu'un bloc 12 est dans son état "1", la ligne LP correspondante permet à l'étage de l'unité de chronologie asso-10 ciée de délivrer des sorties. Ceci, naturellement, ne se produit que lorsque la ligne de mots à la cellule du bloc 12 est excitée par une ligne 15. La figure 9 montre que les lignes 15 sont excitées par les bascules à verrouillage 14 séparemment de celles raccordées aux lignes D1, DO, W1 et WO. Chaque bascule est enclenchée (pour délivrer une sortie de ligne 15) par un signal positif 15 sur la ligne de mots correspondante 3 et sur les deux lignes de bits de bloc 10 correspondantes. Ceci correspond à un signal de désaccord sur la ligne de mots et à un signal "X" à partir des lignes de bits. Chaque bascule est restaurée lors de la réception d'un signal "Y" à partir de ses lignes de bits de bloc 10 correspondantes indépendamment de la condition de la ligne de mots correspondance1 te. Un signal de lecture est appliqué à partir de chaque bascule au bloc 12 au travers de la ligne correspondante 15 aussi longtemps que la bascule est dans son état "accord" ou en en d'autres termes son état restauré. Ainsi, par la programmation du bloc de commande d'horloge 12 et en utilisant ce programme sous la commande de signaux de désaccord à partir de la matrice, 25 avec le programme dans les cinq rangées supérieures (figure 9) des blocs 10, on peut commander les opérations consécutives à effectuer sur les données dans l'ensemble. Par exemple, pour la plupart des programmes dans lesquels les opérations sont la lecture/recherche suivie par la recherche/lecture, et ceci est répété par la suite, un mot de programme du bloc 12 pourra être le suivant: 30 1 1 X X X X (en supposant qu'un mot à six bits est utilisé). Ceci signifie que, dans ce cycle, les entrées da bloc 10 C1 et C2 sont excitées, mais pas les autres. Lorsqu'une opération d'écriture est à effectuer, un deuxième mot de bloc 12 peut être sélectionné, pour un cycle, et l'on constate à nouveau un désaccord. 35 Ce mot pourra être le suivant : X X 1 X X X Ce mot, naturellement, signifie.que seulement l'entrée C3 du bloc 10 est excitée pour ce cycle, qui, comme on peut le voir d'après la figure 13 correspond à une opération d'écriture. 40 En résumé, on a présenté une mémoire associative dans laquelle un ensemble BAD QBiOlW 71 15071 2095279 est utilisé comme registre pour l'autre. Les ensembles peuvent être formés dans une matrice avec une sélection de lecture/écriture/recherche programmée dans des blocs de commande de chronologie 10 commandant également la direction de l'écoulement de données. Le choix de cette sélection est effectué en program-5 mant les blocs de commande d'horloge 12 qui , au travers d'un circuit de chronologie sélectionnent des lignes pour la commande des blocs 10. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins 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 appor-10 ter toutes modifications de forme ou de détails qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 71 15071 12 2095279 REVENDICATIONS 1.- Mémoire associative caractérisée en ce qu'elle comprend deux ensembles d'emmagasinage interconnectés de façon qu'au moins un mot sélectionné à partir 5 d'un premier ensemble puisse être appliqué à un second ensemble coname un argument de recherche pour accéder au second ensemble. 2.- Mémoire associative selon la revendication 1 caractérisée en ce qu'elle comprend un moyen de sélection simultanée de plusieurs mots à partir d'un des 10 deux ensembles afin de former un mot de sortie commun, dont une partie seulement est effective comme un argument de recherche pour l'autre ensemble. 3.- Mémoire associative selon la revendication 2 caractérisée en ce que certains des mots emmagasinés sont d'une configuration disposée seulement pour 15 déterminer la longueur du mot d'argument de recherche. 4.- Mémoire associative selon les revendications 2 ou 3 caractérisée en ce que les ensembles comprennent des cellules ayant au moins 3 états, dont au moins deux représentent des données digitales et un autre état est utilisé effec- 20 tivement pour oblitérer des représentations de données digitales dans des positions de bit correspondantes de mots de données lus simultanément. 5.- Mémoire associative selon la revendication 4 caractérisée en ce que chacune des cellules a deux lignes de bit d'ensemble, représentant des "1" bi- 25 naires et des "0" binaires respectivement lorsqu'excités lors de la lecture de cellule, et en ce que les cellules sont commutables à au moins un autre état dans lequel aucune ligne de bit n'est excitée lors de la lecture de cellule. 6.- Mémoire associative selon la revendication 5 caractérisée en ce que les 30 ensembles sont interconnectés par des circuits logiques raccordant des paires correspondantes de lignes de bits, et en ce que les circuits logiques sont disposés pour délivrer des bits "1" et "0" représentant des sorties lors de la réception de ces entrées, mais aucune sortie lorsque aucune des entrées des paires de lignes de bits ou les deux sont excitées. 35 7.- Mémoire associative selon l'une des revendications précédentes caractérisée en ce qu'elle comprend plusieurs des dits ensembles disposés dans une matrice, et en ce qu'il comprend un système de commande commandant l'interconnexion et la direction de l'écoulement des données entre n'importe quelle paire 40 d'ensembles à l'intérieur de la matrice. 71 15071 13 2095279 8.- Mémoire associative selon la revendication 7 caractérisée en ce qu'elle comprend un moyen de programmation du système de commande afin de déterminer les fonctions de transfert de données entre des paires sélectionnées d'ensembles. 5. 9.- Mémoire associative selon la revendication 8 caractérisée en ce qu'elle comprend un moyen de programmation du système de commande afin de déterminer l'ordre dans lequel les fonctions de transfert de donnée sont effectuées, 10.- Mémoire associative selon la revendication 9 caractérisée en ce que le 10 système de commande est raccordé afin de recevoir das signaux d'accord - désaccord è partir des ensembles de la matrice en réponse à des opérations de recherche, les dits signaux d'accord - désaccord étant utilisés pour déterminer la séquence des fonctions de transfert de données en conjonction avec les moyens de programmation. "bm> o»GInal