Brevet FR2313738A1 — publié le 19761231

La présente invention a pour objet une mémoire associative à structure hiérarchisée constituée de composants intégrés, cette mémoire comportant un accès par mots ou par lignes ainsi qu'un domaine d'association pouvant être déterminé à l'intérieur des mots grâce à un masque sélectif. L'on connaît déjà des composants intégrés pour la constitution de mémoires associatives (se reporter à ce sujet à la brochure : TT/ut Memory 93402 éditée par la Société Fairchild Semiconductor en Mai 1971). Ce composant connu possède une capacité de mémoire relativement modeste de 16 bits. Les tentatives d'accroître la capacité se sont heurtées dans le passé essentiellement au nombre des organes de commutation logiques et de mémorisation qu'il est possible de réaliser à l'intérieur d'un même composant. Les progrès constants réalisés dans la technique de l'intégration ont toutefois déplacé le problème, en sorte que les limitations sont de plus en plus fournies par le nombre maximal des connexions extérieures qu'il est possible de réaliser.Il est par ailleurs connu qu'il faut sensiblement plus de connexions dans le cas d'une mémoire associative que dans celui d'une mémoire adressable linéairement, et ceci du fait que doivent être prévues des lignes supplémentaires pour l'introduction du masque et pour la sortie des signaux de coïncidence. Il est sans doute possible de réduire le nombre des connexions extérieures du composant en utilisant les lignes de données aussi bien pour l'introduction que pour l'extrac- tion de ces données, en intégrant à l'intérieur du composant les décodeurs d'adresses nécessaires à la sélection des cases de mémoire , et en utilisant également les lignes de données pour l'introduction du masque. Ce dernier artifice suppose toutefois que l'on dispose d'un registre de masques à l'intérieur du composant ce qui accroît la complexité du circuit et allonge les temps de manoeuvre. Partant de cette constatation que le traitement associatif des données mémorisées n'implique dans la grande majorité des cas que des portions du contenu global des mémoires de moyenne ou de forte capacité , la présente invention se donne pour but de concevoir des moyens grâce auxquels puisse être accrue la capacité de mémorisation réalisable à l'intérieur d'un composant\intégré sans que le nombre des connexions extérieures excède une valeur acceptable. Ce but est atteint, conformément à l'invention, et dans une mémoire associative du genre précité, grâce au fait que chacun de ses composants présente en lui-même une structure hiérarchisée selon laquelle est prévue une surface associative constituée de plusieurs lignes et de comparateurs associatifs coopérant avec ces lignes, cette surface pouvant recevoir des données de l'extérieur ou en délivrer à l'extérieur ou en échanger avec une mémoire (élémentaire) sous-j acente associée à chaque ligne et adressable linéairement, laquelle comprend 2n lignes dont la sélection peut s'opérer indépendamment des lignes de la surface, et que chacun des composants inclut des décodeurs pour la sélection des lignes de la mémoire (élémentaire) de surface et des mémoires (élémentaires) sous-jacentes. En plus d'un rapport particulièrement favorable entre la capacité qu'il est possible d'obtenir pour un composant de mémorisation isolé et le nombre des connexions extérieures nécessaires, une mémoire associative à structure hiérarchisée offre d'appréciables avantages lors du traitement de tableaux ou de listes indépendantes, en particulier lors de l'échan- tillonnage d'instructions mémorisées sans ordre. Chaque adresse de la mémoire sous-jacente forme alors un domaine associable indépendant. L'invention sera à présent décrite plus en détail à propos d'une forme de réalisation préférentielle, donnée à simple titre d'exemple illustratif et avec référence aux dessins ci-annexés, en lesquels La figure 1 est une représentation schéma- tique destinée à expliquer le principe de base de l'invention. La figure 2 illustre la structure intérieure d'un composant de mémoire. Sur la figure 1 des dessins, la mémoire associative selon l'invention est représentée sous la forme d'un bloc, dont une mince tranche S1 est détachée et légèrement soulevée. Cette tranche Si représente la surface associative de la mémoire. La portion principale restante S2 du bloc constitue la mémoire sous-jacente adressable linéairement et non associative. La totalité de l'échange des données entre la mémoire associative et l'extérieur s'effectue purement par sa surface. Un accès direct à la mémoire sous-jacente est impossible. Aux fins de faciliter la compréhension, on admettra tout d'abord que la surface est constituée par une mémoire pleinement associative constituée par exemple de 64 lignes de mots de chacune 8 bitsJh-diverses cellules de mémoire sont associés de façon connue des comparateurs qui coopèrent ligne par ligne et qui, lors de la constatation d'une coincidence entre le contenu de la ligne et un indicatif de recherche donné , délivrent un signal de coïncidence. Un masque modifiable permet de restreindre le domaine d'association à des éléments des lignes de mots, le cas échéant jusqu'à une valeur de 1 bit. Les lignes de la mémoire de surface peuvent être sélectionnées séparément pour l'introduction et pour l'extraction de données.Dans le mode de fonctionnement "association1', toutes les lignes sont simultanément impliquées. A chaque ligne de la mémoire de surface sont associées 2n lignes, par exemple 32 lignes adressables grâce à une "adresse sous-jacente" de la mémoire sous-jacente. Ces 2n lignes constituent un domaine de mémoire sous-jacent. Les lignes correspondantes de tous les domaines de mémoire sous-jacent sont -contrôlées par les mêmes adresses sous-jacentes et forment un plan de mémoire sous-jacent. Par l'intermédiaire de la très large interface ainsi constituée entre la mémoire sous-jacente et la mémoire de surface, il est possible de transférer parallèlement en un cycle de mémorisation la totalité du contenu de la mémoire de surface dans le plan de mémoire sous-jacent adresst--ou réciproquement. Dans la subdivision de la mémoire globale en composants intégrés distincts à degré d'intégration aussi poussé que possible, il est avantageux, afin de réduire le nombre des connexions en direction de l'extérieur, de transporter à l'intérieur du composant\1'interface entre la mémoire de surface et la mémoire sous-jacente. La figure 2 des dessins représente de façon schématique une forme avantageuse de réalisation de la mémoire selon l'invention, d'une capacité de 1024 bits,dans laquelle n'est pas comptée la capacité de la mémoire de surface dont la valeur a été supposée ci-dessus. Le composant comporte 64 cellules binaires AS, qui sont disposées en quatre lignes de chacune 16 cellules binaires. Les lignes, qui ne recouvrent généralement à l'intérieur du composant que des mots élémentaires de l'ensemble de la mémoire, peuvent être sélectionnées séparément pour des cycles de lecture ou d'inscription . A cet effet est appliquée au composant, par l'intermédiaire des connexions extérieures 26 et 27, une adresse de surface binaire codée AA, laquelle est convertie par le décodeur DA dans la forme "1 de 4".Un signal d'inhibition IN pareillement appliqué au décodeur DA (par l'intermédiaire de la connexion 25) permet d'effectuer le choix d'un certain composant ou d'un groupe de quatre lignes de mots de la mémoire de surface. Dans l'hypothèse précédemment faite où 1%; surface représente un dispositif de mémorisation autonome, chacone de ces cellules binaires se compose d'une cellule de mémoire pour la mémorisation d'un bit de données et d'un comparateur destiné à effectuer une comparaison associative du bit de données mémorisé avec le bit concerné de l'instruction de recherche. Les sorties des divers comparateurs d'une même ligne sont combinées selon une fonction ET. Les connexions 21 à 24 servent à la délivrance des signaux de coïncidence TRa. Par l'intermédiaire des connexions 17 à 20, sont introduits les signaux de coïncidence TRi provenant des composants précédents.Si le circuit de combinaison logique prévu autorise une combinaison ET sous forme câblée, les lignes de sortie correspondantes de signaux de coïncidence peuvent alors être simplement reliées les unes au: autres, et les lignes d'entrée de signaux de coïncidence sont alors superflues. On peut également renoncer à ces lignes lorsque les signaux de coïncidence provenant de toutes les lignes finalement regroupées en une ligne de mots commune des divers composants sont combinés logiquement par l'intermédiaire d'une porte ET externe supplémentaire. A chaque groupe de quatre cellules binaires de même rang dans les quatre lignes de la mémoire de surface d'un composant est associée une connexion 1 à 16 pour l'introduction ou l'extraction des données (lignes de bits). En outre sont prévues des connexions 34 à 49 pour l'introduction du masque variable. On peut faire l'économie de ces dernières connexions si l'on incorpore au composant un registre de 16 cases pour la mémorisation intermédiaire du masque variable. Outre que cela accroît la complexité du circuit, il en résulte un allongement du temps nécessaire pour la réalisation d'une opération d'association, puisqu'en un premier temps le masque doit être mémorisé par l'intermédiaire des lignes de bits, au moins lorsque son état a été modifié par rapport à l'opération d'association précédente. Les instructions codées binaires pour la fixation des modes de travail "lecture", "inscription" ou "asso ciation" sont fournies par l'intermédiaire des connexions 32 et 33 au décodeur DB et décodées par celui-ci. Les signaux de commande agissent alors aussi bien sur la mémoire de surface que sur la ménoire sous-jacente. De la même manière qu'est associé un domaine de mémoire de 2n lignes à chaque ligne de la mémoire de surface de l'ensemble du dispositif, sont pareillement associées à chaque li n gne de la mémoire de surface dans un composant 2n lignes de lon- gueur correspondante d'une mémoire élémentaire sous-jacente US. Dans l'exemple de réalisation de la figure 2, est pris en considération le cas de 16 lignes de mémoire (n=4). Les adresses sousjacentes IJA nécessaires pour l'adressage de la mémoire sous-jacente US se composent par conséquent de 4 bits, lesquels sont introduits par les connexions 28 à 31. il nty a plus fondamentalement besoin que d'un seul décodeur d'adresses par composant pour le décodage des adresses sous-jacentes UA. il peut être toutefois avantageux, afin d'économiser des lignes de commande internes, d'adjoindre un décodeur d'adresses individuel à chaque domaine de mémoire ou même à une partie seulement d'un tel domaine. Sur la figure 2 des dessins n'est représenté aucun décodeur d'adresses sous-jacentes UA. La mémoire associative selon l'invention peut être réalisée au moyen d'éléments bipolaires ou unipolaires (MOS), et plus particulièrement sous la forme d'une mémoire du type dit à couplage de charge. Dans ces différents cas, les cellules de mémoire délivrent des signaux de lecture non volatils , c'est-àdire statiques ou quasi-statiques. Puisque le contenu d'un plan de mémoire adressé de la mémoire sous-jacente US est de toute manière disponible, il est possible de supprimer les cellules de mémoire de la surface. Cette dernière n'assure plus alors que les communications avec l'environnement extérieur. On indiquera encore qu'il peut être avantageux, pour la recherche de places de mémoire libres lors de l'inscription de nouvelles données, de prévoir dans chaque liane de mots de la mémoire sous-jacente une cellule de mémoire réservée 7 lten- registrement d'un bit d'occupation. Ce dernier reste conservé aussi longtemps que le contenu de la ligne de mots correspondante est encore d'actualité. La recherche de places de mémoire libres s'effectue grâce à une opération de recherche associative, laquelle est limitée par une conception appropriée du masque aux contenus des cellules de mémoire concernées dans le plan de mémoire adressé. REVENDICATIONS 1. mémoire associative à structure hiérarchisée constituée de composants intégrés, cette mémoire comportant un accès par mots ou par lignes ainsi qu'un domaine d'association pouvant être déterminé à l'intérieur des mots grâce à un masque sélectif, caractérisée par le fait que chacun de ses composants présente en lui-même une structure hiérarchisée selon laquelle est prévue une surface associative constituée de plusieurs lignes et de comparateurs associatifs coopérant avec ces lignes, cette surface pouvant recevoir des données de l'extérieur ou en délivrer à l'extérieur ou en échanger avec une mémoire (élémentaire) sousjacente associée à chaque ligne et adressable linéairement, laquelle comprend 2n lignes dont la sélection peut s'opérer indépendamment des lignes de la surface, et que chacun des composants inclut des décodeurs pour la sélection des lignes de la mémoire (élémen- taire) de surface et des moires (élémentaires) sous-jacentes. 2. mémoire associative selon la revendication 1, caractérisée par le fait oue la surface possède ses propres cellules de mémoire. 3. Mémoire associative selon l'une des revendications 1 ou 2, caractérisée par le fait que dans chaque composant sont prévus des moyens qui, en présence d'une instruction "association", activent simultanément toutes les lignes de la surface ou de la mémoire (élémentaire) de surface. 4. ^moire associative selon la revendication 3, caractérisée par le fait que dans chaque composant est intégré un registre de masques pouvant être chargé par l1intermé- diaire des lignes de données. 5. Mémoire associative selon l'une quelconque des revendications 1 à 4, caractérisée par le fait que lors de l'introduction d'une nouvelle valeur un bit d'occupation est introduit dans une cellule de mémoire déterminée de la ligne de mots concernée, et que des places de mémoire libres sont recherchées au moyen d'une opération d'association à laquelle participent, grâce à un masquage approprié, les seules cellules désignées de mémoire du plan de mémoire adressé.