Brevet FR2053173A1 — publié le 19710416

La présente invention concerne un dispositif électronique de mémoire de données numériques comprenant un ensemble de mémoires de données associatif qui inclut plusieurs registres de mots. Les ensembles de mémoires associatifs (adressés selon leur contenu) 5 peuvent Stre divisés en deux classes selon le champ de la mémoire disponible pour une opération de recherche associative» par quoi le registre de mots ou les registres auxquels on doit accéder sont sélectionnés. Dans une opération de recherche associative, on compare un argument de recherche avec les contenus d'ordre donnés des registres de mots compris dans l'ensemble. Les 10 registres dont le contenu satisfait l'argument dé recherche dans les ordres données sont sélectionnés pour accès ou, si une opération Suivante ou Précédente est combinée avec une opération de Recherche, comme expliqué ci-dessous, pour indication du registre de mots qui doit être accédé. Dans une classe de mémoires associatives, appelée une mémoire à masque fixe, seul un ensemble 15 prédéterminé d'ordres d'un registre de mots peut Stre comparé avec un argument de recherche. De telles mémoires sont intéressantes lorsque l'on doit utiliser une mémoire associative pour une fonction unique bien définie, par exemple, une translation d'adresses de mémoires logiques dans l'adresse de mémoire effective de données, liais lorsqu'une mémoire associative doit être utilisée 20 avec plus de souplesse, il est désirable qu'elle appartienne à la seconde classe de mémoires et soit une mémoire associative complète dans laquelle les ordres à comparer avec l'argument de recherche puissent être sélectionnés librement. Dans une mémoire associative complète, il est habituel d'utiliser un registre de masques qui emmagasine les données de masque déterminant dans 25 quels ordres de l'ensemble mémoire doit se produire la comparaison. Selon l'invention, un dispositif de mémoire de données numériques électronique comprend un registre de données multi-ordres, un registre de masque multi-ordres, et un ensemble de mémoires de données associatifs comprenant plusieurs registres de mots multi-ordres. Dans un tel système, les données 30 sont transférées entre le registre de données et tout registre de mots sélectionné selon une opération de recherche associative qui comprend une comparaison des contenus des ordres semblables des registres de données et de tous les registres de mots de l'ensemble, ordres qui sont déterminés par les contenus du registre de masque. Le système comprend une mémoire de masque comprenant 35 plusieurs registres de données de masque, et un dispositif de transfert de données de masqus qui agit pour transférer las contenus de An ou plusieurs registres de données de masques sélectionnés au registre de masque. 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 40 à ce texte, qui représentant un mode de réalisation préféré ds celle-ci. 70 20082 2 2053173 La figura 1 ast un diagramme d'un dispositif de mémoire de données numériques électronique selon l'invention* La figure 2 représente un diagramme d'un ordre du registre de masque de la figure 1; mémoire de masque2 La figure 4 représente un autre arrangement de données de masque dans une mémoire de masque* La figure 5 représente un dispositif de mémoire selon l'invention compre-10 nant deux ensembles de mémoires ayant chacun une mémoire de masque; et La figure 6 est un autre arrangement de deux ensembles de mémoires ayant chacun une mémoire de masque. On montre dans la figure 1 un dispositif de mémoires associatif selon l'invention qui comprend une mémoire associative 1 avec un ensemble de mémoire 15 2 qui comprend plusieurs registres de mots 2a, un registre de données 3, un registre de masques 4, et un dispositif de commande de fonctions 5. Le registre de données 3 est connecté à un canal de données 6 et un transfert de données peut se produire, comme on l'expliquera, dans toute direction entre l'ensemble de mémoires 2 et le canal de données 6 grâce au registre 20 de données, 3. La mémoire associative 1 a un cycle à deux phases. Durant la première ou phase de sélection, un ou plusieurs registres de mots 2a sont sélectionnés pour accès. Chaque registre de mots 2a comprend une bascule de sélection associée respective (non représentée! et est sélectionnée par enclenchement 25 de sa bascule de sélection à un état stable donné. Durant la seconde phase ou phase de lecture/écriture du cycle, les registres de mots sélectionnés sont accédés simultanément. Ou bien les contenus du registre de données 3 sont transférés à chaque registre de mots sélectionné, et il s'agit alors d'une opération d'écriture, ou bien les contenus de tous les registres de 30 mots sélectionnés sont transférés simultanément au registre de données 3, et il s'agit alors d'une opération de lecture qui est effectivement une opération logique OU effectuée sur les contenus sélectionnés. On doit remarquer que le terme "transfert* utilisé ici n'implique pas que l'emplacement d'où les données sont transférées soit nécessairement libéré des données au temps 35 de transfert. On peut sélectionner un registre de mots 2a pour accès à la suite d'une opération de recherche associative, dans laquelle un argument de recherche est comparé avec les contenus des registres de mots. Les bascules de sélection des registres de mots dans lesquels des données identiques à celles de l'argument de recherche sont emmagasinées sont enclenchées à l'état 40 stable donné. Les registres de mots peuvent aussi Stre sélectionnés par une 5 La figure 3 représente un arrangement de données de masque dans une 70 20082 3 2053173 opération Suivante ou Précédente, peut être en combinaison avec une opération de Recherche, Dans une opération Suivante ou Précédente, l'état de chaque bascule de sélection est transféré à la bascule de sélection du registre adjacent; dans l'opération Suivante, au registre adjacent le plus éloigné 5 du registre de données 3 et dans l'opération Précédente au registre adjacent le plus proche du registre de données 3. Une opération Suivante ou Précédente combinée avec une opération de Recherche aboutit à la sélection des registres de mots adjacents, dans la direction définie, d'un registre de mots sélectionné àl'origine par l'opération de recherche. On peut aussi défi-10 nir l'opération Sélection premier succès, dans laquelle, lorsque plusieurs registres de mots sont sélectionnés par une opération de Recherche, seul le registre sélectionné le plus proche du registre de données 3 est accédé. Chaque registre de mots peut comprendre plus d'une bascule de sélection, par exemple, une bascule de sélection primaire et une secondaire et toutes 15 les opérations définies ci-dessus peuvent être réalisées en utilisant soit la bascule de sélection primaire, soit la bascule de sélection secondaire. Par exemple, un cycle d'opération peut comprendre les opérations Recherche, Suivante, Lecture, Primaire, dans lesquelles les opérations Recherche et Suivante agissent sur les bascules de sélection primaire et où l'opération de lectu-20 re a lieu sur les registres de mots dont les bascules de sélection primaire sont dans l'état stable donné. Dans la figure 1, les signaux de commande permettant la réalisation des opérations sélectionnés dans un cycle d'opération sont engendrés par un dispositif de commande de fonction 5. 25 La mémoire associative 1 comprend un registre de masque 4, comme cela est habituel. Le registre de masque est formé d'un ensemble de bascules (non représenté) commandant les portes dans les lignes entre le registre de données 3 et l'ensemble mémoire 2 et, selon les états des bascules, certains ordres sélectionnés des registres de données sont masqués pour l'ensemble mémoire. 30 Un tel masquage est nécessaire afin d'obtenir la souplesse dans le choix du champ occupé par l'argument de recherche dans une opération de.recherche. Si l'on appelle respectivement les états des bascules état un et état zéro, il est habituel que les bascules dans l'état un masquent le registre de données durant la première phase du cycle de mémoire et que les bascules dans l'état 35* zéro masquent le registre de données durant la seconde phase du cycle. Cet {arrangement a pour inconvénient que l'argument de recherche et les ordres accédés d'un registre de mots occupent exactement tout un registre de mots, et du temps est perdu s'il est nécessaire de n'accéder qu'à quelques uns des ordres non occupés par l'argument recherche, ou si, après une opération 40 Suivante, par exemple, des ordres comprenant l'argument de recherche doivent 20082 4 2053173 Stre accédés. Un arrangement plus souple est de n'utiliser que las bascules à l'état un pour le masquage et de modifier le masque entre la première et la seconde phase d'un cycle. Dans le brevet numéro 1 582 992 déposé en France par la demanderesse 5 le 3 Septembre 1968, on décrit une mémoire associative convenable pour utilisation dans un dispositif de mémoire selon l'invention. On doit se référer à ce brevet pour les détails des circuits au moyen desquels on peut effectuer le cycle de mémoire décrit ci-dessus. La mémoire associative 1 est commandée par une mémoire de commande 7 10 qui émet une séquence de mots de commande qui, décodés, fournissent les signaux de commande à la mémoire associative. Dans le demande de brevet déposée en France par la demanderesse le 4 Juin 1969 sous le numéro 6918096, on décrit un système de traitement de données dans lequel une mémoire de commande semblable à la mémoire de commande 7 commande plusieurs mémoires associatives 15 en émettant pour chaque mémoire une référence qui spécifie l'opération à réaliser, le masque à utiliser et au moins une partie de l'argument de recherche si une opération Recherche est définie. Les fonctions arithmétiques et logiques y sont décrites comme étant réalisées dans les mémoires au moyen d'une consultation de table et la référence est nécessaire pour définir non 20 seulement quelle fonction doit être réalisée en donnant un argument de recherche grâce auquel on peut accéder à la table appropriée, mais aussi les opérations mémoire. Afin d'obtenir une mémoire de commande de taille raisonnable, il était nécessaire de ne définir que deux masques et de relier une fonction donnée avec une combinaison donnée d'opérations mémoire. Cela s'est révélé 25 trop restrictif et, en conséquence, on a imaginé le dispositif de mémoire de la présente invention. On utilise une mémoire de masques 8 comprenant les registres de données de masques 8a à partir de l'un ou de plusieurs desquels on peut simultanément charger les bascules du registre de masques 4. Il n'est pas nécessaire que la mémoire de masques 8 soit une mémoire 30 associative, mais celle représentée, en est une. Chaque registre de données de masques 8a comprend un champ de données de masques 8b et un champ de recherche 8c. La mémoire 8 est une mémoire à masque fixe et à opération fixée qui réalise une opération recherche sur le champ recherche 8c et une opération lecture sur le champ de données 8b. Une référence de masque appliquée au 35 champ de recherche 8c sélectionne un ou plusieurs des registres de données de masque pour lecture aux bascules du registre de masques 4. Comme avec la mémoire associative 1, une opération Lecture sur plus d'un registre sélectionné est une opération OU sur les données des registres sélectionnés. Une mémoire de fonction 9, de môme construction que la mémoire de masques 40 et qui comprend des registres de données de fonction 9a, comprenant chacun 70 20082 5 2053173 un champ de recherche 9c et un champ de données de fonction 9b est aussi incluse dans le dispositif de mémoire. Les champs de données de fonction des registres de données sélectionnés 9a forment les entrées au dispositif de commandes de fonction 5. 5 On peut faire fonctionner la mémoire de masques 8 pour fournir un masque unique pour chaque cycle de la mémoire associative 1, mais l'on préfère l'émission d'un masque au commencement de chaque phase du cycle. La mémoire de commande 7 émet ainsi quatre références de commande pour commander le dispositif de mémoire de la figure 1. Chaque registre de mots de commande 7a de 10 la mémoire de commande 7 comprend des champs de référence 7b à 7e. Le champ de référence 7b est le premier champ de masque contenant l'argument de recherche identifiant le masque à utiliser dans la première phase d'un cycle de mémoire et est connecté au champ de recherche 8c de la mémoire de masque 8 par les circuits ET représentés par le circuit ET 10. Le champ de référence 15 7c est le second champ de masque qui identifie le masque à utiliser dans la seconde phase d'un cycle de mémoire et est connecté au champ de recherche 8c de la mémoire dy masque 8 par des circuits ET représentés par le circuit ET 11i le champ de référence 7d qui est le champ de référence de recherche est connecté à un champ de recherche fixé 2b de l'ensemble de mémoire 2; 20 et le champ de référence 7e est le champ de référence de fonction qui est connecté à la mémoire 9. La référence de recherche a pour effet de définir l'opération arithmétique ou logique qui doit Stre réalisée durant un cycle mémoire en spécifiant au moins une partie de la référence identifiant la table emmagasinée dans l'en-25 semble de mémoire 2 approprié à l'opération. En général; la référence de recherche ne formera pas la totalité de l'argument de recherche pour l'ensemble 2. On peut, par exemple, définir la table et les opérateurs dans le registre de données 3, puis compléter l'argument de recherche pour identifier des entrées particulières dans la table. 30 La mémoire da commande 7 peut Stre une mémoire non associative dans laquelle les mots de commande sont accédés sous la commande d'un compteur d'instruction ou peut, comme décrit dans la demande de brevet 6918096 citée ci-dessus, être une mémoire associative avec une possibilité d'opération Suivante, ce qui permet d'accéder séquentiellement aux mots de commande? La 35 mémoire de commande peut commander plusieurs mémoires associatives 1, cas dans lequel il existe des champs de référence 7b s 7e pour chaque mémoire commandée. Dans le fonctionnement du dispositif de la figure 1, la mémoire de commande 7 émet un mot de commande incluant las champs 7b à 7e au début de la première phase d'un cycle de la mémoire 1. Durant la première phase, la ligne 40 C1 est excités et le champ 7c, le premier char.'.p ds f&aaqus» est transféré au 70 20082 6 2053173 champ de recherche 8c de la mémoire de masques 8, comme argument de recherche dans une opération Recherche et Lecture; ceci aboutit au transfert d'un masque qui doit Stre utilisé dans le premier cycle de la mémoire 8 dans le registre de masques 4, Le champ 7e, le champ de référence de fonction est transféré 5 au champ de recherche 9c de la mémoire de fonction 9 comme argument de recherche dans une opération Recherche et Lecture, ce qui entraîne le transfert de la mémoire de fonction dans le dispositif de commande de fonctions 5 d'un mot de données qui définit la fonction qui doit être réalisée durant le cycle en cours. Le champ 7d, le champ de référence de recherche, est transféré 10 directement comme entrée dans le champ de référence 2b de l'ensemble 2 oû il peut âtre utilisé, si les fonctions définiss par le champ de référence de fonction 7e le nécessitent, comme partie ou totalité de l'argument de recherche dans une opération Recherche sur les registres de mots 2a de l'ensemble 2. Pour une opération d'accès simple, sur un registre de mots données, 15 le champ de référence ds recherche 7d doit identifier complètement le registre. Si la mémoire 1 doit réaliser une opération logique ou arithmétique sur des données fournies par les tables de fonction contenues dans l'ensemble 2, en général le champ de référence de recherche identifiera la table qui doit Stre utilisée et les données dans le registre 3 compléteront l'argument 20 de recherche en définissant les entrées spécifiques dans la table. On peut -\ aussi utiliser les données d'entrée pour compléter une identification partielle d'une table obtenue par le champ de référence de recherche. Durant la seconde phase du cycle, la ligne C1 est désexcitée et la ligne C2 est excitée, ce qui entraîne le transfert du second champ de masque 7c 25 par le circuit ET 11 dans le champ de recherche 8c de la mémoire de masques 8. La mémoire de masques 8 émet alors un masque pour la seconde phase. L'utilisation de deux masque est désirable lorsque l'argument de recherche et les données à laquelle on doit accéder n'occupent pas ensemble la totalité d'un registre de mots unique 2a de l'ensemble 2. Dans le cas où un registre de 30 mots sélectionné contient des données autres que l'argument de recherche, qui ne doivent pas Stre accédée, et dans le cas où les donnéed auxquelles on doit accéder sont contenues dans un registre spécifié par les opérations Suivantes ou Précédentes, distinct de celui sélectionné par un argument de recherche, et occupent au moins certains des mêmes ordres de l'ensemble de méaoire 35 que l'argument de recherche, il est nécessaire d'utiliser différents masques dans la première et seconde phase. Clairement, l'utilisation de deux masques implique que la mémoire de masques 8, doit effectuer une opération de Recherche et de Lecture plus rapide que la mémoire 1. Il en sera ainsi en général, car la taille d'une mémoire associative Joue un rôle important pour la déter-40 mination des temps de cycles. La mémoire 8 de masques sera plus petite que '0 20082 7 2053173 la mémoire 1. On montre dans la figure 2, un diagramme logique d'un ordre du registre de masques 4. On suppose qu'un chiffre binaire est représenté par la combinaison des états de deux lignes de bits, commB décrite dans le brevet 1 582 5 992 citée ci-dessus. L'ordre du registre de masques représenté dans la figure 2 est connecté au môme ordre du registre entrée/sortie 3 par les lignes de bits 21 et 22, et au môme ordre de chaque registre de mots 2a de l'ensemble 2 par les lignes de bits 23 et 24. Afin de réaliser une opération Ecriture ou de Recherche sur l'ordre représenté, les potentiels sur les lignes 21 10 et 22 sont connectés aux lignes 23 et 24 respectivement, alors que pour effectuer une lecture de l'ordre représenté, les potentiels des lignes 23 et 24 sont connectés aux lignes 21 et 22 respectivement. Un circuit ET 25 comprend comme entrées respectives la ligne 21, une ligne 26 qui est excitée lorsqu'une bascule de masques 27 est dans l'état 1 et une ligne W/S qui est excitée 15 lorsqu'une opération d'écriture ou de recherche est commandée par le décodeur 5 (figure 1). Un circuit ET 28 comprend comme entrées respectives, la ligne W/S, la ligne 26 et la ligne de bits 22. Les sorties des circuits 25 et 28 sont connectées respectivement aux lignes de bits 23 et 24. Il est clair que dans le cas d'une opération d'écriture ou de recherche, les potentiels 20 sur les lignes de bits 21 et 22 sont transférés aux lignes 23, 24, respectivement, si et seulement si la bascule 27 est dans l'état 1. Un circuit ET 29 comprend comme entrée respective la ligne 26, la ligne de bit 23 et une ligne R qui est excitée lorsqu'une opération Lecture est commandée par le décodeur 5. Un circuit ET 30 comprend comme entrée respective la ligne 26, la ligne 25 de bit 24 et la ligne R. Les sorties des circuits ET 29 et 30 sont connectées respectivement aux lignes de bits 21 et 22. Les potentiels sur les lignes de bits 23 et 24 sont transférés, durant une opération Lecture, aux lignes 21 et 22 si et seulement si la bascule 27 est dans l'état 1. Chaque ordre du registre de masques 4 comprend une bascule respective 30 27 connectée à un conducteur respectif 31 provenant du registre de masque 8. Le conducteur 31 est connecté à la bascule 27 de telle sorte que lorsque le conducteur est excité, la bascule prenne l'état 1. Une dérivation 32 du conducteur 31 est connectée à la bascule 27 par un inverseur 33 de telle sorte que lorsque le conducteur 31 est désexcité la bascule prenne l'état 35 zéro. Chaque conducteur 31 est connecté à un ordre respectif du registre de masque 8 et est excité lorsque l'ordre du registre de masque émet un "un" binaire à la suite d'une opération Recherche et Lecture. On a décrit un arrangement dans lequel un masque est disposé dans le registre de masques 4 d'après un mot de données sélectionné dans la mémoire 40 de masques 8. 70 20082 8 2053173 Le système décrit jusque là fonctionne de façon satisfaisante si las données sont emmagasinées dans la mémoire de masques 8 sous forme binaire. Cependant, on peut encore réduire la taille de la mémoire de masques si le champ de recherche 8c contient des cellules de mémoires à trois états pouvant 5 prendre comme état un "un" binaire, un zéro binaire, ou un état X. Ce dernier état est souvent appelé état indifférent (dans la littérature anglaise, il est appelé état "don't care") et e3t tel que quelque soit le signal d'interrogation appliqué à la cellule durant une opération de recherche associative, la cellule n'émette pas un signal d'échec. Ainsi une cellule dans l'état 10 X n'a aucun effet négatif sur la sélection d'un registre de mots en vue de son accès. On peut très efficacement utiliser de telles cellules à trois états pour réduire la taille de la mémoire de masques. Comme exemple, on se réfère à la figure 3 qui représente les contenus de quatre registres 8a de la mémoire de masques 8. L'état X n'est utilisé que dans le champ de recher-15 che 8c. L'effet de la configuration des états X et 1 représentée est que chaque ordre de l'argument de recherche est associé avec une configuration de masque respective et que toute combinaison de configuration peut être sélectionnée, rappelant que si plus d'un mot est sélectionné, la sortie de la mémoire de masque est la fonction OU des mots sélectionnés. Ainsi, si 20 l'argument de recherche est 1001, le masque sélectionné est 1111 0000 0000 1111. L'idée peut Stre utilisée comme représenté dans la figure 4, de telle sorte que des groupes de masques puissent être sélectionnés, avec une sélection ultérieure d'une combinaison de masques du groupe. La sélection du groupe duquel peut provenir le masque est déterminée par les deux ordres les plus 25 à gauche de l'argument de recherche. La sélection de la combinaison des masques qui doit Stre utilisée est déterminée par les ordres restants de l'argument de recherche. L'utilisation d'une mémoire de masques individuelle 8 pour chacune des mémoires associatives 1 peut Stre combinée avec l'utilisation d'une mémoire 30 logique commune 9 pour toutes les mémoires 1. L'utilisation de différents masques peut amener différentes interprétations du mâme argument de recherche par différentes mémoires et conduire ainsi à la réalisation de fonctions différentes. Un tel arrangement est représenté dans la figurs 5. Les mémoires associa-35 tives 50, 51, comprennent des ensembles de mémoires respectifs 52, 53, les registres d'entrée 54, 55 et les registres de masques 56, et 57. Les mémoires de masques 58 commandent le registre de masques 56 et la mémoire de masque 59 commande le registre de masques 57. Les registres d'entrée.54 et 55 sont tous les deux connectés en parallèle à un canal de données 60. On envoe les 40 mômes signaux de commande de fonction aux mémoire 50, 51 par la ligne 61 70 20082 9 2053173 et les mômes références de masques sont envoyées par la ligne 62 aux mémoires de masques 58 et 59, Les signaux sur la ligne 61 peuvent provenir d'une mémoire de fonction 9 ou directement d'une mémoire de commande 7. Les mêmes références de masques des mémoires de masques 58 et 59 n'identifient pas nécessai-5 rement le même masque, et ainsi le mSme mot de données sur le bus 60 peut être considéré différemment par les mémoires 50 et 51. Les données peuvent comprendre des bits de fonction qui complémentent les signaux de fonction de la ligne 61 et des mémoires différentes peuvent alors masquer des bits de fonction différents, ce qui entraîne que des fonctions différentes sont 10 réalisées dans les mémoires. Soit en combinaison avec les bits de fonction, soit d'une façon distincte les données peuvent comprendre un mot à multi-caractôres, et chaque mémoire est masquée afin de réaliser une opération sur un caractère différent. Dans certaines applications, par exemple une commande de traitement en temps réel, on peut penser qu'il est valable de 15 réaliser l'addition en parallèle dans plusieurs mémoires telles que les mémoires 50, 51 au lieu de la réaliser en série dans une telle mémoire. L'arrangement que l'on vient de décrire peut être modifié en s'arrangeant pour que les mémoires de masques contiennent des références de masques différentes et que la non sélection d'un masque n'entraîne la réalisation d'aucune 20 opération dans la mémoire 50 ou 51. Puisque la sélection d'un masque entraîne l'enclenchement des bascules de sélection, on peut réaliser cela facilement en déterminant, à la fin de la phase de recherche d'une mémoire de masques si une bascule de sélection est enclenchée et si elle ne l'est pas» en engendrant un signal de non opération, qui soit appliqué au dispositif de commande 25 de fonction 5 (figure 1) et qui annule tout autre signal de fonction. Une autre application de l'utilisation d'une mémoire de masque pour chaque mémoire associative apparaît lorsque les mémoires sont reliées, comme représenté dans la figure 6, dans laquelle les mêmes références que dans la figure 5 sont utilisées pour les mêmes éléments » Les mémoires associatives 30 50, 51 de la figure 6 sont modifiées par rapport à celles de la figure 5 en ce qu'elles comprennent deux registres de données, comme décrit dans la demande de brevet déposée en France par la demanderesse le 3 Avril 1970 sous le numéro 7012247. Les données sont envoyées du bus 60 à la mémoire 51 masquée selon la sortie de la mémoire de masque 58 et est traitée à l'aide d'une 35 consultation de table dans 1'ensemble 52 selon l'argument de recherche des mémoires de données 54 et des signaux de cciTimsnde de fonction de la ligne 61. Le résultat est ensuite transféré à l'aide du second registre de données 54a au premier registre de données 55 de la mémoire 51, et de là, masqué selon la sortie de la mémoire dy masque 59, envoyé à l'ensemble 53 où une 40 opération de consultation de table ultérieure est réalisée avant le transfert 70 20082 10 2053173 du résultat final à l'aide du registre de données 55a au bus 70. Il n'est pas nécessaire que les connexions entre les registres 54a et 55 soient réalisées entre les mêmes ordres des deux registres. Comme indiqué schématiquement par la connexion en croix de deux parties des registres, on peut utiliser 5 toute configuration de connexion. Les liaisons représentées dans la figure 6 sont particulièrement convenables pour la réalisation d'une addition qui eput être considérée comme étant effectuée en deux étapes: premièrement, la formation d'une somme partielle et du report, et deuxièmement, l'addition des reports à la somme partielle. La mémoire associative 51 sst. pour cette 10 application, conçue pour ne réaliser que la fonction de report d'addition sur les données qui ne lui sont envoyées que par la mémoire 50. La mémoire 52 peut être conçue pour réaliser des fonctions différentes de la première étape de l'addition; une connexion à deux voies entre cette mémoire et le bus 60 est indiquée dans la figure 6. La mémoire 51 est mise en service seu-15 lement lorsqu'une addition doit être réalisée. □n peut effectuer cela en n'envoyant les sorties de la mémoire 50 au registre 54a que durant une opération d'addition et en s'arrangeant pour qu'un registre vide 55 signifie à la mémoire 51 un cycle de non opération. Dans la figure 6 les deux registres de données de chaque ensemble de 20 mémoires ont été représentés, afin de clarifier l'écoulement des données, *\ sur las cfités opposés des ensembles de mémoires. Deux arrangements de registres de masques sont possibles lorsqu'on utilise deux ou plus registres de données. Dans un arrangement, seul un registre de masque unique e3t utilisé et les trajets de données entre les registres de données et l'ensemble mémoire passent 25 tous à travers le registre de masque. Un masque unique est envoyé au registre de masqua soit dans chaque cycle, soit dans chaque phase du cycle comme décrit ci-dessus, et le choix du registre de données pour le transfert des données est commandé indépendamment» Dans l'autre arrangement, chaque registre de données comprend un registre de masques associé et la mémoire de masques 30 envois autant de masques qu'il y a de registres de masques, chaque fois que les registres doivent Stre chargés. Par le masquage, le registre de données, ou certaines de ses parties, sont choisis pour le transfert de données, ou comme argument de recherche dans une opération Recherche. Bien que les dispositifs de mémoires décrits en référence aux figures 35 1 et 5 ne comprennent qu'un registre de données, on peut utiliser plusieurs registres de données et chacun des arrangements de masquage que l'on vient de décrite peuvent Stre utilisée. Bien que l'on ait décrit dans ce qui précède et représenté sur le dessin les caractéristiques essentielles de l'invention appliquées à des modes de 40 réalisation préférés 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 utile» sans pour autant sortir du cadre de ladite invention. '0 20082 n 2053173 REVENDICATIONS 1.- Système électronique d'emmagasinage de données numériques comportant un registre de données à plusieurs ordres, un registre de masque à plusieurs ordres et un ensemble de mémoire associatif possédant plusieurs registres 5 de mot à plusieurs ordres,-dans lequel système les données sont transférées du registre de données vers n'importe quel registre de mot sélectionné pour une opération de recherche associative constituée par la comparaison des contenus de même ordre du registre de données et tous les registres de mots de l'ensemble de mémoire, lesquels ordres sont définis par le contenu du 10 registre de masque, caractérisé en ce qu'il comprend une mémoire de masque possédant des registres de données de masque, et des moyens de transfert des données de masque qui assurent le transfert du contenu d'un ou de plusieurs registres de données de masque choisi vers le registre de masque. 2.- Système électronique d'emmagasinage de données selon la revendication 15 1, caractérisé en ce que le transfert entre des ordres identiques appartenant au registre de données et à n'importe quel registre de mot de l'ensemble de mémoire est déterminé par le contenu du registre de masque. 3.- Système électronique d'emmagasinage de données selon la revendication 2, caractérisé en ce que l'ensemble de mémoire possède un cycle comprenant 20 une première phase, au cours de laquelle un registre de mot au moins est sélectionné pour le transfert dB données, et une seconde phase au cours de laquelle le transfert a lieu, et en ce que les moyens de transfert de données de masque sont rendus opératifs au début de chaque phase de chaque cycle. 4.- Système électronique d'emmagasinage de données selon l'une des revendi-25 cations 1, 2 ou 3, caractérisé en ce que la mémoire de masque est du type associatif et en ce que les registres de données de masque sont sélectionnés par une opération de recherche associative. 5.- Système électronique d'emmagasinage de données selon la revendication 4, caractérisé en ce qu'aucune opération de transfert n'a lieu pour l'ensem- 30 ble de mémoire lorsqu'à la suite d'une opération de recherche associative aucun registre de données de masque n'est sélectionné. 6,- Système électronique d'emmagasinage de données selon la revendication 5, caractérisé en ce que chaque registre de données de masque est connecté à une bascule de sélebtion qui est mise dans une état stable donné lorsque le 70 20082 12 2053173 registre de données de masque qui lui est connecté est sélectionné, en ce que chaque registre de données de maqque comporte des moyens de détecter les états des bascules de sélection, et des moyens sensibles à ces moyens de détection afin d'empêcher le transfert de données dans l'ensemble de mémoire. 5 7.- Système électronique d'emmagasinage de données selon l'une quelconque des revendiaations 1 à 6, caractérisé en ce que la mémoire de masque comprend des cellules d'emmagasinage de données à trois états stables. 8.- Système électronique d'emmagasinage de données selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend plusieurs 10 ensembles de mémoire pourvu chacun d'un registre de masque et d'une mémoire de masque respectivement. 9.- Système électronique d'emmagasinage de données selon l'une des revendications précédentes, caractérisé en ce que le fonctionnement de l'ensemble de mémoire est commandé par des moyens de commande de fonction sensibles à 15 des signaux d'entrée de données de fonctions, et en ce que le système est pourvu d'une mémoire de fonction formée de plusieurs registres de données de fonction, et de moyens de transfert de fonction qui assure le transfert du contenu d'un ou de plusieurs registres de données de fonction sélectionnés aux moyens de commande de fonction. 15 10." Système électronique d'emmagasinage de données selon la revendication 9, caractérisé en ce que la mémoire de commande est une mémoire associative. 11.- Système électronique d'emmagasinage de données selon la revendication 10, caractérisé en ce que la mémoire de commande comprend des cellules d'emmagasinage de données à trois états stables.