Brevet FR2637708A1 — publié le 19900413

DISPOSITIF POUR LE TRAITEMENT DE DONNEES La présente invention concerne un dispositif pour le traitement de données fonctionnant selon une instruction servant à désigner une pluralité de registres appartenant a différents groupes de registres, chacun de -ces groupes étant composé d'une pluralité de registres de différents types tels que des registres généraux et des registres d'adresse, afin d'exécuter l'instruction de l'opération de stockage dans un dispositif de mémoire principale, et concerne plus particulièrement le dispositif pour le traitement de données du type contenant des premier et deuxième groupes de registres, chacun de ces groupes étant composé d'une pluralité de registres numérotés par codes séquentiels et dont la zone de données pour l'opération de stockage dans le dispositif de mémoire est identique. Un dispositif de ce type pour le traitement de données présente une pluralité de registres appelés registres de base qui stockent principalement des informations d'adresses servant à désigner un mot d'instruction dans le dispositif de mémoire principale et à désigner des données utilisées dans l'instruction, et une pluralité de registres appelés registres généraux qui stockentprincipalement des données pour le traitement et des informations de données d'index utilisées avec des registres de base, ces registres étant utilisés librement en fonction du programme. Les registres de base et généraux sont numérotés respectivement de #manière séquentielle grâce à des codes indépendants les uns des autres. En désignant ces codes, les registres peuvent être utilisés facilement selon le programme; cependant, comme leur nombre est limité, il est nécessaire de dériver temporairement les registres en cours d'utilisation dans le programme principal lorsque des registres en cours sont nécessaires dans un sous-programme, puis de récupérer les registres dérivés lorsqu'on revient au programme principal. Durant cette opération, les instructions utilisées comprennent l'instruction Chargement Multiple : Load Multiple (désignée ci-après comme '!instruCtiOn LM") et l'instruction Stockage Multiple : Store Multiple (désignée ci-après comme "instruction STM"). L'instruction LM et l'instruction STM ont un format d'instruction tel qu'illustré dans la figure 4.Le format d'instruction a une section de code opération OP indiquant s'il s'agit de l'instruction LM ou de l'instruction STM, un champ dTADR indiquant, dans le cas de l'instruction LM, une adresse dans le dispositif de mémoire principale à partir de laquelle les données stockées sont chargées dans le registre et indiquant, dans le cas de l'instruction STM, une adresse dans le dispositif de mémoire principale dans laquelle le contenu du registre est stocké, un champ Nb/Ng indiquant le nombre sous lequel les registres de base et registres généraux devant être chargés sont stockés, et un champ Bi/Gi indiquant les premiers codes des registres de base et des registres généraux devant être chargés ou stockés.Les registres généraux devant être chargés ou stockés selon l'instruction LM ou l'instruction STM se composent d'un nombre Nb de registres numérotés séquentiellement depuis Bi et, de la même manière, les registres généraux se composent d'un nombre Ng de registres numérotés séquentiellement a partir de Gi. Lorsqu'un sous-programme est appelé dans le programme principal, le contenu des registres de base et des registres généraux utilisés dans le programme principal sont transférés dans le dispositif de mémoire principale en application de l'instruction STM. Ensuite, ces registres de base et registres généraux peuvent être utilisés librement dans le sous-programme. Lorsqu'on revient au programme principal d'origine après avoir achevé le traitement du sous-programme, les registres de base et les registres généraux, dont le contenu précédent a été transféré dans le. dispositif de mémoire principale, sont récupérés en application de l'instruction LM à l'état dans lesquels ils étaient juste avant l'appel du sousprogramme pour continuer le traitement selon le programme principal. L'instruction LM et l'instruction STM sont caractérisées en ce qu'il n'est pas nécessaire de fournir des instructions individuelles pour chaque registre lors de la dérivation et de la récupération d'une pluralité de registres, contrairement à des instructions de chargement et de stockage normales, ce qui simplifie le programme. Toutefois, les registres devant être chargés et stockés ne sont pas identifiés individuellement dans le mot d'instruction, un circuit de commande du dispositif de traitement de données doit générer des codes d'identification individuels des registres selon les premiers codes Bi et Gi donnés et le nombre Nb et Ng donné des registres de manière à commander la lecture et l'écriture des registres. En.général, dans un dispositif polyvalent rapide de traitement de données, pour réaliser le traitement rapide de différentes tailles de données, la zone de données de lecture dans le dispositif de mémoire principale et d'écriture dans celui-ci est prévue pour être la plus vaste possible afin d'obtenir une plus grande efficacité. Normalement, cette zone de données à mémoriser est au moins le double de celle du registre de base et du registre général. Cependant, lors de l'exécution de l'instruction LM et de l'instruction STM, du fait de la commande compliquée des codes d'identification des registres chargés et stockés mentionnée ci-dessus, le bus de données entre le dispositif de mémoire principale et le dispositif de traitement de données ne peut pas être utilisé efficacement. En outre, dans le dispositif conventionnel de traitement de données, il existe une instruction permettant d'effectuer des opérations entre les registres généraux, telles qu'une addition entre un registre général a et un registre général b et le stockage du résultat obtenu dans le registre a. Afin de réaliser des opérations rapides de ce type, une paire de registres généraux peut être lue en même temps. Cette fonction non plus n'est pas exécutée efficacement pour exécuter l'instruction STM du fait de la raison invoquée ci-dessus. Donc, un des objectifs de la présente invention est de charger et de stocker efficacement une pluralité de registres par rapport au dispositif de mémoire principale. Dans un dispositif de traitement de données pourvu d'une mémoire et de premier et deuxième groupes de registres, chaque groupe de registres étant composé d'une pluralité de registres numérotés par codes séquentiels et ayant une zone de données d'enregistrement identique, le dispositif pouvant exécuter une opération de stockage des registres individuels dans la mémoire sur une zone de données de mémorisation donnée qui correspond à un nombre multiple des zones de données d'enregistrement, le dispositif pouvant exécuter une instruction de manière à réaliser simultanément l'opération de stockage d'un nombre donné de registres ayant des codes donnés et choisis parmi le premier groupe de registres, et l'opération de stockage d'un nombre de registres donné ayant des codes donnés et choisis parmi le deuxième groupe de registres, le dispositif de l'invention étant caractérisé en ce qu'il présente un moyen de comptage chargeable avec un certain nombre de registres désignés par l'instruction et appartenant au premier groupe de registres, et fonctionnant à chaque opération de stockage en mémoire pour effectuer la diminution de la valeur fixée du moyen de comptage par un multiple qui est un rapport entre la zone de données de mémorisation et la zone de données d'enregistrement de chaque registre; un troisième groupe de registres étant composé dudit nombre multiple de registres de codes servant à contenir les codes permettant de désigner chacun des registres choisis dans les premier et deuxième groupes pour réaliser l'opération de stockage en mémoire; et un moyen de commande servant à rentrer, lorsque la valeur du moyen de comptage est égale ou supérieure audit multiple, dans une première opération-de stockage après le lancement de l'instruction, un premier code, grâce à des codes continus ultérieurs de chaque registre désigné par l'instruction et appartenant au premier groupe de registre, à chacun des registres de code du troisième groupe de registres de manière séquentielle, et servant à rentrer à chacun des registres de code du troisième groupe de registres, dans l'opération suivante de stockage et les opérations de stockage ultérieures après le lancement de l'instruction, un nouveau contenu qui est une somme du contenu immédiatement antérieur d'un registre de code et dudit multiple, le moyen de commande fonctionnant lorsque la valeur du moyen de comptage est inférieure à celle dudit multiple et égale ou supérieure à zéro pour rentrer, dans une première opération de stockage après le lancement de l'instruction, un premier code et des codes ultérieurs de chacun des registres désignés par l'instruction et appartenant au premier groupe de registres aux premiers registres de codes et suivants du troisième groupe de registre dont un des nombres correspond à la valeur du moyen de comptage et attribuant des premiers codes et suivants de chacun des registres désignés par l'instruction et appartenant au deuxième groupe de registre aux registres de code restants, et pour rentrer, dans l'opération suivante et les opérations ultérieures après le lancement de l'instruction, un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple au premier registre de code et aux codes ultérieurs appartenant au troisième groupe de registres dont un nombre correspond à la valeur du moyen de comptage et attribuant le premier code et aux codes ultérieurs de chacun des registres désignés par l'instruction et appartenant au deuxième groupe de registres aux registres de codes restants, le moyen de commande fonctionnant lorsque la valeur du moyen de commande est négative pour rentrer un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple à chacun des registres de code du troisième groupe de registres. Dans la présente invention, le dispositif de traitement de données contient différents groupes de registres, chacun de ces groupes étant composé d'une pluralité de registres généraux ou de registres d'adresse ou autres, et fonctionne selon une unique instruction pour désigner une pluralité des registres pour effectuer l'opération de stockage dans le dispositif de mémoire principale. - la figure 1 est un synoptique illustrant un mode de réalisation de la présente invention; - la figure 2 est un diagramme expliquant le fonctionnement d'un décodeur de masque de mémoire; - la figure 3 est un diagramme des temps pour. expliquer le fonctionnement du mode de réalisation de la figure i; - la figure 4 est un diagramme schématique illustrant le format du mot d'instruction de l'instruction LM et de l'instruction STM utilisé dans la présente invention; et - la figure 5 est une vue explicative du fonctionnement de registres et d'un circuit d'alignement dans le mode de réalisation de la figure 1. Des modes de réalisation de la présente invention vont maintenant être décrits en détail en se référant aux dessins. La figure 1 est un synoptique illustrant un mode de réalisation de la présente invention. Dans la figure, le chiffre 7 désigne une unité de commande d'instruction, le chiffre 2 désigne un dispositif de mémoire principale (mémoire), les chiffres 5 et 9 désignent un circuit d'alignement, les chiffres 6, 7, 8, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 39 et 40 désignent un registre, et le chiffre 10 désigne une unité de registres opérationnels.L'unité de registres opérationnels 10 comprend des premier et deuxième groupes de registres, chacun de ces groupes étant composé d'une pluralité de registres individuels présentant une zone de données d'enregistrement identique lorsqu'ils sont stockés dans la mémoire et étant numérotés par des codes séquentiels. La paire de registres 16 et 17 constitue un troisième groupe de registres qui contient des codes servant à désigner des registres individuels appartenant aux premier et deuxième groupes pour l'opération de stockage dans le dispositif de mémoire principale 1 et qui se compose d'un nombre donné de registres de codes correspondant à un nombre multiple qui est le rapport entre une zone de données de mémorisation de la mémoire et la zone de données d'enregistrement d'un registre individuel.Le chiffre 13 désigne un sélecteur, le chiffre 14 désigne une UAL (Unité Arithmétique et Logique) et les chiffres 31, 32, 33, 34, 36, 37 et 38 désignent un additionneur. L'additionneur 37 et le registre 22 constituent un moyen de comptage chargeable avec un nombre de registres appartenant au premier groupe de registres désignés par l'instruction pour 1! opération de stockage en mémoire, et fonctionnant à chaque opération de stockage pour effectuer la diminution de son contenu dudit multiple qui est le rapport entre la zone de données de mémorisation de la mémoire et la zone de données d'enregistrement du registre individuel. Lors de l'exécution de l'instruction pour effectuer l'opération de stockage d'un nombre donné de registres sélectionnés parmi le premier groupe de registres et numérotés par des codes donnés et d'un nombre donné de registres sélectionnés dans le deuxième groupe de registres et numérotés par des codes donnés dans la mémoire, le dispositif de traitement de données est conçu de telle sorte que l'unité de commande d'instruction fonctionne lorsque la valeur du moyen de comptage est égale ou supérieure audit multiple pour rentrer, dans une première opération de stockage après le lancement de l'instruction, un premier code par des codes ultérieurs continus des registres individuels désignés par l'instruction et appartenant au premier groupe de registres séquentiellement à chacun des registres de codes appartenant au troisième groupe de registre, et pour rentrer, dans l'opération suivante de stockage et suivantes après le lancement de l'instruction, un nouveau contenu qui est la somme du contenu immédiatement antérieur d'un registre de code et dudit multiple à chacun des registres de code appartenant au troisième groupe de registres, l'unité de commande d'instruction fonctionnant également lorsque la valeur du moyen de comptage est inférieure audit multiple et égale ou supérieure à zéro pour rentrer, dans une première opération de stockage après le lancement de l'instruction, un premier code et des codes ultérieurs continus des registres individuels désignés par l'instruction et appartenant au premier groupe de registre au registre de code de tête et au suivant des registres de codes du troisième groupe dont un nombre correspond à la valeur du moyen de comptage et attribuant le premier code et les codes ultérieurs des registres individuels désignés par l'instruction et appartenant au deuxième groupe de registres aux registres de codes restants, et pour rentrer, dans l'opération de stockage suivante et les opérations de stockage ultérieures après le lancement de l'instruction, un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple au registre de code de tête et au suivant appartenant au troisième groupe de registres dont un nombre correspond à la valeur du moyen de comptage et l'attributiondu premier code et des codes ultérieurs des registres individuels désignés par l'instruction et appartenant au deuxième groupe de registres au registres de codes restants, et l'unité de commande d'instruction fonctionne en outre lorsque la valeur du moyen de comptage est négative pour rentrer un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple à chacun des registres de codes du troisième groupe d'enregistrement. On va ensuite décrire le fonctionnement du mode de réalisation illustré dans la figure 1. Au départ, l'unité de commande d'instruction 1 décode le mot d'instruction pour envoyer à toutes les parties du dispositif de traitement de données les signaux d'informations et de commande nécessaires pour exécuter les instructions. Le dispositif de mémoire principale 2 reçoit les instructions exécutées par le dispositif de traitement de données et différentes sortes de données. Dans ce mode de réalisation de la figure 1, un bus pour l'envoi des instructions à l'unité de commande d'instruction 1 n'est pas illustré, dans un but de simplification. 8 octets de données peuvent être lus simultanément depuis les adresses 8n à 8n+1 du dispositif de mémoire principale 2.Cependant, différents types d'opérandes stockés dans le dispositifs de mémoire principale 2 sont situés dans des adresses aléatoires, le circuit d'alignement 5 sert à trier les données de lecture selon leur type pour écrire les données alignées dans le registre 6 à des positions prédéterminées pour faciliter le traitement. Ensuite, concernant les informations sur l'alignement des données de lecture, trois bits de poids le plus faible de la première adresse de l'opérande sont envoyés de l'unité de commande d'instruction 1 aux registres 39 et 40, et, grâce à ces informations, on peut reconnaître l'endroit où est situé le premier opérande dans les données des 8 octets lus dans le dispositif de mémoire principale 2. Les données devant être stockées dans le dispositif de mémoire principale 2 (données à stocker) se composent également essentiellement de 8 octets d'adresse 8n a#8n+7. Donc, pour écrire des données dans une position d'octets données, les données à stocker sont attribuées aux registres 7 et 8. Ensuite, la position de tête des données est changée et passe à la position d'octet donnée grâce au circuit d'alignement 9, puis les données sont stockées. Pour les informations sur l'alignement des données à stocker, de la même manière que pour l'opération de lecture, les trois bits de poids le plus faible de la première adresse sont envoyés de l'unité de commande d'instruction 1 aux registres 27 à 30.Dans cette opération, le registre 8 a pour fonction de servir de mémoire-tampon pour écrire séquentiellement des données égales ou supérieures à 8 octets dans le dispositif de mémoire principale 2 dans l'ordre, et les données stockées dans le registre 7 et exclues du fait de l'alignement sont envoyées par le registre de mémoire-tampon 8 pour le stockage, comme illustré dans la figure 5. La figure 5 explique le fonctionnement des registres 7 et 8 et du circuit d'alignement 9 du mode de réalisation de la figure 1. Dans cette figure, la partie (a) illustre le format des données stockées et la partie (b) le fonctionnement des registres 7 et 8 et du circuit d'alignement 9. La partie (I) indique l'adresse du dispositif de mémoire principale 2 et la partie (II) une position d'octet de la première données à stocker. Une structure similaire est nécessaire pour la lecture de données dans le dispositif de mémoire principale 2. Cependant, une telle structure n'a pas de relation avec l'instruction STM expliquée dans ce mode de réalisation et donc elle n'est pas expliquée en détail. Les données à stocker dans le dispositif de mémoire principale 2 ne sont pas forcément au nombre de 8 octets. Dans ce cas, le décodeur de masque de mémoire 35 génère des informations concernant le masque de mémoire permettant de désigner des octets parmi les 8 octets, qui sont deja stockés, et les informations concernant les masques de mémoire sont envoyées au registre 26 puis au dispositif de mémoire principale 2 avec les données enregistrées. La raison en est la suivante.Par exemple, comme illustré dans la figure 5, lorsque on commence à stocker les octets O à 5 des données à stocker, il faut éviter la ré-écriture de données originales des 2 premiers octets parmi les données des 8 octets dans le dispositif de mémoire principale 2 après le stockage de données, ou, lors du stockage des octets 14 et 15 des dernières données stockées, il faut éviter la ré-écriture de données originales des 6 derniers octets parmi les données des 8 octets même après le stockage des données. Le décodeur de masques de mémoire 35 va être décrit en détail plus tard. Ensuite, l'unité de registres opérationnels 10 comprend 8 nombres des registres de base ayant une zone de données d'enregistrement de 4 octets et 8 nombres des registres généraux ayant une zone de données d'enregistrement de 4 octets. Chaque registre de base et chaque registre général reçoit respectivement un code numérique séquentiel particulier, et les registres sont individualisés les uns par rapport aux autres par les codes dans le même type de registres. Concernant l'unité de registres opérationnels 10, parmi 16 nombres représentant la totalité des registres de base et généraux, un registre particulier désigné par un code particulier contenu dans le registre 19 peut être stocké avec des données de 4 octets contenues dans le registre 15. D'autre part, concernant l'opération de lecture, on peut lire simultanément une paire constituée d'un registre de base et d'un registre général désignés par des codes contenus respectivement dans les registres 16 et 17 pour permettre ainsi d'effectuer une opération mathématique rapide entre les registres généraux. En outre, les données lues dans l'unité de registres opérationnels 10 peuvent être stockées dans le dispositif de mémoire principale 2 par le registre 7 et le circuit d'alignement 9. L'UAL 14 effectue des opérations logiques et des opérations arithmétiques pour la lecture de données dans l'unité de registres opérationnels 10 et pour les autres données lues dans l'unité de registres opérationnels 10 ou les données lues dans le dispositif de mémoire principale 2 et sélectionnées au moyen du sélecteur 13 pour écrire ainsi le résultat dans le registre opérationnel 10 par l'intermédiaire du registre 15. Ensuite, le registre 16 contient un code pour le registre appelé par l'unité de registres opérationnels 10, et l'autre registre 17 contient un autre code du registre appelé dans l'unité de registres opérationnels 10 et est utilisé pour commander les codes de chaque registre devant être écrit dans l'unité de registres opérationnels 10, où on fait circuler les codes dans les registres 18 et 19. Les additionneurs 31, 32, 33 et 34 sont reliés à ces registres de codes 16 et 17. Les registres 16 et 17 peuvent recevoir des valeurs des registres 20 et 21, en l'occurence, qui contiennent des codes de registres fournis par l'unité de commande d'instruction 1, ou peuvent recevoir les valeurs des registres 20 et 21 plus 1. En outre, ils peuvent recevoir leur propre valeur plus 2. Pour cette attribution, l'addition de 1 au code du registre signifie que les registres 16 et 17 désignent le code suivant du registre de base ou du registre général. Cependant, il faut remarquer que, comme les registres de base et les registres généraux sont, respectivement, composés de huit- nombres de registres, les registres suivant le registre de base et le registre général ayant les codes les plus élevés deviennent le registre de base et le registre général ayant les codes les moins élevés, et donc les additionneurs 31, 32, 33 et 34 agissent en conséquence. Le registre 22 a pour seule fonction de commander l'exécution de l'instruction STM, et reçoit la valeur du champ Nb du mot d'instruction, c'est-a-dire un nombre de registres de base â stocker, qui est entré dans l'unité de commande d'instruciton 1. Le contenu du registre 22 est diminué de 2 par l'additionneur chaque fois que les contenus de l'unité de registres opérationnels 10 sont stockés dans le dispositif de mémoire principale 2. Le registre 22 sert, selon son contenu, à commander les codes de registres a rentrer aux registres de codes 16 et 17 pour l'unité de registres opérationnels 10.Comme illustré dans le tableau annexé, les valeurs des registres 16 et 17 sont déterminées selon le contenu du registre 22 en fonction de la première opération de stockage ou de la seconde opération de stockage et suivantes par l'instruction STM. Le registre 23 a pour fonction de commander l'opération de stockage. Lors de l'exécution de l'instruction STM, l'unité de commande d'instruction 1 envoie des valeurs de champ Nb et de champ Ng du mot d'instruction. Ces valeurs sont ajoutées les unes aux autres par l'additionneur 36, pour indiquer le nombre des registres de base et des registres généraux à stocker. La valeur obtenue est attribuée au registre 23 et est diminuée de 2 par l'additionneur 38 chaque fois que le contenu de l'unité de registres opérationnels 10 est stockée dans le dispositif de mémoire principale 2. La valeur du registre 23 qui est diminuée de 2 à chaque opération de stockage est entrée dans le décodeur de masques de mémoire 35 via les registres 24 et 25. Le décodeur de masques de mémoire 35 sert, en fonction des informations contenues dans les 3 bits de poids le plus faible de la première adresse envoyée dans l'unité de commande d'instruction 1 via les registres 27, 28 et 29 pour l'opération de stockage dans le dispositif de mémoire principale 2, en fonction de la valeur envoyée depuis le registre 23 via les registres 24 et 25, c'est-à-dire le nombre de registres restant à stocker et en fonction des informations indiquant si l'opération de stockage en cours est la première opération de stockage de l'instruction STM ou non, à générer des informations de masques de mémoire et à les envoyer via le registre 26 au dispositif de mémoire principale 2 en synchronisation avec le transfert de données à stocker dans le circuit d'alignement 9. La figure 2(a) montre une configuration de génération du masque de mémoire. Dans la configuration opérationnelle de #la figure 2(a) du décodeur de masques de mémoire 35 illustré en figure 1 et dans l'exemple d'utilisation objet de la figure 2(b), une configuration de masque A est utilisée lorsque le nombre des registres restants est 2 ou plus dans la première opération de stockage, une configuration de masque B est utilisée lorsque le nombre de registres restants est 1 dans la première opération de stockage, une configuration de masque C est utilisée lorsque le nombre de registres restants est 2 ou plus dans la deuxième opérations de stockage et suivantes, une configuration de masque D est utilisée lorsque le nombre de registres restants est 1 dans la deuxième opération de stockage et suivantes, une configuration de masque E est utilisée lorsque le nombre de registres restants est Q dans la deuxième opération de stockage et suivantes, et une configuration de masque F est utilisée dans la deuxième opération de stockage et suivante lorsque le nombre de registres restants est passé à 1 dans l'opération de stockage précédente. Dans chacune des configurations de masques, le bit "1" correspond à un octet déjà écrit dans le dispositif de mémoire principale. La figure 2(b) illustre un nombre des registres devant être déjà stockés pour le stockage et montre comment les configurations de masques de mémoire peuvent être utilisées en fonction de la première adresse du stockage. Le nombre S des opérations de stockage à effectuer véritablement dans le dispositif de mémoire principale 2 est déterminé par la somme R=Nb+Ng, c'est-à-dire le nombre total des registres de base et des registres généraux à stocker, et par les trois bits A de poids le plus faible de la première adresse qui désignent la destination dans le dispositif de mémoire principale selon la relation suivante S = (4R + A + 7)/8 ..,.... (1) où le résultat du calcul est tronqué. Les opérations de stockage pour S fois sont effectuées selon la commande de l'unité de commande d'instruction 1. On a donné ci-dessus l'explication des fonctions de chaque partie du dispositif de traitement de données de la figure 1. Ensuite, on décrit le fonctionnement détaillé du dispositif de traitement de données en se référant au diagramme des temps de la figure 3 qui montre une exécution de l'instruction STM donnée à titre d'exemple. Dans la figure 3, le chiffre 1 désigne l'unité de commande d'instruction 1, comme déjà mentionné ci-dessus. Nb, Ng, Bi et Gi désignent également les informations envoyées dans l'unité de commande d'instruction 1 et récupérées dans le mot d'instruction, respectivement. Les chiffres 23, 22, 17, 16, 11, 12, 7, 8 et 26 désignent les registres 23, 22, 17, 16, Il, 12, 7, 8 et 26 respectivement. to, ta, t2, t3, t, t5, ts, t7 ta et t désignent des cycles de machine. Dans la figure, les codes de registres des registres de base et généraux et les contenus lus dans les registres respectifs sont représentés respectivement par Bj(j=0...7) et GGj(j=0.. .7). Dans ce mode de réalisation, les registres de base à stocker sont Bs et les cinq suivants et les registres généraux à stocker sont G3 et les quatres suivants. Donc, le nombre total des registres est égal à 9, et les trois bits du poids le plus faible de l'adresse de stockage font 6. Donc, selon la relation (t), le nombre de l'opération de stockage est 6. On va expliquer ci-deSsous les opérations dans l'ordre. Au départ, au cours du cycle machine to, l'unité de commande d'instruction 1 décode l'instruction STM et envoie des informations telles que Nb, Ng, Bi et Gi prises dans le mot d'instruction (figure 4). Ensuite, ces informations sont entrées, dans le cycle machine t,, dans les divers registres de telle sorte que le registre 23 reçoit Nb+Ng=9, le registre 22 reçoit Nb=5, le registre 21 reçoit Bi=B5 et le registre 20 reçoit Gi=G3. Ensuite, les contenus des registres 21 et 22 sont conservés tels quels jusqu'à l'achèvement de l'instruction STM.D'autre part, les informations de Nb+Ng et de Nb entrées dans les registres 23 et 22 sont diminuées séquentiellement de 2 jusqu a la fin de l'instruction de STM et sont utilisées pour commander la génération du masque de mémoire et pour commander la désignation de codes de l'unité de registres opérationnels. Ensuite, lorsque les codes de désignation de l'unité de registres opérationnels 10, qui sont contenus dans les registres 17 et 16, sont attribués pour la première fois durant le cycle machine t2 pour lire les données dans l'unité de registres opérationnels 10, des paires de registres de base sont désignées séquentiellement durant le cycle machine t3 telles que (B51 B6), (B71 Bor. Durant le cycle machine ts, lorsqu'on reconnaît que le nombre du registre restant est 1 selon la valeur du registre 22 = 1, la commande est effectuée durant le temps d'exécution suivant tz pour désigner le registre restant Bî et pour désigner le registre de tête G3 du groupe de registres généraux suivant.Ensuite, les codes de registres sont désignés de manière à lire séquentiellement (G4, G5), (G6, rien). Après le cycle machine t2, les registres de base et généraux appelés paire par paire dans l'unité de registres opérationnels 10 sont stockés dans l'unité de mémoire principale 2 via les registres 11, 12, 7, 8 et le circuit d'alignement 9 pour achever le stockage en 6 opérations. D'autre part, en synchronisation avec le transfert de données, le masque de mémoire est généré selon les informations sur le nombre des registres restants envoyé via les registres 24 et 25 dans le registre 23 et selon les informations sur les 3 bits du poids le plus faible de l'adresse de stockage par rapport à la position d'octet des données à stocker alignées par le circuit d'alignement 9. Comme décrit ci-dessus, selon la présente invention, concernant des groupes de registres composés chacun d'une pluralité de registres de différents types tels que des registres généraux et des registres d'adresse, plusieurs nombres des registres sont désignés par une seule instruction pour exécuter l'instruction permettant de stocker les registres désignés dans le dispositif de mémoire principale (mémoire). La mémoire dispose d'une zone de données de mémorisation qui est un multiple d'une zone de données d'enregistrement de chaque registre de telle sorte que plusieurs registres peuvent être stockés simultanément dans la mémoire par une seule opération de stockage. En outre, un avantage supplémentaire est que le stockage peut se dérouler en continu même lors du passage entre différents types de registres. TABLEAU ANNEXE valeur pour première valeur pour seconde registre 22 Registre 171Ragis3re 16 Registre 17 Registre 16 2 Bi nu Bi+1 valeur du valeur du (contenu du(contenu du registre registre registre 21 registre 17+2 16+2 21+1) =1 Bi Gi valeur du Gi (contenu du registre 20) 17+2 =o Gi Gi+1 Gi Gi+1 (contenu du registre 20.+1) O valeur du valeur du registre registre 17+2 16+2 REVENDICATION 1. Dispositif de traitement de données pourvu d'une mémoire et de premier et deuxième groupes de registres, chaque groupe de registres étant composé d'une pluralité de registres numérotés par codes séquentiels et ayant une zone de données d'enregistrement identique, le dispositif pouvant exécuter une opérat#ion de stockage des registres individuels dans la mémoire sur une zone de données de mémorisation donnée qui correspond à un nombre multiple des zones de données d'enregistrement, le dispositif pouvant exécuter une instruction de manière à réaliser simultanément l'opération de stockage d'un nombre donné de registres ayant des codes donnés et choisis parmi le premier groupe de registres, et l'opération de stockage d'un nombre de registres donné ayant des codes donnés et choisis parmi le deuxième groupe de registres, le dispositif de l'invention étant caractérisé en ce qu'il présente un moyen de comptage chargeable avec un certain nombre de registres désignés par l'instruction et appartenant au premier groupe de registres, et fonctionnant à chaque opération de stockage en mémoire pour effectuer la diminution de la valeur fixée du moyen de comptage par un multiple qui est un rapport entre la zone de données de mémorisation et la zone de données d'enregistrement de chaque registre; un troisième groupe de. registres étant composé dudit nombre multiple de registres de codes servant à contenir les codes permettant de désigner chacun des registres choisis dans les premier et deuxième groupes pour réaliser l'opération de stockage en mémoire; et un moyen de commande servant à rentrer, lorsque la valeur du moyen de comptage est égale ou supérieure audit multiple, dans une première opération de stockage après le lancement de l'instruction, un premier code, grâce à des codes continus ultérieurs de chaque registre désigné par l'instruction et appartenant au premier groupe de registre, à chacun des registres de code du troisième groupe de registres de manière séquentielle, et servant à rentrer à chacun des registres de code du troisième groupe de registres, dans l'opération suivante de stockage et les opérations de stockage ultérieures après le lancement de l'instruction, un nouveau contenu qui est une somme du contenu immédiatement antérieur d'un registre de code et dudit multiple, le moyen de commande fonctionnant lorsque la valeur du moyen de comptage est inférieure à celle dudit multiple et égale ou supérieure à zéro pour rentrer, dans une première opération de stockage après le lancement de l'instruction, un premier code et des codes ultérieurs de chacun des registres désignés par l'instruction et appartenant au premier groupe de registres aux premiers registres de codes et suivants du troisième groupe de registre dont un des nombres correspond à la valeur du moyen de comptage et attribuant des premiers codes et suivants de chacun des registres désignés par l'instruction et appartenant au deuxième groupe de registre aux registres de code restants, et pour rentrer, dans l'opération suivante et les opérations ultérieures après le lancement de l'instruction, un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple au premier registre de code et aux codes ultérieurs appartenant au troisième groupe de registres dont un nombre correspond à la valeur du moyen de comptage et attribuant le premier code et aux codes ultérieurs de chacun des registres désignés par l'instruction et appartenant au deuxième groupe de registres aux registres de codes restants, le moyen de commande fonctionnant lorsque la valeur du moyen de commande est négative pour rentrer un nouveau contenu qui est la somme du contenu immédiatement antérieur et dudit multiple à chacun des registres de code du troisième groupe de registres.