FR 2130099 A1 19721103 FR 7204901 A 19720208 72 04901 1 2130099 La présente invention concerne les registres à décalage et, plus particulièrement, les registres à décalage servant à emmagasiner une grande quantité de données. Dans la demande de brevet français n° 7144313 déposée par la demanderesse 5 le 2.12.71, est décrite une mémoire à registre à décalage à K positions pour l'emmagasinage de données. Dans cette mémoire, les données sont emmagasinées de telle sorte que le dernier bit de données auquel on accède se trouve dans la dernière position, ou position d'accès K., du registre et puisse être lu sans décalage; que 1'avant-dernier bit de données auquel on accède soit em-10 magasiné dans la position K-1, ou position précédant la position K, et n'ait à être décalé qu'une seule fois pour être transféré à la position d'accès K. de la mémoire afin d'être lu j et ainsi de suite. On a constaté qu'en emmagasinant les données de la sorte, n'importe quelle page désirée de données pouvait être atteinte en procédant à un nombre de décalages beaucoup moins élevé, en 15 moyenne, que si les données avaient été emmagasinées de façon aléatoire dans le registre à décalage. On sait que les domaines magnétiques cylindriques sont d'un emploi particulièrement commode dans les mémoires à registre à décalage car ils prennent peu de place, présentent un caractère non volatil et ils permettent de réaliser des registres à décalage contenant un grand nombre de 20 positions. La présente invention prévoit donc l'utilisation d'un nouveau registre à décalage à domaines magnétiques cylindriques dans lequel les données peuvent être disposées de la façon décrite ci-dessus. Dans ce registre à décalage, le nombre de positions de décalage K. correspond au nombre de pages ou de mots 25 à emmagasiner, et les positions de décalage sont disposées de manière à permettre de décaler les données d'une position à l'autre à l'aide de boucles qui incluent ou excluent de façon sélective la position d'accès K. du registre. Deux boucles deiécalage sont prévues : l'une d'elles contient toutes les positions de décalage K du registre et sert à décaler les données d'une position 30 quelconque à la positiond'accès K. en vue d'une opération de lecture ou d'écriture ; l'autre boucle exclut la position d'accès K. et sert à remettre les données contenues dans le registre dans l'ordre dans lequel elles ont été utilisées pour la dernière fois après qu'elles aient été décalées par la première boucle et transférées à la position d'accès. 35 En raison de sa configuration, le registre à décalage de la présente invention tire parti des avantages que présentait la demande de brevet pré-citée et, d'une façon plus générale, les mémoires à domaines magnétiques cylindriques. Par exemple, la présente invention permet d'utiliser des registres à décalage à domaines magnétiques possédant un grand nombre de positions de 40 décalage sans que cela se traduise, en moyenne par des temps d'accès aux 72 04901 2 2130099 données extrêmement longs. Il est évidemment souhaitable d'employer des registres de grandes dimensions de ce type car cela permet de réduire le coût de la fabrication de la mémoire ainsi que le nombre des circuitsd'accès et des autres circuits nécessaires. La fabrication de registres à décalage 5 conformes à la présente invention permet de tirer parti du fait que les mémoires à domaines magnétiques cylindriques se prêtent naturellement à,un décalage bidirectionnel pour réaliser les deux boucles de décalage du registre sans que cela se traduise par une augmentation importante de la place occupée par ce dernier sur la plaquette. 10 L'un des objets de la présente invention est donc de fournir un registre à décalage à domaines magnétiques cylindriques pouvant être utilisés dans une mémoire dans laquelle les pages de données sont disposées dans l'ordre de leur utilisation, de telle sorte que la page à laquelle on- a accédé le plus récemment puisse être transférée en priorité par décalage à la position 15 d'accès. Un autre objet de l'invention est de fournir un tel registre à décalage dans lequel la remise en ordre des données s'effectue dynamiquement à l'intérieur du registre et sans commandes externes. Un autre objet de l'invention est de fournir un tel registre à décalage 20 capable en cours de fonctionnement de remettre en ordre dynamiquement toutes les pages de données, ou certaines de celles-ci, afin de permettre de transférer les données par décalage à la position d'accès dans l'ordre exact dans lequel on a accédé à ces données pour la dernière fois. D'autres objets, caractéristiques et avantages de la présente invention 25 ressortiront 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 représente de façon schématique un agencement du registre à décalage conformément à une réalisation de la présente invention, utilisé dans une mémoire. 30 La figure 2 représente à l'aide de symboles certaines positions de deux des registres à décalage à K, positions de la figure 1 et illustre la façon dont le transfert des données est effectué ainsi que les connexions d'entrée/ sortie. La figure 3 représente d'une façon schématique l'agencement de l'un des 35 registres à décalage à domaines magnétiques cylindriques fabriqué conformément à la présente invention. La figure 4 est un schéma synoptique des circuits de commande et d'accès du registre de la figure 3. La figure 5 est un schéma synoptique représentant les circuits servant 40 à commander les registres de la réalisation des figures 1 à 4, et de modifier 72 04901 3 2130099 l'ordre des pages de données conformément à l'invention. La figure 5a représente schématiquement les circuits de comparaison qui peuvent être utilisés dans l'unité dite de comparaison d'adresse de la figure 5. On a partiellement représenté sur la figure 1 trois classes de registres 5 à décalage N, rJ+1 et N-1, chacun desquels permet d'accéder séparément aux pages de données et de modifier l'ordre de ces dernières. Chaque classe se compose de registres à décalage disposés longitudinalement sur la figure et dont chacun possède K. positions de décalage, K étant égal à la capacité d'emmagasinage de pages de la classe considérée. Chaque position de décalage de ces registres 10 contient tous les bits d'une page. Il existe donc un groupe de registres d_ dont le norrbre est égal au nombre de bits de données par page plus un groupe égal au nombre de bits d'adresse par page. Les registres sont décalés ensemble et les pages sont de ce fait successivement décalées d'une position à l'autre. La position K est la position de page prévue pour la vérification d'adresse 15 et l'accès en vue d'opérations de lecture/écriture. La figure 2 illustre la façon dont on décale les pages d'une classe de registres et dont on accède à ces pages. Sur cette figure, les rectangles comportant des flèches dirigées dans des sens opposés et les connexions des lignes sont symboliques des unités topologiques ou des cellules de mémoire 20 dans un registre à décalage statique bidirectionnel du type représenté sur la figure 3 et décrit plus loin.Seuls deux des registres de cette classe sont représentés, à savoir le registre d^ de données de premier ordre et le registre a^ à l'extrémité opposée pour le champ d'adresse de page. Il est sous-entendu qu'entre les deux registres indiqués se trouvent le reste des registres de 25 données d^ et tous les registres d'adresse a^ de la figure 1, qui ont le même nombre de cellules de mémoire qus les deux registres représentés et les mêmes connexions afin de décaler tous les registres à l'unisson. Les cellules comprises entre 1 et K.-4 à K des deux registres représentés ont été omises. Sur la figure 2, tous les registres sont connectés de manière à permettre 30 un décalage à l'aide de deux boucles différentes, une boucle L^ (décalage à gauche sur la figure], qui comprend la position et une boucle L^, [décalage d droite sur la figure] qui comprend toutes les positions excepté K.. L'accès à chaque position de bit d'une page dans la position K. en vue d'une opération de lecture ou d'écriture, est indiqué respectivement par les lignes portant les 35 indications "sortie" et "entrée". Par conséquent, les pages peuvent être initialement chargées dans cette classe de registres en écrivant dans les cellules de position K, puis en décalant leur contenu lors du décalage dans la boucle L.j, cette écriture et ce décalage étant effectués de façon alternée K fois. Les deux premières pages ainsi chargées se trouveront aux positions K. 40 et K.-1 lorsque le chargement sera terminé. 72 04901 4 2130099 Une demande d'accès à la classe en question, cette demande prenant la forme de l'adresse de la page désirée, est comparée avec les bitsâ'adresse de la page dans la position K, et le résultat est transmis aux circuits de comparaison. S'il y a accord, l'unitédemandant l'accès en est informée, il n'y a pas 5 de décalage, les circuits de lecture/écriture afférents à la position K sont mis dans l'état approprié et l'accès demandé est obtenu. Toutefois, s'il n'y a pas accord, les registres sont décalés une fois sur la boucle L^, la page qui se trouvait dans la position K passant à la position 1 de la classe de registres et la page qui se trouvait dans la position K-1 passant à la 10 position K. Les bits d'adresse de la nouvelle page dans la position K sont comparés avec ceux de la page demandée, et s'il y a accord, l'accès est obtenu . comme dans le cas de la première comparaison. S'il n'y a pas accord, la recherche se poursuit en procédant de façon alternée à un décalage dans la boucle L^ et en comparant l'adresse de la page qui vient d'entrer dans la position 15 1 jusqu'à ce qu'un accord soit obtenu. Un accord obtenu après la première comparaison ne donne pas seulement accès à la page pour laquelle il y a accord et qui se trouve dans la position K., comme expliqué ci-dessus, mais provoque également un décalage dans le sens inverse des positions de registre 1 à K-1 dans la boucle L2 jusqu'à ce 2II que la page qui se trouvait initialement dans la position K ait atteint la position K-1. Ainsi lorsqu'un accord se produit après la première comparaison, l'ordre des pages de la classe est modifié de telle sorte que la page qui se trouvait dans la position^'accès K lors de la réception de la demande d'accès (page 25 qui était alors la dernière à avoir fait l'objet d'une opération d'accès et qui est maintenant l'avant dernière] soit échangée avec la page demandée mais qui se trouve dans la position K-1 où elle est la plus proche, dans le sens du décalage, de la position de comparaison-accès K. De même, la page qui se trouvait dans la position K-1 lors de la réception de la demande se trouve 30 à présent, si elle n'est pas la page demandée, dans la position K-2 et toutes les pages qui se trouvaient alors dans les positions comprises entre K-1 et celle contenant la page désirée, se trouvent à présent éloignées d'un ordre de plus de la position d'accès K, dans le sens du décalage, dans la boucle L1. Ainsi, irrespectivement de l'ordre initial, des pages,une fois tju'on 35 a accédé à toutes les pages d'une même classe, l'ordre de toutes ces pages est modifié dans le sens du décalage dans la boucle L1 en fonction de la chronologie des opérations d'accès,depuis la plus récente dans la position K à la plus ancienne dans la position 1. Etant donné que la position K est exclue de la boucle L^, la page demandée qui se trouve dans cette dernière 40 reste accessible en dépit du décalage effectué dans cette boucle. 72 04901 5 2130099 Dans un système d'emmagasinage à registre à décalage dans lequel les pages restent dans une suite fixe, ce qui serait le cas du système de la figure 2 en l'absence de la boucle de décalage inverse L^, le tempsd'accès est égal au nombre de decalages requis pour déterminer la position de la page désirée, 5 multiplié par la vitesse de décalage, et le temps d'accès moyen est égal à (K-U/2 fois la vitesse de décalage, K. étant le nombre de pages dans la classe considérée. Dans le système de la figure 2, le temps d'accès est égal au nombre de décalages requis pour déterminer la position de la page désirée, multiplié par le temps de décalage, plus le nombre de décalages requis pour 10 mettre la page qui était la dernière à avoir fait l'objet d'une opération d'accès et qui se trouve dans la position K-1, multiplié par la vitesse de décalage. Le système de la figure 2 permet néanmoins de réduire de façon très appréciable le temps d'accès moyen par rapport à celui afférent à un système dans lequel les pages demeurent dans une suite fixe et dans lequel 15 certaines pages d'une même classe sont référencées avec une fréquence beaucoup plus élevée que d'autres, ce qui se produit généralement dans le cas d'opérations d'accès à la mémoire commandées par programme. Si, par exemple, un programme n'utilise que 10 des 4096 pages d'une même classe, lorsque ces dix pages auront été référencées une fois dans le système 20 selon la figure 2, elles se trouveront dans les positions K à K-9. Si elles font ensuite l'objet d'opérations d'accès commandées par le programme à une fréquence égale, le temps d'accès moyen sera égal à neuf fois le temps de décalage, au lieu de 2048 fois le temps de décalage dans un système d'emmagasinage dans lequel les données restent dans une suite fixe. Si le programme 25 commandait des opérations d'accès à certaines de ces dix pages à une fréquence beaucoup plus élevée qu'à d'autres, le temps d'accès moyen dans le système de la présente invention serait plus réduit encore. Lors de l'utilisation d'une mémoire constituée par des classes de pages accessibles séparément, et permettant de modifier l'ordre de ces dernières 30 conformément à l'invention, il est souhaitable que certaines pages qui seront utilisées beaucoup plus que d'autres, ou qui seront utilisées exclusivement par un certain nombre de programmes, soient réparties dans plusieurs des classes en vue de leur emmagasinage. De la sorte, les pages fréquemment utilisées seront isolées vers la position de comparaison-accès K de manière à être plus 35 rapidement accessibles que si elles se trouvaient toutes dans une unique catégorie ; cela permet également de réduire le temps d'accès à un nombre restreint de pages utilisées par certains programmes. Par exemple, si les dix pages de l'exemple donné ci-dessus étaient réparties en deux classes de cinq pages chacune, le temps d'accès moyen après que chacune ait fait l'objet d'une 40 opération d'accès serait ramené à une valeur égale, au maximum, à deux fois le 72 04901 6 2130099 temps de décalage. Cette répartition recommandée permet également de réduire la probabilité pour que des demandes répétées d'accès immédiat à une même classe se produisent. Afin de pouvoir procéder en priorité à des opérations de recherche 5 intéressant un groupe restreint constitué par les pages qui sont les plus fréquemment utilisées, certains systèmes de traitement des données comportent des registres supplémentaires dans lesquels ces pages sont emmagasinées en double. Ce sont d'abord les adresses des pages de ces registres supplémentaires qui font l'objet de recherches, et la classe avec laquelle ces pages font 10 partiellement double emploi ne fait l'objet de recherches que si l'adresse demandée ne se trouve pas dans les registres supplémentaires. A l'aide de commandes assez compliquées, les pages contenues dans ces registres supplémentaires sont mises à jour en fonction de la chronologie de leur utilisation. Le système tel qu'il est représenté sur la figure 2 et sur d'autres 15 figures qui restent à décrire, présente de nombreux avantages par rapport à cet agencement de l'art antérieur, notamment le fait que le matériel et ses commandes sont considérablement simplifiés. Par exemple, les registres supplémentaires et le dispositif de lecture des pages faisant double emploi depuis les registres ou les positions de la classe principale sont supprimés. Les 20 connexions de décalage sont commandées de façon simple et dynamique, le fonctionnement est simplifié et l'on évite les problèmes relatifs au changement des pages emmagasinées en double. Il n'y a pas d'opérations de recherche doubles relatives à une même page, comme cela pouvait se produire dans l'agencement de l'art antérieur, et toutes les pages d'une même classe font l'objet 25 d'une recherche prioritaire en fonction de la chronologie de leur emploi une fois que l'on a accédé à toutes les pages. La figure 3 représente un registre à décalage à boucle fermée et à K positions conforme à la présente invention. On peut voir sur cette figure une configuration de recouvrement comprenant des barres en Permalloy en T et en 30 I pour les étages du registre à décalage, des configurations de conducteurs pour les circuits de commande, et la plaquette associée 210 à domaines magnétiques cylindriques. Comme toutes les plaquettes à.partir desquelles des registres à décalage à domaines magnétiques de ce type sont réalisées, la plaquette 210 est sous l'influence d'un champ magnétique de polarisation dirigé 35 perpendiculairement à son propre plan. On provoque le déplacement des domaines magnétiques d'une barre en Permalloy à l'autre en magnétisant de façon séquentielle la barre qui est la plus rapprochée du domaine magnétique, et ce, de façon cyclique. Ce résultat est obtenu à l'aide du champ magnétique tournant 211 qui se trouve dans le plan de la plaquette 210 et que l'on peut 40 faire tourner dans le sens horaire ou dans le sens anti-horaire. Sur le schéma. 72 04901 7 2130099 les barres de Permalloy portent des numéros qui correspondent à ceux indiquant la direction du champ magnétique tournant et permettent de déterminer l'emplacement d'un domaine magnétique dans l'une des barres en Permalloy, lorsque ce champ magnétique est dirigé dans la direction indiquée par le numéro 5 correspondant. On suppose ici qu'aucune donnée n'est initialement emmagasinée dans le registre, et c'est pourquoi la description ci-après porte sur la façon dont les données sont initialement emmagasinées dans le registre, puis lues ou écrites dans celui-ci et enfin mises dans l'ordre requis, les données les plus récemment utilisées se trouvant le plus près de la position d'accès. 10 La barre de Permalloy 212 est deux fois plus longue que les autres barres du registre à décalage et, de ce fait, peut être utilisée pour engendrer le domaine magnétique mère 213. Cela est dû au fait que cette barre est saturée a une intensité de champ plus faible que les autres barres du registre, ce qui permet au champ magnétique tournant 211 d'engendrer un domaine magnétique 15 cylindrique dans la barre 212 sans que d'autres domaines magnétiques soient engendrés en d'autres points du registre. Par conséquent, lorsque le champ magnétique tourne dans le sens anti-horaire vers la direction 4, un domaine magnétique est formé au point 4 de la barre 212. Lorsque le champ continue à tourner dans le sens anti-horaire, ce domaine magnétique est attiré vers la 20 position 3 d'une plaque en Permalloy 214 qui engndre des domaines magnétiques. Une fois parvenu à cette position 3, le domaine magnétique 213 forme le domaine magnétique mère à partir duquel tous les autres domaines magnétiques qui seront utilisés dans la mémoire seront engendrés. De la plaque 214, les domaines magnétiques sont transférés à l'étage 25 d'accès 215 de la mémoire, et de là à d'autres positions de cette dernière. Pour comprendre corrment ce résultat est obtenu, on supposera qu'il n'y a pas de données d'emmagasinage dans la mémoire et que le champ 211 tourne dans le sens anti-horaire, et qu'un "1" doit être écrit dans le registre. En pareil cas, le domaine magnétique mère 213 est attiré vers deux positions 2, une 30 position 2 sur la plaque 214 et une autre position 2 sur la barre en T 216 de commande d'écriture. Cependant que le champ magnétique continue à tourner, le domaine magnétique mere 213 s'allonge et finalement se divise, laissant un domaine magnétique dans la barre 216. De ce fait, un "1" est placé dans la barre 216 pour être introduit dans la position a'accès 215 du registre. Pour placer 35 un "b" dans la oarre 21B, un courant de commande est appliqué au circuit imprimé 217 de commande d'écriture de manière à faire obstacle au champ magnétique engendré par la barre 216 lorsque le champ tournant se trouve dans la direction 2. Le champ magnétique mère 213 n'est donc pas attiré vers la barre 216, et aucun domaine magnétique ne se trouve dans la position 2 de cette barre. On peut 40 donc, en commandant le courant dans le circuit 217, déterminer si un "1" ou un 72 04901 a 2130099 "0" est introduit dans la barre 216. Si un domaine magnétique est introduit dans cette barre, un "1" a été engendré. Dans le cas contraire, un "0" a été engendré. La rotation du champ magnétique 211 dans le sens anti-horaire fait passer 5 le champ à la position 3, et de ce fait le domaine magnétique éventuellement présent dans la barre 216 est mis dans la configuration d'entrée 218 en Permalloy de l'étage d'accès 215 du registre à décalage. Le champ continue à tourner dans le sens anti-horaire, le domaine magnétique étant mis dans la position 2 où il pénètre dans la barre en T 222 de la position d'accès. Cette 1U partie de la barre est le point de détection pour la chaîne de mémoire.Lorsqu'il franchit les lignes 224 de bits et de détection sous la barre en T 222, le domaine magnétique provoque un changement de flux dans les lignes de bits et de détection qui peut être détecté par une modification de la résistance d'un élément magnéto-résistif 225 dans la ligne. Cette détection pendant le 15 cycle d'écriture initial garantit que ce sont bien les données voulues que l'on est en train d'écrire dans la cellule puisqu'elles permettent de déterminer si un domaine magnétique est ou n'est pas présent dans la position 2 lorsqu'il est ou n'est pas censé l'être. Les données qui se trouvent à la position d'accès ou position K de ce 20 registre à décalage à K. bits doivent être mises dans la position K-1 des registres à décalage. Ce transfert est effectué en continuant a faire tourner le champ magnétique dans le sens anti-horaire, de telle sorte que le domaine magnétique soit transféré de la position de détection 2 de la barre 222 à la position 4 de cette même barre, puis à la position 3 de la configuration de 25 sortie 226 en Permalloy pour la position d'accès. Lorsque le domaine magnétique parvient à la position 1 de la configuration 226, il quitte la position d'accès 215 du registre et pénètre dans la première position de celui-ci. Il se trouve alors dans la boucle principale 228 du registre, et cependant que le champ continue à tourner dans le sens anti-horaire, le domaine magnétique se déplace 30 dans la boucle principale du registre dans le sens indiqué par la flèche 232, et passe de la première position du registre à la seconde position, puis à la troisième position, et ainsi de suite. En d'autres termes, le domaine magnétique continue à se déplacer de la configuration de sortie 226 à la barre en I 230, puis à la barre en T 234, puis à la barre en I 236, et ainsi de suite, en suivant 35 la série des numéros indiquant la position des domaines magnétiquœ le Ion g de la rangée inférieure de barre s en T, puis le long de la rangée supérieure de barres en T. Ce déplacement continue jusqu'à ce bit de donnée soit mis dans la position 2, de la configuration d'entrée 218 en Permalloy pour la position d'accès, où il se trouve dans la position K-1 du registre à décalage. Lorsque 40 cela se produit, les données ont été emmagasinées dans la position 2 de chacune 72 04901 S 2130099 des barres périphériques T de la boucle principale de la mémoire, à l'exception de la position 2' de la configuration de sortie 226. Pour remplir cette position 2', on inverse le sens de rotation du champ 211 lorsque le domaine magnétique final pour la boucle principale 226 est mis dans la position 4 de la 5 configuration de sortie 226. On fait alors tourner le champ 211 dans le sens horaire jusqu'à ce que le domaine magnétique soit mis dans la position 2' afin de remplir le registre. Le registre étant plein, les données peuvent rester stationnaires dans celui-ci sous l'influence du champ de polarisation magnétique jusqu'à ce qu'elles soient prêtes à faire l'objet d'une opération 10 d'accès. Pour lire des données à partir d'un bit quelconque de données emmagasiné dans le registre à décalage, par exemple, emmagasiné à la position de bit 2 de la barre en T 238, on fait de nouveau tourner le champ magnétique dans le sens anti-horaire en transférant les données de la position 2 de la 15 barre 238 à la position 2 de la configuration d'entrée 218 pour la position d'accès 215 de la mémoire. Dans cette position, le bit de données faisant l'objet d'une opération d'accès se trouve dans la position K-1 de la mémoire. Pour retirer ce bit de la boucle principale 232 et le mettre dans la position d'accès, une impulsion de commande est appliquée au circuit imprimé 240 de 20 commande de décalage. Cela a pour effet de créer un champ qui s'oppose à celui qui est produit à la position 4 de la configuration d'entrée pour l'étage d'accès lorsque le champ tournant est orienté dans la direction 4, le champ produit à la position 4 étant ainsi annulé. Le domaine magnétique est par conséquent dévié vers la position 4' de l'étage d'accès 218 au lieu de conti-25 nuer directement jusqu'à la position 4 de la boucle principale 228. Cependant que le champ continue à tourner, le domaine magnétique est transféré en séquence de la position 4' à la position 3 dans la configuration d'entrée 218 et de cette position 3 à la position 2 de la barre en T 222, où il est détecté par suite de la détection d'une variation de la résistance dans les lignes de 30 bits et de détection 224 de la façon précédemment décrite. Une fois détecté, 46 domaine passe à la position 4 de la barre 222, où une impulsion peut ou non être appliquée de façon sélective au circuit imprimé 244 de commande de destruction afin, selon le cas, de détruire ou de ne pas détruire le domaine magnétique. Si les données ne doivent pas être détruites, par exemple lorsque 35 les données lues doivent être réutilisées, aucune impulsion n'est appliquée à la configuration 244 et les données sont remises dans la boucle principale 228 lors de l'accès suivant. Cependant, lorsque de nouvelles données doivent être écrites dans la position de bit, une impulsion est appliquée au circuit imprimé 244 afin de détruire les données. Les données ayant été détruites, de 40 nouvelles données sont mises dans la position d'accès 215 de la façon précédem 11 04901 10 2130099 ment décrite à propos du chargement initial du registre et en même temps que le déplacement des données auxquelles on a accédé de la position 2 à la position 4 de la barre en T. Si l'on suppose qu'un "1" doit être écrit dans le registre, le domaine magnétique mère 213 est attiré vers deux positions 2 : une position 5 2 dans la plaque 214 qui engendre les domaines magnétiques, et une autre position 2 dans la barre 216. Cependant que le champ continue à tourner, le domaine magnétique 213 s'allonge et finit par se diviser, laissant un domaine magnétique dans la barre 216. De ce fait, un "1" est mis dans la barre 216 afin d'être inséré dans la position d'accès 215 du registre. Pour mettre un 10 "0" dans la barre 216, un courant de commande est appliqué au circuit imprimé 217 de commande d'écriture de manière à s'opposer au champ magnétique engendré par la barre en T lorsque le champ tournant se trouve dans la direction 2. Par conséquent, le domaine magnétique 213 n'est pas attiré vers la barre 216 et aucun domaine n'existe dans cette dernière. 15 Une fois que des données ont été de nouveau écrites dans la position d'accès, les données dans la boucle principale 228 du registre à décalage doivent être reclassées dans l'ordre dans lequel elles ont été utilisées pour la dernière fois. Ce résultat est obtenu en inversant le sens de rotation du champ magnétique 211 et en faisant tourner celui-ci dans le sens horaire. Il 20 est nécessaire pour cela que toutes les données contenues dans la boucle principale soient déplacées dans la direction 254 d'autant de décalages qu'il en faut pour faire parvenir les données à la positiond'accès dans la direction 232. Lorsque le sens de rotation du champ est ainsi inversé, les données transmises dans la boucle principale 228 commencent à se déplacer dans la 25 direction indiquée par la flèche 254 jusqu'à ce qu'elles aient été mises dans l'ordre requis. En même temps, les données contenues dans la position d'accès circulent de façon continue dans la boucle 246 entre la position 2 de la barre en T 222, la position 3 de la configuration d'entrée 218, la position 4 de la barre en T 216 et la position 1 de la barre en I 248. On voit donc comment, 30 dans le registre à décalage de la figure 3, les données peuvent être transférées par décalage à la position d'accès en vue d'une opération de lecture ou d'écriture et comment, pendant que les données sont maintenues dans la position d'accès, l'ordre d'autres données peut être modifié. L'agencement représenté tire parti de la faculté de se déplacer dans deux 35 directions que possèdent les domaines magnétiques du registre à décalage et fournit les deux boucles de transfert de données sans qu'une augmentation importante de la place requise sur la plaquette soit nécessaire. Par ailleurs, le mode de classement des données décrit ci-dessus permet d'utiliser de très grandes boucles à domaines magnétiques cylindriques avec des temps d'accès 40 beaucoup plus courts en moyenne que lorsque les données sont disposées de 72 04901 11 2130099 façon aléatoire dans les registres de ce type. Cela permet une fabrication très efficace des registres à domaines magnétiques. La figure 4 est un schéma synoptique des circuits permettant d'engendrer et de détecter les signaux électriques qui sont requis afin d'accéder au 5 registre à décalage de la figure 3. Les différents blocs représentent des circuits de commande, des bascules bistables, et des circuits de comparaison standard. Ils comprennent un circuit de commande d'écriture 401 qui fournit les signaux de commande au circuit 217 de la figure 3, une bascule de commande de bit/détecttcn 402 qui fournit la commande de sortie des données et les 1U signaux de commande du circuit 224, de la figure 3. Un circuit de commande de destruction 403 fournit les signaux au circuit 244 de la figure 3 et un circuit de commande de décodage 404 fournit les signaux au circuit 240 de la figure 3. Un comparateur d'adresses de registre 405 comprend les circuits précédemment cités, et un circuit de commande de phases 406 fournit les 15 différentes phases 1 - 4. Ces circuits ne font pas partie de la présente invention et ne sont donc pas représentés en détail. La figure 5 représente les circuits de commande pour les registres d'une classe donnée conformément à la réalisation représentée schématiquement sur les figures 1 et 2, ces circuits utilisant des registres à décalage et des 20 connexions conformes aux figures 3 et 4. Il y a d registrs d'adresse Cle premier et le dernier seulement étant représentés], et a registres d'adresse (le premier et le dernier seulement étant représentés à savoir, K-1 (le plus proche] et 1 (le plus éloigné]. Les deux boucles de décalage du registre sont indiquées de la même façon que sur la figure 2, c'est-à-dire L^ pour la boucle 25 de gauche, qui comprend la position K, et L^ pour la boucle de droite, qui exclut la position K. Les bits d'adresse de la position K des registres d'adresse sont appliqués par l'intermédiaire de lignes°aux bornes correspondantes d'une unité de comparaison d'adresse (ACU]. Chaque bit de position K des registres de données 30 possédé une ligne de sortie allant de ses circuits de sortie de la figure 4 à une porte ET A-3, dont l'autre borne est connectée à une ligne 104 j et deux lignes d'entrée 107 provenant de deux portes ET A-2 qui sont respectivement connectées aux lignes d'entrée de chaque registre à décalage de bits. La sortie de chaque porte ET A-3 est connectée a une ligne 106 par l'intermédiaire de 35 laquelle sont transmises les données, depuis les positions K'corespondantes des registres de données, à l'unité extérieure. L'une des bornes d'entrée de chaque porte ET A-2 est connectée à une ligne d'ECRITURE 0 provenant de la source de données du système, l'autre borne étant connectée à la ligne 104. (Les lignes d'entrée, non représentées, aboutissant aux bornes d'entrée 112 des positions 40 K des registres d'adresse ne sont utilisées que lors du chargement initial de 72 04901 12 2130099 tous les registres de la classe considérée, et peuvent provenir, par exemple d'un compteur}. Lorsqu'une unité extérieure demande à avoir accès à une page, cette unité transmet chacun des bits d'adresse de celle-ci par l'intermédiaire 5 des lignes 118 aux portes ET A-1, qui sont rendues conductrices de la façon décrite ci-après, et de là, par l'intermédiaire des lignes 120, aux positions de bits correspondantes d'un registre d'adressœde mémoire (MAR). Les bits provenant de ce dernier sont à leur tour appliqués aux bornes correspondantes de l'unité ACU par l'intermédiaire de lignes 122. Bien que deux seulement 10 deux des lignes et des portes mentionnées dans la phrase précédente soient représentées sur la figure 5, et correspondent aux deux registres d'adresse £ représentés, il doit être bien entendu qu'il existe a_ lignes et portes de ce type. L'unité ACU peut utiliser des circuits de comparaison classiques qui 15 fournissent une sortie sur une ligne dite de "DESACCORD" lorsque tous les bits comparés ne-sont pas les mêmes, et une sortie sur une ligne dite d'ACCORD lorsque tous les bits comparés sont les mêmes. Les circuits de l'unité ACU représentée sur la figure 5A seront décrits ci-après. Le registre MAR est un registre d'emmagasinage classique qui applique ses valeurs de bits "1" ou "0" 20 aux lignes 122. Lors du chargement du registre MAR, l'unité extérieure transmet simultanément un signal sur une ligne dite de RECHERCHE, qui, par l'intermédiaire de la porte OU 124 et d'une ligne dite de COMPARAISON met en service les circuits de comparaison. Si l'adresse demandée est celle de la derniere page 25 à laquelle on a accédé, cette page se trouve dans la position K. et l'unité ACU fournit une sortie sur la ligne d'ACCORD qui indique a l'unité extérieure que la page désirée se trouve dans la position d'accès. La sortie présente sur la ligne ACCORD est transmise sur la ligne 104 et rend conductrices les portes ET A-2 afin que les signaux de données éventuellement fournis par l'unité 30 extérieure et transmis sur les lignes d'ECRITURE 0 soient appliqués aux circuits d'entrée des cellules de données de la position K. Le signal d'ACCORD présent sur la ligne 104 rend conductrices les portes A-3, l'unité extérieure pouvant de ce fait lire ou écrire des données à son gré, et est d'autre part appliqué à l'une des bornes de la porte ET A-6, à l'autre borne de laquelle est appliqué 35 un signal engendré par le compteur réversible 200 de position K., un signal étant alors transmis par la porte A-6 sur une ligne dite "CLASSE DISPONIBLE" à l'unité extérieure afin d'informer cette dernière qu'elle peut commencer une autre opération de recherche aussitôt qu'elle aura achevé son opération d'écriture ou de lecture. Les portes de lecture/écriture A-2 et A-3 restent 40 conductrices tant que l'unité extérieure envoie des signaux sur la ligne de 72 04901 13 2130099 RECHERCHE. Si l'adresse demandée ne se trouve pas dans la position K., l'unité ACU engendre sur la ligne de DESACCORD une sortie qui enclenche une bascule bistable de désaccord référencée NML. La sortie de cette dernière est trans-5 mise par l'intermédiaire de la ligne 12B à la porte OU 124 afin de verrouiller l'unité ACU dans un état de recherche-comparaison. Par ailleurs, les portes A-1 précédemment rendues conductrices par la sortie de la bascule NML transmise par l'intermédiaire de l'inverseur 128 et de la ligne 130, puisque cette bascule n'était pas enclenchée, sont à présent rendues non conductrices 10 par la sortie de la bascule. Cette sortie est appliquée à l'une des bornes de la porte ET A-4, à l'autre borne de laquelle est appliqué ten l'absence d'une sortie d'ACCORD sur la ligne 104) un signal par l'intermédiaire de la ligne 132, de l'inverseur 134 et de la ligne 136. La sortie de la porte A-4 est appliquée par l'intermédiaire de la ligne 138 à la borne "GAUCHE" 15 d'une unité de commande de décalage, SCU, cette borne correspondant aux lignes de décalage à GAUCHE des circuits de commande de décalage de la figure 4. La borne d'entrée "MAINTIEN" de l'unité de commande de décalage, qui était précédemment excitée, en raison de l'absence de sortie de la bascule NML, par l'intermédiaire de la ligne 140, de l'inverseur 142, et de la ligne 144, 20 est maintenant désexcitée par la sortie inversée de la bascule NML. Le compteur réversible 200 de position K. compte dans une direction le nombre des décalages à gauche des circuits de décalage lors d'une recherche jusqu'à ce que la page désirée ait été obtenue, et dans l'autre sens jusqu'à ce que sa valeur soit égale à 0, ce qui est indiqué par une sortie. 25 si le premier décalage à gauche se traduit par un accord, la sortie engendrée par l'unité ACU et transmise sur la ligne d'ACCORD indique ce fait à l'unité extérieure, et rend conductrices les portes de lecture et d'écriture de la façon précédemment décrite. Par ailleurs, la présence d'un signal d'ACCORD sur la ligne 104 rend la porte ET A-4 non conductrice en raison de la 30 présence de l'inverseur 134, et excite, par l'intermédiaire de la ligne 158, l'une des bornes de la porte ET A-5, dont l'autre borne est excitée par la sortie de la bascule NML. La porte A-5 transmet alors sur la ligne 160 un signal qui est appliqué à la borne "DROIT" de l'unité de commande de décalage SCU afin de provoquer un premier décalage à droite. Etant donné qu'on suppose 35 ici que la page désirée a été trouvée lors du premier décalage à gauche, le premier décalage à droite transfère la page qui se trouvait précédemment dans la position d'accès K, de la position 1 a la position K-1, cependant que la position K reste dans l'état de MAINTIEN en vue d'une opération d'accès à cause des connexions aux commandes dè décalage à droite de la figure 4. 40 La sortie de la porte A-6 est appliquée par l'intermédiaire de la ligne 72 04901 14 2130099 162 à la borne de restauration de la bascule NML, qui est de ce fait rendue inactive et transmet le signal, par l'intermédiaire de la ligne CLASSE DISPONIBLE, à l'unité extérieure. L'absence de sortie de la bascule NML a pour effet de rendre la porte A-5 non conductrice, de maintenir la porte A-4 non conduc-5 trice et de restaurer toutes les positions du registre dans l'état MAINTIEN par l'intermédiaire de la ligne 140, de l'inverseur 142, de la ligne 144 et des connexions de MAINTIEN de la figure 4. On notera que lorsque la première et la seconde comparaisons ne permettent pas de déterminer la position de la page désirée, le décalage à gauche 10 se poursuit jusqu'à ce que cette page parvienne à la position K, parce que la sortie de la bascule NML et l'absence de sortie sur la ligne 104 rendent la porte A-4 conductrice, la porte A-5 non conductrice et les connexions de MAINTIEN non excitées. La sortie résultante transmise sur la ligne d'ACCORD produit alors les mêmes opérations que celles qui viennent d'être décrites 15 dans le cas d'un accord obtenu au premier décalage, à cela près que le nombre de décalages vers la droite sera supérieur à 1 et égal au nombre de décalages vers la gauche, effectués pour déterminer la position de la page désirée. Les circuits de comparaison de l'unité ACU de la figure 5A comprennent les portes OU exclusif 170 dont les deux bornes d'entrée sont respectivement 20 connectées aux lignes 100 provenant des bits d'adresse de position K, et aux lignes 122 provenant des bitsd'adresse du registre MAR. Les lignes de sortie 172 des portes 170 sont connectées à une porte OU 174. La ligne de sortie 176 de la porte OU est connectée à l'une des bornes d'une première porte ET 17Q et, par l'intermédiaire de l'inverseur 160, à l'une des bornes d'une 25 seconde porte ET 162. Les autres bornes des portes ET 176 et 182 sont excitées par des signaux transmis sur la ligne de COMPARAISON de la figure 5. Une sortie engendrée par la porte 176 est appliquée à la ligne de DESACCORD, cependant qu'une sortie produite par la porte 182 est appliquée à la ligne d'ACCORD. 30 Etant donné qu'une porte OU exclusif à deux bornes possède une sortie si, et seulement si, ses deux entrées sont différentes, toute différence entre les valeurs des bits correspondants sur les lignes 100 et 122 amène leur porte 170 à produire une sortie qui est appliquée à la ligne 176 par l'intermédiaire de la porte OU 174, et par l'intermédiaire de la ligne 178, à la 35 ligne de DESACCORD, cependant qus du fait de l'inverseur 180, il n' y a pas de sortie présente sur la ligne d'ACCORD. Lorsque toutes les valeurs de bits comparées sont les mêmes, aucune sortie des portes 170, du circuit OU 174 ou de la porte 178 n'est appliquée à la ligne de DESACCORD, alors que l'inverseur 180 produit une sortie qui est appliquée par l'intermédiaire de la porte 182 40 à la ligne d'ACCORD. 72 04901 15 2130099 Lors du chargement initial des registres de la classe, un "1" logique est introduit dans la cellule de position 1 à l'extrémité droite du compteur, comme indiqué par la ligne pointillée INSERTION 1 de la figure 5, et emmagasiné en permanence dans le compteur, toutes les autres cellules se trouvant 5 dans leur état logique "0". Lorsque le contenu des registres de données et d'adresses est décalé vers la gauche, sur la figure 5, en raison du fait que la porte ET A-4 est conductrice, et par les circuits de commande de décalage à gauche de la figure 4, le contenu du compteur 200 est simultanément décalé vers la gauche 10 par les mêmes circuits de commanda transférant ainsi successivement le "1" de la position 1 aux cellules situées à gauche à chaque décalage, et comptant le nombre de décalages à gauche, comme indiqué par la boucle de "DECALAGE A GAUCHE" sur la figure 5. Lorsque la position de la page désirée a été déterminée et que le contenu des registres de données et d'adresses 15 a été décalé vers la droite en conditionnant le circuit de décalage à droite de la figure 4, le contenu du registre 200 est décalé vers la droite en même temps que celui des autres registres, comme indiqué par la boucle de "DECALAGE A DROITE" sur la figure 5. Lorsque le nombre de décalages à gauche est égal au nombre de décalages à droite, la page qui se trouvait dans la 20 position K au début de l'opération de recherche se trouve dans la position K-1 et la valeur "1" est revenue à la position du compteur 1, où elle est lue et transférée par l'intermédiaire de la ligne 202 à la porte A-6,tous les registres, y compris le compteur 200, étant restaurés dans l'état de MAINTIEN. 25 dien que l'on ait décrit dans ce qui précédé et représenté sur les dessins les caractéristiques principales 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 apporter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 72 04901 16 2130099 REVENDICATIONS 1. Registre à décalage a domaines magnétiques cylindriques et a K positions pour l'emmagasinage de données, caractérisé en ce qu'il comprend : une position d'accès K permettant d'accéder au registre en vue d'opérations de lecture èt d'écriture ; 5 K-1 autres positions couplées dans une première boucle afin de transférer les données entre ces dernières positions sans mettre les données dans la position d'accès ; et un dispositif de commande permettant d'introduire ladite position d'accès dans ladite première boucle et de la retirer de cette dernière afin de cons-10 tituer une seconde boucle permettant de transférer les données de l'une quelconque des autres positions K-1 à la position d'accès en vue d'opérations de lecture ou d'écriture/ les données se trouvant dans une position de bits quelconque pouvant être transférées à la position d'accès par la seconde boucle et les données se trouvant dans les autres positions pouvant être 15 remise par la dernière boucle dans l'ordre dans lequel elles ont été utilisées pour la dernière fois. 2. Registre à décalage à domaines magnétiques cylindriques et à K positions pour l'emmagasinage de données, caractérisé en ce qu'il comprend : une première configuration de commande à domaines magnétiques pour une 20 position d'accès K du registre permettant de détecter les données présentes dans la mémoire ou d'introduire de nouvelles données dans la mémoire ; une seconde configuration de commande à domaines magnétiques pour K-1 autres positions de la mémoire constituant une boucle en vue du transfert des données entre les dites autres positions sans mettre de données dans ladite 25 position d'accès de la mémoire, et un dispositif de commande électrique permettant d'introduire de façon sélective les dites positions d'accès dans ladite première boucle afin de former une seconde boucle pour que les données provenant de l'une quelconque des K-1 autres positions puissent être mises dans la position d'accès en 30 vue d'opérations de lecture et d'écriture, un bit de données dans l'une quelconque des positions de la mémoire pouvant être mis dans la position d'accès de cette dernière, et pendant que ledit bit de données se trouve dans ladite position d'accès, les données se trouvent dans les autres positions pouvant être remises dans l'ordre dans lequel elles ont été utilisées 35 pour la dernière fois. 3. Registre à décalage selon les revendications 1 ou 2, caractérisé en ce que 72 04901 17 2130099 le transfert des données de la seconde boucle afin d'accéder aux données s'effectue dans un sens, et en ce que le transfert des données dans la première boucle afin de modifier l'ordre de ces dernières s'effectue en sens inverse. 4. Registre à décalage selon la revendication 3, caractérisé en ce qu'il 5 comprend un champ magnétique permettant de produire un champ magnétique tournant dont le sens de rotation peut être inversé de manière à commander le sens du transfert des données dans les boucles. 5. Registre à décalage selon la revendication 4, caractérisé en ce qu'il comprend des moyens dans ladite position d'accès pendant que leur ordre est 10 modifié dans ladite première boucle. 6. Registre a décalage selon la revendication 4, caractérisé en ce qu'il comprend une configuration de commande à domaines magnétiques cylindriques dans ladite position d'accès afin de provoquer le déplacement des données dans ladite position d'accès, pendant que l'on modifie l'ordre des données 15 dans ladite première boucle.