Brevet FR2204011A1 — publié le 19740517

Cette invention concerne un appareil de stockage ou de mémorisation, et en particulier, un nouvel appareil de mémoire à tores magnétiques perfectioeiné. les dispositifs de mémorisation comportant des mémoires à tores magnétiques sont très utiles dans de nombreuses applications dans lesquelles il est désirable de conserver des informatIons de-~ vant être utilisées ultérieurement. Par exempt ~, les fflémoires à tores magnétiques et autres dispositifs de mémorisation sont utilisées dans les machines de traitement des données aussi bien que dans différents systèmes de traitement de signaux qui utilisent une méthode de traitement numérique des signaux.Dans le traitement des signaux numériques dans les systèmes binaires, l'élément d'information le plus petit est appelé un bit qui peut avoir soit la valeur de un (1) ou la valeur de zéro (5). Un groupe de ces bits, lorsqu'il est constitué pour définir une information plus importante, est souvent appelé un mot de données. les deux états stables d'hysteresis d'un store magnétique sont utilisés dans une mémoire à tores magnétiques pour le stockage de durée illimitée de la valeur d'un bit. De telles mémoires comprennent généralement, un réseau de tores agencé en mots de données adressables comportant chacun n tores. les états (éléments d'information mémorisés) des tores d'un mot de données adressé sont lus en leur fournissant un courant de commande de lecture ou plein courant de sélection ayant une première polarité ce qui les amène à commuter à un de leurs états, par exemple, l'état zéro ou, s'ils sont déjà dans cet état, à y rester. Dans une opération d'écriture ou de mémorisation, un courant de commande d'écriture ou plein courant de sélection ayant une polarité opposée à celle du précédent est fourni à tous les tores du mot de données adressé.Ceci tend à amener tous les tores adressés à commuter à l'état opposé, c'est-à-dire l'état un. Si on désire écrire ou stocker un zéro dans l'un ou dans plusieurs de ces tores un courant dtinterdiction ou de blocage doit être fourni à ces tores de manière à s'opposer ou à éliminer une partie importante (40 à 50 %) du courant de commande d'écriture. Par exemple, pour écrire 12 "zéros" dans un mot de données de 16 bits, il faut 12 corposantes de courant d'une amplitude suffisante pour s'opposer à une partie importante du courant de commande d'écriture appliqué aux tores adressés.Ceci requiert un courant de crête ou de pointe relativement élevé pour des mots ayant beaucoup plus de "zéros" que de "uns". Pour des applications dans lesquelles il est courant d'avoir plus de "zéros" que de "uns" dans les mots de données, l'énergie moyenne exigée est donc importante. La présente invention a donc pour objet de prévoir un nouvel appareil de mémoire à tores magnétiques perfectionné. Un autre objet de l'invention est de prévoir un nouvel appareil à tores magnétiques perfectionné, dans lequel les caractéristiques de courant et d'énergie de crête sont substantiellement réduites. En bref, l'appareil à tores magnétiques comprend un dispositif pour examiner les bits faisant partie d'un mot devant être stocké dans la mémoire et pour déterminer si plus de la moitié d'entre eux requiert normalement un courant inhibiteur ou d'interdiction. S'il en est ainsi, le complément du mot en même temps qu'un bit indicateur est alors stocké dans la mémoire. S'il" n'en est pas ainsi, le mot de données lui-même et le bit indicateur sont stockés dans la mémoire. Après lecture de ces mots de données et de leurs bits indicateurs correspondants, soit le mot de données, soit son complément est multiplexé à la sortie de la mémoire selon la valeur du bit indicateur. Dans les dessins ci-annexés, les mêmes numéros de référence se rapportent à des composants similaires. Dans ces dessins : la fig. 1 est un schéma synoptique d'une mémoire à tores ma gnétiques selon la présente invention. La fig. 2 est un schéma synoptique du réseau de synchronisation pour l'appareil de mémoire de la fig. 1. la fig. 3 est un diagramme montrant les différents signaux de synchronisation de mémoire qui apparaissent au cours d'un cycle de mémoire. la fig. 4 est un schéma synoptique du registre de données de mémoire destiné à l'appareil de mémoire de la fig. 1. La fig. 5 est un montage logique montrant une partie du décodeur de synchronisation de mémoire de la fig. 2. l'appareil selon la présente invention peut être utilisé pour faire des économies d'énergie dans n'importe quel type de mémoire dans laquelle la consommation d'énergie pour une opération d'écriture dans la mémoire est fonction du mot de données à stocker et plus précisément, du fait que le mot a plus de bits d'une c-rtaine valeur que de l'autre valeur. Cependant, à titre d'exemple et dans le souci de donner une description complète, l'appareil selon la présente invention va entre décrit ci-après en tant que mémoire à tores magnétiques du type à trois dimensions et à trois lignes. Dans un système de mémoire à tores magnétiques à trois dimensions, il existe n réseaux de tores, un pour chaque position de bits d'un mot de données, ces tores étant disposés en rangées et en colonnes dans chaque réseau. Des colonnes (Y) et des rangées (X) séparées relient ces tores respectivement dans les différentes colonnes et rangées de chaque réseau, les lignes X et Y des rangées et colonnes correspondantes des différents réseaux étant connectées en série. Le choix unique d'une ligne X et d'une ligne Y adresse ainsi une position de mémoire consistant en n tores, un dans chaque réseau pour l'écriture ou la lecture d'un mot de données. Pour chacun des réseaux, il existe une troisième ligne appelée ligne de lecture/interdiction qui relie tous les tores dans le réseau correspondant. En conséquence, il existe n de ces fils, un pour chaque réseau. les n tores situés dans une position de mémoire sont "adres sOs" en appliquant un demi courant de sélection (la moitié de l'intensité de courant requise pour excéder le seuil de commutation dthystérésis du tore, soit de la polarité requise pour l'écriture soit de celle requise pour la lecture, à une seule ligne x et à une seule ligne Y. il en résulte que le plein courant de sélection est appliqué seulement aux n tores qui sont reliées à la fois par les lignes X et Y choisies. Pour une opération de lecture, les impulsions de demi courant de sélection sont d'une première pola-rité de manière à amener tous les tores adressés à occuper ou à rester, suivant le cas, dans le même état d'hystéresis, par exemple, dans l'état t'zéro". D'un autre côté, dans une opération d'écriture, la polarité des impulsions de demi cotant de sélection est telle -qu'elle amène tous les tores adressés à occuper l'état opposé, c'est-à-dire, l'état "un".Pour écrire un "zéro" dans n'importe lequel des tores adressés au cours d'une opération d'écriture, un courant d'une polarité (son intensité étant environ 40 à 50 % du plein courant de sélection), qui s'oppose à la polarité du courant d'écriture, est appliqué à la ligne de lecture interdiction du réseau de tores qui correspond à-la position de bits, c'est-à-dire, à l'ordre dans lequel le zéros doit être écrit. En se référant maintenant à la fig. 1, l'appareil de mémoire selon la présente invention est compris dans une section de mémoire 25 d'un système typique d'ordinateur. le système d'ordinateur comprend également une unité centrale de traitement (en abrégé CPU) 20 qui transmet à la section de mémoire et reçoit de cette dernière, des mots de données par l'intermédiaire des lignes de sortiedes données 22 et d'entrée des données 21. Pour plus de commodité, une ligne est représentée dans le dessin sous forme d'un seul trait barré par une diagonale accompagnée d'un numéro qui indique le nombre de fils compris dans ladite ligne. Ainsi, dans le schéma d'ordinateur montré dans la fig. 1, chacune des lignes 21 et 22 contient sept fils, un pour chaque bit d'un mot de données. Un seul fil est représenté dans le dessin par une seule ligne n'ayant pas de trait en diagonale qui la traverse. l'unité CPU 20 reçoit des mots de données d'entrée en provenance des dispositifs d'entrée/sor,tie 23 et transmet des mots de données de sortie à ces mêmes dispositifs par l'intermédiaire d'un canal 24. Ce canal 24 comprend un certain nombre de fils de données, un fil pour chaque bit d'un mot de données, ainsi qu'un certain nombre de fils pour des signaux de contrôle. les détails des dispositifs d'entrée/sortie 23 et de l'unité CPU 20 ainsi que la-façon dont ils sont connectés sont bien connus et ne seront pas étudiés dans ce texte puisqu'ils ne peuvent pas former une partie quelcon- que de la présente invention. La section de mémoire 25 comprend un réseau de tores magné~ tiques (en empilage) 26 et des réseaux d'adresses X et Y associés représentés par les nwreéros 27 et 28, tous ces éléments étant ou pouvant être des composants conventionnels. les réseaux d'adresses X et Y, 27 et 28, réagissent aux champs d'adresses fournis par l'unité CPU 20, par l'intermédiaire d'une ligne d'alimentation d'adresses 29, et à des signaux de synchronisation de mémoire pour lté- criture (WRT) et pour la lecture (RET) produits par un réseau de synchronisation de mémoire 30 afin d'appliquer à des positions de mémoire dans le réseau de tores magnétiques 26 des pleins courants de sélection ayant soit une polarité d'écriture, soit une polarité de lecture. lorsque l'unité CPU 20 produit une adresse de mémoire sur la ligne des adresses 29, elle transmet en même temps, une impulsion de démarrage de cycle de mémoire (INA) et un signal de mode de mémoire (MODE) au réseau de synchronisation de mémoire 30. Ce réseau de synchronisation de mémoire réagit à ces deux signaux en engendrant des signaux de synchronisation WRT et RET et un certain nombre d'autres signaux synchronisateurs dont les formes d'ondes sont montrées en fig. 3. Comme on peut le voir dans cette figure, le signal RET apparat le premier dans le cycle et le signal WRT apparaît aussitôt après pour définir des parties de lecture et d'écriture dans le cycle. les deux valeurs du signal MODE sont utilisées pour contrôler le mode opérationnel de la section de mémoire 25. lorsque le signal MODE est à son niveau haut, la section de mémoire 25 peut fonctionner selon le mode de lecture et restauration (R/R) dans lequel un mot de données adressé est lu dans la mémoir#6, au moyen d'un réseau ou circuit de lecture 31, nour être placé dans un registre de données de mémoire (en abrégé IdDR) 32 au moment où le signal de synchronisation d'échantillonnage de-mémoire (St) échantillonne le réseau de lecture 31. Avant l'apparition du signal St. le registre MDR est remis à zéro par un signal CDR (Fig. 3). le mot de données lu de cette manière est alors transmis à l1u- nité CPU 20, par l'intermédiaire de la ligne de sortie de données 22, et il est également remis à la même position adressées dans la mémoire 26 sous le contrôle du circuit inhibiteur 33 et d'un signal de synchronisation inhibiteur de mémoire (INT) ainsi que la partie ET d'un cycle R/R. le réseau inhibiteur 33, tout comme les réseaux d'adresses 27 et 28 et la mémoire 26, est constitué par des composants conventionnels bien connus. Chacun de ces composantsfonctionne de 12 manière décrite ci-dessus selon laquelle une opération de lecture fournit un nlein courant de sélection de lecture à chacun des tores d'une position de mémoire adressée.Ceci place tous ces tores dans l'un de leurs deux états stables, par exemple, l'état zéro. D'un autre côté, une opération d'écriture fournit de pleins courants de sélection d'écriture aux tores dans la position de mémoire adresse, qui tendent à commuter tous ces tores dans leur état oppose, ctest-a-dire, l'état "un'. Afin d'écrire un zéro dans n'importe lequel de ces tores dans une position adressée de mémoire, le réseau inhibiteur 33 doit appliquer au tore choisi un courant qui s'oppose à une partie importante du plein courant de sélection pour l'écriture qui doit être appliquée. lorsque le signal MODE est à son niveau bas, la section de mémoire 25 peut fonctionner selon le mode effacement/écriture. Au cours de la partie lecture du mode effacement/écriture, ni le signal CDR, ni le signal de synchronisation St n'apparaissent, de sorte que le registre MDR n'est pas remis à zéro et que le mot de données lu par le réseau de lecture 31 n'est pas échantillonné#ri#: ce registre MDR. Au cours de la partie écriture du mode opérationnel effacement/écriture, l'unité CPU fournit un mode de données sur la ligne de données d'entrée 21. Ce mot d'entrée est chargé dans le registre SSR 32 sous le contrôle d'impulsions de chargement engendrées par le réseau de synchronisation de mémoire 30, puis il est mémorisé dans la position de mémoire adressée dans la partie écriture du cycle. Comme on l'a souligné prccédemment, dans les applications où de nombreux mots de données contiennent plus de "zéros" que de "uns", les caractéristiques exigées de la part du réseau inhibiteur 33 en ce qui concerne le courant et la puissance de crête sont relativement importantes. Selon la présente invention, un dispositif est prévu pour réduire substantiellement les conditions exigées pour le courant et la puissance de crête au cours de la phase écriture du cycle de mémoire. Ceci est obtenu en examinant les bits dans un mot de données à entrée et en déterminant si plus de la moitié de ces bits requiert normalement un courant inhibiteur. S'il en est ainsi, le complément du mot à l'entrée, en même temps qu'un bit indicateur ou drapeau (de niveau zéro) est stocké dans la mémoire.S'il n'en est pas ainsi, le mot de données lui-même et un bit indicateur ou drapeau (de niveau un) est stocké en mémoire. Après la lecture de ces mots de donnéesetde leurs bits indicateurs associés, soit le mot de données, soit son complément, est multiplexé à la sortie de la mémoire selon la valeur du bit indicateur. Un détecteur de majorité 36 est utilisé pour détecter si un mot de données à entrée comporte plus de uns ou plus de "zéros" Selon une réalisation de l'invention, ce détecteur de majorité peut être constitué par une mémoire fixe ou mémoire inaltérable qui est adressée par le mot de données d'entrée. Cette mémoire inaltérable est programmée de telle manière qu'elle délivre à sa sortie un "zé- ro" chaque fois qu'il existe une majorité de "zéros" et un "un" chaque fois qu'il existe une majorité de "uns" dans le mot de données d'entrée.Ce signal de sortie constitue le bit indicateur et il est chargé dans une position de bit du registre SSR 32 en réponse à un signal de synchronisation de mémoire désigné par l'abréviation IDRA dans les figs. 1, 2 et 3. Comme on le voit en fig. 3, ce signal IDRA est produit au temps tl après l'apparition du signal CDR. lorsque le bit indicateur a été chargé dans le registre MDR 32, il est utilisé pour déterminer si c'est le mot de données à l'entrée ou son complément, qui doit être chargé dans ce registre MDR. A cet effet, le bit indicateur est envoyé à l'entrée d'excitation (S) d'un multiplexeur (en abrogé MUX) 34. Si le bit indicateur est un zéro (signifiant ainsi qu'il y a une majorité de "zéros" d?ns le mot de données à l'entrée), le multipleseur Iw 34 va coupler le complément de ce mot d'entrée au registre FDR. Si le bit indicateur est un "un" (signifiant ainsi qu'il y a une majorité de "uns'), le multiplexeur MUX 34 va coupler le mot de données d'entrée lui-même au registre MDR 32.Pour réaliser ce type d'opération, le mot de données à l'entrée est couplé aux deux entrées du multiplexeur IASI 34. Un multiplexeur IREX similaire 35 est également contrôlé par un bit indicateur pour coupler soit les mots de données stockés dans le registre tBR 32, soit son complément à l'unité CPU par l'intermédiaire de la ligne de sortie 22. les multiplexeurs EREX 34 et 35 peuvent revêtir n'iraporte quelle forme convenable et comprendre, par exemple, chacun une paire de multiplexeurs à deux entrées, à quarte modèle 8 266 produit par la "Sirnetics Cor., 811 East Arques Avenue, Sunnyvale California. il convient de noter que les opérations de complément à un et de multiplexage peuvent être obtenues par d'autres moyens. Par exemple, des réseaux distincts de complément à "un" peuvent être utilisés aussi bien pour le mot de données à l'entrée que pour le signal sortie du registre MDR 32. Des multiplexeurs séparés pourraient alors multiplexer chacune des valeurs vraies du mot de données d'entrée ou le signal de sortie du registre MDR 32 ou bien les signaux de sortie des réseaux correspondants de complément à "un" en accord avec la valeur du bit indicateur. Un exemple de réalisation du registre de données de mémoire 32 est montré en fig. 4. Comme on le voit dans cette figure, le registre lEDR 52 comprend une première bascule bistable ou flipflop 40 du type D, pour la mémorisation des bits indicateurs, et un groupe de sept autres bascules ou flip-flop montrées collectivement sous la forme d'une seule bascule 41, pour le stockage du mot de données ou de son complément. Le chargement d'un mot de données au cours d'une opération de lecture dans le mode de lecture/remise à l'état initial est effectué en appliquant le bit indicateur à l'entrée (P) de la bascule bistable 40 et les sept bits de données aux entrées correspondantes P des autres bascules 41. Dans ce mode de lecture/remise à l'état initial, les bascules 40 et 41 sont d'bord remises à zéro par le signal CDR (voir fig. 3). le signal d'échantillonnage St apparaît ensuite pour échantil lonnér le mot de données qui est en train d'être lu par les circuits de lecture pour l'appliquer aux entrées P des bascules 40 et 41. Ceci amène ces bascules à prendre les états correspondant aux valeurs respectives des bits appliqués à leurs bornes d'entrée P. Dans le mode effaçage/écriture, le signal d'échantillonnage de mémoire St ntest pas engendré et les entrées P des bascules bistables 40 et 41 reçoivent des zéros pendant toute la durée du cycle de mémoire. le bit indicateur et le mot de données à l'entrée ou bien son complérent, selon le cas, sont chargés dans les bascules bis tables 40 et 41 sous contrôle des signaux de synchronisation de mémoire respectifs IDRA et LUE3. A cet effet, le bit indicateur en provenance du détecteur de majorité 36 est appliqué à l'entrée D du flip-flop ou bascule 40 dont les entrées d'horloge CP sont connectées de façon à recevoir le signal IDRA.Ainsi, à l'instant tl, le signal LDRA déclenche la bascule bistable 40 et l'amène à prendre le niveau correspondant à la valeur des bits indicateurs appliqués a son entrée D. les entrées D des bascules 41 sont con bectées de façon å recevoir les sept bits de donnes de sortie du multiplexeur Itul 34. A l'instant t2, l'impulsion ID B est appliquée à l'entrée CP des bascules 41 de manière à les amener à prendre les niveaux des bits de données qui sont appliqués à leurs entrées D correspondantes. le réseau de synchronisation de mémoire 30 (Fig.1) est un composant pratiquement conventionnel quiproduit les signaux de synchronisation WRT, RET, INT, CDR, TORS et St. Un schéma synoptique de ce réseau de synchronisation est montré en fig. 2 afin d'illustrer la manière suivant laquelle un réseau conventionnel de synchronisation de mémoire peut être modifié de manière à produire l'impulsion de synchronisation de mémoire additionnelle IDRA qui est nécessaire pour charger le bit indicateur dans la mémoire selon la présente invention. Comme on le voit en fig. 2, l'impulsion de démarrage de cycle de mémoire INA produite par l'unité CPU à l'instant tO amène une bascule bistable 50 du type D à prendre à lté- tat "un".Il en est ainsi car la bascule du type D a son entrée D qui est connectée à une source permanente de "uns" 57, (par exemple, une source de tension positive), tandis que son entrée d'effaçage ou de remise à zéro CL est connectée de façon à recevoir un signal de fin de cycle de mémoire (EOC). Ainsi, la bascule bistable 50 est amenée à l'état "zéro" à la fin d'un cycle de mémoire par le signal EOC, puB elle est remise à l'état "un" au départ d'un nouveau cycle de mémoire par le signal INA appliqué à son entrée CP. lorsque la bascule 50 se trouve dans son état "un", elle déclenche une horloge 51 pour produire des signaux d'horloge ~ et elle déclenche également un compteur 52 pour compter ces signaux d'horlo ge-#. le compteur 52 peut être, d'une façon appropriée, un compteur à trois bits dont les sorties de chacun de ses étages (à la fois, les valeurs vraies et les valeurs de complément de cells-ci sont couplées à un décodeur 53.Ce décodeur 53 fait partie du réseau conventionnel de synchronisation de mémoire et il est sensible aux différentes valeurs de comptage du compteur 52 et au signal d'horloge ~ de façon à produire les signaux de synchronisation de mémoire CDR, SOC, RET, IDRB, lfiRT, IN? et St. En outre, les sorties du compteur 52 sont couplées à un autre décodeur 54. Ce décodeur 54 répond à une valeur de comptage du compteur 52 et au signal d'horloge ~ ainsi qu'au signal MODE pour produire le signal IDRA. le décodeur 54 dont une réalisation possible est montrée en fig. 5, peut comprendre, par exemple, une porte NON-ET 55 et une porte NON-OU 56. Dans cette disposition, la porte NON-ET 55 est employée pour détecter une valeur de comptage de trois (troisi#- me cycle d'horloge. A cet effet, la porte NON-ET 55 reçoit les signaux de sortie A, B et C du compteur 52 qui correspondent res- pectivement aux premier , second et troisième étage du compteur. La porte NON-ET 55 reçoit également le complément # du-signal d'horloge de sorte que sa sortie va venir à l'état "zéro" seulement au cours de la seconde moitié du troisième cycle d'horloge. Puisque le signal IDRA doit être produit seulement pendant le mode effaçage/écriture, la sortie de la porte NON-ET 55 est combinée au signal MODE dans la porte NON-OU 58. Ainsi, pendant le mode effa çage/écriture, le signal de mode est un "zéro" (niveau bas) de sorte qu'un un va être produit à la sortie de la porte NON-OU 56 lorsque la sortie de la porte NON-ET 55 est amenée à 11 état "zéro". Ceci va durer, évidemment, pendant une moitié du cycle d'horloge jusqu'd ce que le signal ~ descende à la valeur "zéro" au départ du quatrième cycle d'horloge. Au cours du mode lecture/retour à l'état initial, le signal MODE est un "un" qui interdit à la porte NON-OU 56 de répondre au signal à la sortie de la porte 55 pendant la dernière moitié du troisième cycle d'horloge. On vient de décrire ci-dessus un système de mémoire dans lequel l'énergie et le courant de crête sont substantiellement réduits pendant l'opération d'écriture. il est bien entendu que d'autres dispositions concernant ce système de mémoire sont possibles. Comme on l'a souligné précédemént, différents agencements de multiplexeurs et de réseaux de complément sont également réalisables. En outre, le détecteur de majorité 36 peuttprebndre des des formes tout autres que celle d'une memoire inalterable. R E V n N D T 'C A T I O N S 1. Appareil de mémorisation comprenant une mémoire ayant des positions adressables, caractérisé en ce qu'il comprend en outre un dispositif pour mémoriser un mot de données et un bit indicateur d'une certaine valeur binaire dans un emplacement adressé si le mot de données contient plus de bits d 'une première valeur binaire, et pour mémoriser le complément du mot de données et un bit indicateur de l'autre valeur binaire si le mot contient plus de bits de la seconde valeur binaire. 2. Appareil de mémorisation selon la revendication 1, caractérisé en ce que ladite mémoire comprend un circuit ou réseau inhibiteur pour écrire dans ladite mémoire des bits ayant ladite autre valeur binaire ; et en ce que ledit dispositif de mémorisation comprend un détecteur de majorité pour détecter une majorité de bits de l'une ou de l'autre valeur binaire dans ledit mot de données et pour engendrer ledit bit indicateur; un dispositif pour produire le complément dudit mot lorsque le bit indicateur a' la- dite autre valeur binaire; et un dispositif pour appliquer ledit bit indicateur et soit ledit mot de données soit son complément audit réseau inhibiteur. 3. Appareil de mémorisation selon la revendication 2, caractérisé en ce que ledit dispositif d'application du bit indicateur comprend un registre de données de mémoire ayant une position de bit couplée de façon à recevoir ledit bit indicateur et ses autres positions de bits couplées de façon à recevoir soit ledit mot, de données soit son complément. 4. Appareil de mémorisation selon la revendication 3, caractérisé en ce qu'il comprend également un dispositif sensible audit bit indicateur pour coupler soit le contenu dudit registre, soit le compliment de cé contenu à une ligne omnibus de sortie de la mémoire.