Brevet FR2631471A1 — publié le 19891117

CIRCUIT DE CONTROLE DE MEMOIRE-TAMPON POUR MACHINE DE TRAITEMENT DE DONNEE La présente invention est relative à un circuit de contrôle de mémoiretampon, et plus particulièrement à un circuit de contrôle de mémoire-tampon utilisé pour une. machine de traitement de l'information- comprenant une mémoire-tampon d'opérande et une mémoire-tampon d'instruction pour la mise en place par anticipation des instructions. Comme. cela est illustré à la Fig., 2, un circuit de contrôle de mémoire-tampon classique comprend une - mémoiretampon d'opérande 21, une mémoire-tampon d'instruction 22, un circuit de contrôle de mémoire- tampon d'opérande 23, un circuit de contrôle de mémoire- tampon d'instruction 24, un circuit d'alignement -de données d'opérande 15, et un circuit d'alignement de données d!instruction 16. - La donnée d'opérande désignée par une instruction est lue à partir d'une mémoire principale (non ilLustrée), et est transmise à la mémoire-tampon d'opérande 21,:-comme donnée 101 lue dans la mémoire principale. Enréponse à un signal 102 de commande d' enregistrement de- La donnée d'opérande envoyé.avec La donnée-lue 10.1, la mémoire- tampon d'opérande 21 enregistre la donnée -lue i101 à 'une adresse désignée par une adresse d'écriture.112 dans la. mémoire-tampon d'opérande à- partir du-circuit-de contrôle 23 de mémoire-tampon d'opérande. - 2 - La donnée d'opérande enregistrée dans la mémoire-tampon d'opérande 21 est lue à partir d'une adresse désignée par une adresse de lecture 114 dans la mémoire-tampon d'opérande à partir du circuit de contrôle 23 de la mémoire-tampon d'opérande, et est transmise vers le circuit d'alignement 15 de données d'opérande comme signal de sortie 108 de la mémoire-tampon d'opérande. En réponse à un signal 110 de commande d'alignement de données d'opérande, le circuit 15 d'alignement de données d'opérande aligne un signal 108 de sortie de mémoire- tampon d'opérande à partir de la mémoire-tampon d'opérande 21 et produit un résultat d'alignement a l'unité d'exploitation, comme donnée d'opérande 106. La donnée d'instruction est lue à partir de la mémoire principale et est transmise à la mémoire-tampon d'instruction comme donnée 101 tue dans la mémoire principale. En réponse à un signal 103 de commande d' enregistrement de la donnée d'instruction envoyé avec la donnée lue 101, la mémoire-tampon d'instruction 22 enregistre la donnée lue 101 à une adresse désignée comme adresse 113 d'écriture d'instruction à partir du circuit de contrôle 24 de la mémoire-tampon d'instruction. Lorsqu'un signal 104 de décodage de l'instruction envoyé au circuit de contrôle 24 de la mémoire-tampon d'instruction représente une instruction différente d'une instruction de branchement, la donnée instruction enregistrée dans la mémoire-tampon d'instruction 22 est lue à une adresse désignée comme adresse de lecture 115 dans la mémoire-tampon d'instruction, à partir du circuit de contrôle 24 de la mémoire-tampon d'instruction, et est transmise au circuit 16 d'alignement de la donnée d'instruction, comme signal 109 de sortie de la mémoire- tampon d'instruction. En réponse à-un signal 111 de commande d'alignement de la donnée d'instruction, provenant du circuit de contrôle 24 de la mémoire-tampon d'instruction, le circuit 16 d'alignement de la donnée d'instruction aligne le signal 109 de sortie de (a mémoire-tampon d'instruction à partir --2 3 --47 -3- de la mémoire-tampon d'instruction 22, et transmet le résultat de l'alignement à l'unité d'exploitation, comme donnée d'instruction 107. Dans le cas o le signal 104 de décodage de l'instruction transmis au circuit de contrôle 24 de la mémoire-tampon d'instruction représente une instruction de branchement, et o un signal 105 de condition de branchement réalisée, provenant de l'unité d'exploitation indique qu'une condition donnée n'est pas réalisée, le circuit de contrôle 24 de la mémoire-tampon d'instruction émet l'adresse 115 de lecture. dans la mémoire-tampon d'instruction vers la mémoire-tampon d'instruction 22, et transmet le si. gnal 111 de commande d'alignement de la donnée d'instruction à un circuit 16 d'alignement de la donnée d'instruction. En réponse au signal 111 de commande d'alignement de la donnée d'instruction provenant du circuit de contrôle 24 de.la mémoire-tampon d'instruction, Le circuit 16 d'alignement de la donnée d'instruction aligne le signal 109 de sortie de la mémoire-tampon d'instruction à partir de La mémoire-tampon d'instruction 22, et transmet Le résultat de l'alignement à l'unité d'xploitation, comme instruction de donnée 107. Si un signal 105 de condition de branchement réalisée indique qu',une condition donnée est réalisée, le circuit de contrôle 24 de la mémoiretampon d'instruction initialise l'adresse 113 d'écriture dans la mémoire- tampon d'instruction et l'adresse 115 de lecture dans la mémoire-tampon d'instruction, et transmet à la mémoire principale un signal 116 de commande de lecture pour Lire une donnée d'instruction à une destination de branchement. Après que la donnée d'instruction à une destination de branchement a été lue, dans la mémoire principale, en réponse au signal 116 de commande de- lecture, et a été enregistrée dans la mémoire-tampon d.'-instruction 22, l' adresse 115 de lecture dans la mémoire-tampon d'instruction est transmise, a- partir -du circuit de -4- contrôle 24 de la mémoire-tampon d'instruction, vers Le mémoire-tampon d'instruction 22. Dans le même temps, le signal 111 de commande d'alignement de la donnée d'instruction est transmis au circuit 16 d'alignement de la donnée d'instruction, et le signal 109 de- sortie de La mémoire-tampon d'instruction, provenant de la mémoire- tampon d'instruction 22 et aligné par le circuit 16 d'alignement de la donnée d'instruction, est transmis l'unité d'exploitation, comme donnée d'instruction 107. Dans un circuit classique de contrôle de mémoire-tampon de ce type, lorsqu'une instruction de branchement doit être traitée, dans la mesure o la donnée d'instruction à une destination de branchement ne peut pas être obtenue à partir de la mémoire principale tant que la condition donnée n'est pas réalisée pour un branchement donné, et que la confirmation n'en est pas donnée par le signal 105 de condition de branchement réalisée provenant de l'unité dexploitation, L'efficacité de l'exécution desinstructions de branchement est réduite. La présente invention a été conçue pour éliminer l'inconvénient classique mentionné précédemment, et son objet est de fournir un circuit de contrôle de mémoire- tampon qui soit en mesure d'accrottre L'efficacité d'exécution des instructions de branchement. De manière à atteindre l'objet énoncé précédemment, la présente invention fournit un circuit de contrôle de mémoire-tampon pour une machine de traitement de données, incluant une mémoire-tampon d'opérande pour enregistrer des données d'opérande, et une mémoire-tampon d'instruction pour enregistrer des données d'instruction mises en place par anticipation, comprenant des moyens d'écriture qui lisent les données d'instruction à une destination de branchement, provenant d'une mémoire principale, et qui écrivent les données d'instruction dans la mémoiretampon d'opérande, Lorsqu'un signal de décodage d'instruction est une instruction de branchement, et qui produisent des moyens pour lire les -5données d'instruction à une destination de branchement, écrites dans la mémoire-tampon d'opérande par les moyens d'écriture, et pour transmettre les données d'instruction à un coffret technique, lorsqu'est reçu Le signal de réalisation d'une condition donnée d'une instruction de branchement. La Fig. 1 est un diagramme schématique illustrant un arrangement d'une mise en application de la présente invention; et la Fig. 2 est un diagramme schématique illustrant un arrangement de l'art antérieur. Une mise en application de la -présente invention va être décrite dans la suite du texte, en se référant aux dessins annexes. La Fig. 1 montre un arrangement d'une mise en application de la présente invention. En se référant à La Fig. 1, un circuit de contrôle de mémoiretampon comprend des circuits de mémoire-tampon I et 2, un circuit de contrôle 3 de la mémoire-tampon d'opérande, un circuit de contrôle 4 de la mémoire-tampon d'instruction, un circuit de commutation de mémoiretampon, une bascule 6 de commutation de mémoire-tampon (appelé FF de commutation de mémoire-tampon dans la suite du texte), des circuits sélecteurs 7 à 14, un circuit d'alignement- 15 des données d'opérande, et un circuit 16 d'alignement des données d'instruction. Les circuits de mémoire-tampon 1 et 2 reçoivent la donnée 101 lue dans la mémoire principale, provenant d'une mémoire principale 200, et enregistrent respectivement une donnée d'opérande ou une donnée d'instruction à des adresses désignées par des signaux d'adresse provenant des circuits sélecteurs 9 et 10, en réponse à des signaux de commande d' enregistrement provenant des circuits sélecteurs 7 et 8. Les signaux 108 et 109 de sortie de la mémoire-tampon, lus à partir des adresses des circuits--1 et 2 de mémoire- tampon, qui sont désignées par des signaux d'adresse provenant des circuits. sélecteurs 11 et 12,- sont - 6 - respectivement transmis aux circuits sélecteurs 13 et 14, afin, par Là-même, d'être choisis et transmis au circuit d'alignement 15 de données d'opérande ou au circuit 16 d'alignement de la donnée d'instruction. Le circuit de contrôle 3 de la mémoire-tampon d'opérande transmet un signal 112 d'adresse d'écriture dans la mémoire-tampon d'opérande aux circuits sélecteurs 9 et 10. Dans le même temps, le circuit 3 transmet un signal 114 d'adresse de lecture dans la mémoire-tampon d'opérande aux circuits sélecteurs 11 et 12, et transmet un signal 110 de commande d'alignement de données d'opérande, au circuit d'alignement 15 de données d'opérande. Le circuit de contrôle 4 de la mémoire-tampon d'instruction transmet un signal 113 d'adresse d'écriture dans la mémoire-tampon d'instruction aux circuits sélecteurs 9 et 10, et transmet un signal 115 d'adresse de lecture dans la mémoire-tampon d'instruction aux circuits sélecteurs 11 et 12. Dans le même temps, le circuit 4 transmet un signal 111 de commande d'alignement de la donnée d'instruction au circuit 16 d'alignement de La donnée d'instruction. Le circuit 5 de commutation de mémoire-tampon reçoit un signal 104 connu de décodage de l'instruction provenant d'un contrôleur ou d'une unité centrale de traitement (non illustré), et un signal 105 de condition de branchement réalisée provenant d'une unité d'exploitation 300, et transmet un signal 116 de commande de lecture et un signal 117 de commande de mise à jour de' bascule, respectivement à la mémoire principale 200, et à la bascule 6 de commutation de mémoire-tampon. La bascule 6 de commutation de mémoire-tampon transmet un signal 118 de commande de commutation de mémoire- tampon aux circuits sélecteurs 7 à 14. En réponse au signal de commande 117 provenant du circuit 5 de commutation de mémoire-tampon, Les contenus de la bascule 6 de commutation de mémoire-tampon sont inversés. En réponse au signal 118 de commande de commutation de mémoire-tampon provenant de la bascule 6 de commutation de mémoire-tampon, les circuits sélecteurs 7 et 8 choisissent entre le signal 102 de commande d'enregistrement des données d'opérande et le signal 103 de commande d'enregistrement des données d'instruction a partir de la mémoire principale 200, et transmettent respectivement les signaux choisis aux circuits 1 et 2 de mémoire-tampon, comme signaux de commande d'enregistrement. Dans ce cas, lorsque le circuit sélecteur 7 choisit le signal 102 de commande d'enregistrement des données d'opérande, le circuit sélecteur 8 choisit le signal 103 de commande d'enregistrement des données d'instruction. Dans le cas contraire, les circuits sélecteurs 7 et 8 choisissent des signaux différents, de la même manière que ce qui a été décrit précédemment. En réponse au signal 118 de commande de commutation de mémoire-tampon provenant de la bascule 6 de commutation de mémoire-tampon, les circuits sélecteurs 9 et 10 choisissent entre le signal 1.12 d'adresse d'écriture dans la mémoire-tampon d'opérande provenant du circuit de contrOle 3 de la mémoire-tampon d'opérande et Le signal 113 d'adresse d'écriture dans la mémoire-tampon d'instruction provenant du circuit de contrôle 4 de La mémoire-tampon d'instruction, et - transmettent respectivement les signaux choisis aux circuits 1 et 2 de mémoire-tampon, comme signaux d'adresse d'écriture. Dans ce cas, lorsque le circuit sélecteur 9 choisit le signal 112 d'adresse d'écriture dans la mémoire-tampon d'opérande, le circuit sélecteur 10 choisit le signal 113 d'adresse d'écriture dans la mémoire-tampon d'instruction. Dans le cas contraire, de la même manière, les circuits sélecteurs 9 et 10 choisissent des signaux * différents. En réponse au signal 118 de commande de commutation de mémoire-tampon provenant de la bascule 6 de commutation de mémoire-tampon, les circuits sélecteurs 11 - et 12 choisissent entre le signal 114 d"adresse- de lecture dans la mémoire-tampon d'opérande provenant du circuit de contrôLe 3 de la mémoire-tampon d'opérande et Le signal d'adresse de lecture dans La mémoire-tampon d'instruction provenant du circuit de contrôle 4 de la mémoire-tampon d'instruction, et transmettent respectivement les signaux choisis aux circuits 1 et 2-de mémoire-tampon, comme signaux d'adresse de lecture. Dans ce cas, lorsque le circuit sélecteur 11 choisit le signal 114 d'adresse de lecture dans la mémoire- tampon d'opérande, le circuit sélecteur 12 choisit le signal 115 d'adresse de lecture dans la mémoire-tampon d'instruction. Dans le cas contraire, de la même manière, les circuits sélecteurs 11 et 12 choisissent des signaux différents. En réponse au signal 118 de commande de commutation de mémoire-tampon provenant de la bas.cule 6 de commutation de mémoire-tampon, Le circuit sélecteur 13 choisit l'un des signaux 108 ou 109 de sortie de mémoire-tampon provenant des circuits I et 2 de mémoire-tampon, et transmet le signal choisi au circuit d'alignement 15 de données d'opérande comme signal de sortie de la mémoire- tampon d'opérande. En réponse au signal de commande 118 provenant de la bascule 6,. Le circuit sélecteur 14 choisit l'un des signaux 108 ou 109 provenant des circuits 1 et 2 de mémoire-tampon, et transmet le signal choisi au circuit 16 d'alignement de la donnée d'instruction, comme signal de sortie de la mémoire- tampon d'instruction. En réponse au signal 110 de commande d'alignement de données d'opérande, provenant du circuit de contrôle 3 de la mémoire-tampon d'opérande, le circuit d'alignement 15 de données d'opérande aligne le signal de sortie de la mémoire-tampon d'opérande provenant du circuit sélecteur 13, et transmet le résultat de l'alignement a l'unité d'exploitation 300 comme donnée d'opérande 106. En réponse au signal 111 de commande d'alignement de la donnée d'instruction, provenant du circuit de contrôle 4 de la mémoire-tampon d'instruction, le circuit 16 d'aLignement de la donnée d'instruction aligne le signal de sortie -de la mémoire-tampon d'instruction provenant du circuit sélecteur 14, et transmet le résultat de l'alignement à L'unité d'exploitation 300, comme donnée d'instruction 107. Si la bascule 6 de commutation de mémoire-tampon est 'à l'état logique "1", le circuit sélecteur 7 choisit le signal 102 de commande d'enregistrement des données d'opérande, et le circuit sélecteur 8 choisit Le signal 103 de commande d'enregistrement des données d'ihstruction. De plus, le circuit sélecteur 10 choisit le signaL 112 d'adresse d'écriture dans la mémoire- tampon d'opérande, et le circuit sélecteur 10 choisit le signal 113 d'adresse d'écriture dans la mémoire-tampon d'instruction. Il en résulte que les données d'opérande et d'instruction sont respectivement enregistrées dans les circuits 1 et 2 de mémoire-tampon. En conséquence, afin de pouvoir lire les données d'opérande provenant du circuit 1 de mémoire-tampon, et la donnée d'instruction provenant du circuit 2 de mémoire-tampon, le circuit sélecteur 11 choisit Le signal 114 d'adresse de Lecture dans la mémoire-tampon d'opérande, et le circuit sélecteur 12 choisit le signal d'adresse de lecture dans la mémoire-tampon- d'instruction. Du fait de cette opération, le signal de sortie de la mémoire-tampon Lu dans le circuit 1 de mémoire-tampon est choisi par le. circuit sélecteur 13. Le signat choisi 108 est ensuite aligné par le circuit d'alignement 15 de données -d'opérande comme signal de sortie de la mémoire-tampon d'opérande, et est transmis à l'unité d'exploitation 300 comme donnée d'opérande 106. Le signal 109 de sortie de La mémoire-tampon lu dans Le: circuit 2 de mémoire-tampon est choisi par le circuit sélecteur 14. Le signal choisi 109 est aligné par Le circuit 16 d'alignement de la donnée d'instruction comme signal de sortie:de la mémoire-tampon d'instruction, et est transmis à l'unité d'exploitation 300comme donnée d'instruction 107. - 10 - En fait, le circuit 1 de mémoire-tampon fonctionne comme mémoire-tampon d'opérande; et Le circuit 2 de mémoire-tampon fonctionne comme mémoiretampon d'instruction. Dans ce cas, si le signal 104 de décodage de l'instruction représente une instruction différente d'une instruction de branchement, ou si la condition de branchement d'une instruction de branchement n'est pas réalisée, le même processus que celui qui a été décrit pour l'art antérieur illustré à la Fig. 2, se déroule. C'est pourquoi la description du processus, dans ces cas, sera omise. On suppose que, alors que les circuits 1 et 2 de mémoire-tampon fonctionnent comme cela a été décrit précédemment, le circuit 5 de commutation de mémoire- tampon détecte une instruction de branchement en surveillant le signal 104 de décodage de l'instruction. Dans ce cas, de manière à mettre en place par anticipation une donnée d'instruction, à une destination de branchement, à partir de la mémoire principale 200, le circuit 5 de commutation de mémoire-tampon transmet le signal 116 de commande de lecture à la mémoire principale avant d'avoir la confirmation que la condition de branchement de l' instruction de branchement est ou n'est pas réalisée. Dans ce cas, un code de donn'ée d'opérande est ajouté au signal 116 de commande de lecture afin que la donnée d'instruction mise en place par anticipation à la destination de branchement à partir de la mémoire principale 200 soit enregistrée du côté de la mémoire- tampon d'opérande (côté 1 du circuit de mémoire-tampon). Les données d'instruction et les données d'opérande sont normalement lues dans la mémoire principale 200 au cours de la même opération. Par conséquent, un code indiquant que la donnée à lire est la donnée d'opérande ou la donnée d'instruction est ajouté au signal 116 de commande de lecture provenant du circuit 5 de commutation de mémoire- tampon. Du fait -de cette opération, la donnée lue 101 provenant de la mémoire principale 200 est fournie avec le signal 102 de commande d' enregistrement - 11 - des données d'opérande et avec Le signaL 103 de commande d'enregistrement des données d'instruction. Donc, si un code devant être ajouté au signal 116 de commande de lecture est modifié, l'adresse d'enregistrement de la donnée peut être modifiée. IL en résulte que, lorsque le signal 105 de condition de branchement réalisée provenant de l'unité d'exploitation 300 est transmis au circuit 5 de commutation de mémoire- tampon, et lorsqu'est signalée la réalisation d'un état de branchement donné, le circuit 5 transmet le signal 117 de commande de mise à jour de la bascule de commutation de mémoire-tampon à La bascule 6 de commutation de mémoire-tampon, inversant par là-mémç les contenus de la bascule 6. Du fait de cette opération, le signal 118 de commande de commutation de mémoire-tampon provenant de la bascule 6 est mis à l'état logique "0". Il en résulte que le circuit sélecteur 7 choisit le signal 103 -de commande d'enregistrement des données d'instruction; le circuit sélecteur 8 choisit le signal 102 de commande d' enregistrement des données d'opérande; le circuit sélecteur 9 choisit le signal 113 d'adresse d'écriture dans la mémoire-tampon d'instruction;, le circuit sélecteur 10 choisi-t le signal 112 d'adresse d'écriture dans la mémoire-tampon d'opérande; le circuit sélecteur 11 choisit le signal 115 d'adresse de lecture dans la mémoire-tampon d'instruction; le circuit sélecteur 12 choisit le signal 114 d'adresse de Lecture dans la mémoire-tampon d'opérande; le circuit sélecteur 13 choisit le signal 109 de sortie de la mémoire-tampon; et le circuit sélecteur 14 choisit le signal 108 de sortie. de la mémoire-tampon. Du fait que les circuits 1 et 2 de méinmoire-tampon fonctionnent respectivement comme mémoire-tampon d'instruction et mémoire-tampon d'opérande, un- résultat d'alignement obtenu en alignant le signat 108 de--sortie - de la mémoire--tampon provenant du circuit- 1- de mémoire- - tampon en utilisant -le circuit 16 d'alignement de la - 12 - donnée d'instruction, c'est-à dire la donnée d'instruction à la destination de branchement, qui est enregistrée dans- le circuit I de mémoire-tamDon, est transmis à l'unité d'exploitation comme donnée d'instruction 107, après que la condition de branchement a été réaliseée. Il en résulte que les circuits 1 et 2 de mémoire-tampon continuent respectivement à fonctionner comme mémoire- tampon d'instruction et mémoire-tampon d'opérande, jusqu'à ce que la condition de branchement de l'instruction de branchement suivante soit réalisée. Lorsque la condition est réalisée, leurs fonctions sont échangées. Chacun des circuits 1 et 2 de mémoire-tampon peut être utilisé comme mémoire-tampon d'opérande ou. comme mémoire- tampon d'instruction, en utilisant de cette manière les circuits sélecteurs 7 à 14. Lorsqu'une instruction de branchement doit être exécutée, la donnée d'instruction à une destination de branchement est mise en place par anticipation à partir de la mémoire principale, et est enregistrée dans l'un des circuits de mémoire-tampon qui fonctionne comme mémoire-tampon d'opérande, avant que soit reçue la confirmation de la réalisation ou non d'une condition de branchement donnée. Lorsque la condition de branchement est réalisée, la donnée d'instruction à la destination de branchement est lue dans le circuit de mémoire-tampon. Du fait de cette opération, la donnée d'instruction à la destination de branchement peut être mise en place à partir de.la mémoire principale, avant la confirmation que la condition de branchement est réalisée. L'instruction de branchement peut être exécutée en utilisant la donnée d'instruction à la destination de branchement immediatement après. que la condition de branchement soit réalisée. Par conséquent, avec une faible augmentation du montant du matériel, il est possible d'accroôtre l'efficacité d'exécution des instructions de branchement. Dans la mise en application de la présente invention, -.13 - la valeur initiale de la bascule 6 de commutation de mémoire-tampon est mise à l'état logique "1". Cependant, il est évident que cette valeur initiale peut étre mise à l'état logique "O". Comme cela a été décrit précédemment, selon la présente invention, Lorsqu'un signal de décodage d'instruction est détecté comme étant une instruction de branchement, la donnée d'instruction à La destination de branchement est lue dans la mémoire principale et est écrite dans une mémoire-tampon d'opérande. Lorsqu'une condition de branchement donnée est réalisée, la donnée d'instruction à la destination de branchement, qui est écrite dans la mémoire-tampon d'opérande, est lue et est transmise 3 l'unité d'exploitation, améliorant par là-même l'efficacité d'exécution des instructions de branchement. - 14 - REVENDICATION 1. Circuit de contrôle de mémoire-tampon pour une machine de traitement de données, incluant une mémoire- tampon d'opérande pour enregistrer des données d'opérande, et une mémoiretampon d'instruction pour enregistrer des données d'instruction mises en place par anticipation, comprenant: - des moyens d'écriture pour lire les données d'instructiOn à une destination de branchement, dans la mémoire principale, et pour écrire les données d'instruction dans ladite mémoiretampon d'opérande lorsqu'un signal de décodage d'instruction est une instruction de branchement; et - des moyens de sortie pour lire. les données d'instruction à une destination de branchement écrite dans ladite mémoire-tampon d'opérande par lesdits moyens d'écriture, et pour transmettre les données d'instruction à une unité d'exploitation lorsque la condition d'une instruction de branchement a été satisfaite et que ceci a été signalé.