Brevet FR2243473A1 — publié le 19750404

La présente invention concerne une unité de commande pour processeur d'ordinateur, dans laquelle sont décodées les micro-instructions correspondant aux instructions d'un programme d'utilisateur et sont délivrés conformément à ce décodage des signaux de commande grâce auxquels est effectué le traitement des instructions du programme d'utilisateur dans le processeur et dans la mémoire principale. Les instructions d'un programme d'utilisateur d'une installation de traitement des données constituée par un processeur, une mémoire principale et une unité entrée-sortie, sont, pour leur exécution dans le processeur, décomposées en une suite d'opérations de combinaison simples déclenchés par les microinstructions. L'instruction peut ainsi être décomposée en un certain nombre de micro-instructions. Une série d'opérations de combinaison est désignée par le terme de micro-programme. Les microprogrammes sont mémorisés dans une mémoire désignée par le terme mémoire de micro-programmes. Pour titre exécutées,les micro-instructions d'un micro-programme sont transférées de la mémoire à micro-programmes dans un registre à micro-instructions. De là, elles parviennent dans un dispositif de décodage dans lequel les micro-instructions sont décodées et dans lequel sont produits des signaux de commande correspondants qui sont envoyés aux différentes unités du processeur et de la mémoire principale Les signaux de ~commande provoquent alors l'exécution de la micro-instruction. Les micro-instructions possèdent un format déterminé. De ce format dépend le nombre possible des fonctions à exécuter par les micro-instructions. Les fonctions sont par exemple l'addition, la soustraction, le décalage etc. de registresin diqu dans la micro-instruction. Si le nombre des fonctions à exécuter doit etre augmenté, il faut alors modifier le format de la micro-instruction, c1est-à-dire que le nombre de bits de la microinstruction doit être augmenté. Mais cela conduit à rendre plus complexes les moyens à mettre en oeuvre dans les mémoires de microprogrammes. La présente invention a pour objet une unité de commande pour un processeur, dans lequel le nombre des fonctions à exécuter par les micro-instructions peut être augmenté sans pour cela que la mémoire de micro-programmes soit notablement agrandie. L'unité de commande selon l'invention est essentiellement caracté risée par le fait qu'en vue d'accrortre le nombre des fonctions que peuvent exécuter les micro-instructions,il est prévu un registre de commande de fonctions à contenu variable qui,lors du décodage de micro-instructions fournit les informations qui y sont associées au dispositif de décodage, ce qui permet à ce dernier de former la fonction à exécuter à partir des informations contenues dans la micro-instruction et dans le registre de commande de fonctions. Toutes les fois que des micro-instructions déterminées sont transférées au dispositif de décodage, on peut également transmettre certaines informations du registre de commande de fonctions dans le dispositif de décodage. On complète ainsi la micro-instruction et, de ce fait, on augmente considérablement le nombre des fonctions susceptibles d'entre exécutées par les microinstructions. Ainsi par exemple si l'on doit décaler, à l'aide d'une micro-instruction, le contenu d'un registre, il faut en même temps indiquer dans quelle direction le décalage doit être effectué. Suivant l'invention, on indique dans la micro-instruction rien que la valeur du décalage souhaitée du contenu du registre. La direction du décalage est prélevée du registre de commande des fonctions.Mais il est également possible de n1 indiquer dans la micro-instruction que seule doit être forme une fonction indiquée dans le registre de commande des fonctions. Dans le registre de commande de fonctions peuvent, par exemple, entre contenues les informations suivantes un certain nombre de bits pour des contrles ; si une addition, une soustraction doivent être effectuées par voie décimale ; si le décalage doit se faire sous forme logique ou arithmétique ; si le décalage doit avoir lieu vers la droite ou vers la gauche ; si lors d'une fonction d'addition, il convient d'utiliser la valeur zéro comme retenue d'entrée ou s'il faut utiliser la retenue de la dernière fonction d'addition. Enfin, on peut indiquer dans le registre de commande des fonctions, la fonction qui doit être réalisée ou exécutée par une micro-instruction. Si une micro-instruction correspondante apparat, alors la fonction à réaliser est complètement prélevée du registre de commande des fonctions. Le registre de commande des fonctions peut être modifié à l'aide de micro-instructions. La modification peut concerner ltensemble du registre de commande des fonctions ou simplement une partie de celui-ci. Il est avantageux de rassembler les emplacements de bits du registre de commande de fonctions qui sont à modifier le plus souvent, dans une plage susceptible d'être influencée par une seule micro-instruction. La modification du contenu du registre de commande de fonctions à l'aide d'une microinstruction peut également se faire en combinant un opérande direct indiqué dans la micro-instruction avec le contenu du registre de comma#nde de fonctions.Cette combinaison peut par exemple être une combinaison ET, une combinaison OU, ou une combinaison OU exclusive, ou encore une substitution L'invention sera explicitée à l'aide du diagramme de blocsreprésenté dans la figure, et montrant le processeul et la mémoire principale. Le diagramme de blooemontre, en plus du registre de-commande de fonctions, un processeur de constitution connu. A une mémoire principale MM sont associés un registre de mémoire d'adresses MMA et un registre de données MMD. Le processeur est constitué par une unité de calcul et une unité de commande, A l'unité de calcul appartiennent un dispositif à décalage SH, une unité à additionner et de combinaison logique ALU ainsi que des registres d'opérandes X et Y. En outre, il est prévu une mémoire à accès rapide FM comportant des registres universels et des compteurs d'instructions pour des programmes d'uMsateurs. Cette mémoire à accès rapide FM est commandée par un registre de mémoire d'adresses à accès rapide FMA. Un jeu de registres PR, accessible uniquement au microprogramme, comporte des-registres auxiliaires contenant par exemple les opérandes à traiter dans l'unité calculatrice. L'unité de commande du processeur comprend une mémoire de micro-programmes WCM, dans laquelle sont mémorisés les micro-programmes. La mémoire de micro-programmes WCM est commandée par un registre de mémoire d'adresses WCMA. Des microinstructions qui sont à exécuter sont transférées de la mémoire de micro-programmes WCM dans un registre de micro-instructions MIR. De là, ces micro-instructions arrivent à un dispositif de décodage DC dans lequel lesdites micro-instructions sont décodées et à partir duquel les signaux de commande correspondant sont émis pour les autres unités du processeur. Au dispositif de décodage DC est en outre relié un jeu de registres SR dans lequel sont contenus, par exemple, un rythmeur et un compteur pour des boucles "micro-programmes".Dans ce jeu de registres SR est également disposé un registre de commande de fonctions. En outre, il est également prévu un registre d'adresses AR dans lequel sont contenus, par exemple, d'autres registres d'adresses pour la mémoire principale. Les différentes unités du processeur et de la mémoire principale sont reliées entre elles par des jeux de "barres de transmission d'informations ou de données" SL. Si une instruction du programme d'utilisateur est à traiter, alors le micro-programme associé à cette instruction est commandé dans la mémoire de micro-programmes WCM, par l'intermédiaire du registre de mémoire d'adresses WCMA. Les microinstructions sont transférées dans le registre de micro-instructics MIR et de là elles parviennent dans le dispositif de décodage DC. En même temps, les informations qui sont associées à cette microinstruction sdht transférées du registre de commande de fonction du jeu de registres SR dans le dispositif de décodage DC. De l'information à prélever de la micro-instruction et des informations fournies par le registre de commande de fonctions, le dispositif de décodage peut prélever la fonction à exécuter. Par exemple, le dispositif de décodage peut déterminer que dans le dispositif de decalage SH le contenu doit entre décalé d'une place vers la droite. Le dispositif de décodage DC fournit à l'unité de calcul des signaux de commande correspondants. La modification du contenu du registre de commande de foncti#ns- est provoquée par une micro-instruction correspondante qui n'est pas complétée par le registre de commande de fonctions. L'avantage de l'unité de commande conforme à l'invention réside dans le fait que par la mise en oeuvre d'un registre supplémentaire, savoir le registre de commande de fonctions, on peut augmenter considérablement le nombre de fonctions à exécuter par les micro-instructions. REVENDICATIONS 1. Unité de commande pour processeur d'ordinateur, dans laquelle sont décodées les micro-instructions correspondant aux instructions d'un programme dtutilisateur et sont délivrés conformément à ce décodage des signaux de commande grace auxquels est effectué le traitement des instructions du programme dtutilîsateur dans le processeur et dans la mémoire principale, caractérisée par le fait qu en vue draccroitre le nombre des fonctions que peuvent exécuter les micro-instructions il est prévu un registre de commande de fonctions à contenu variable qui lors du décodage de micro-instructions fournit les informations qui y sont associées au dispositif de décodage, ce qui permet à ce dernier de former la fonction à exécuter à partir des informations contenues dans la micro-instruction et dans le registre de commande de fonctions. 2. Unité de commande selon la revendication 1, caractériséè par le fait que les informations qui sont le plus souvent à modifier occupent une portion déterminée du registre de commande de fonctions. 3. Unité de commande selon la revendication 2, caractérisée par Le fait que le contenu du registre de commande de fonctions est modifié au moyen d'une micro-instruction grace à laquelle peuvent entre modifiés aussi bien la totalité du contenu qu'une partie seulement de ce contenu. 4. Unité de commande selon la revendication 3, caractérisée par le fait que la micro-instruction s'assure que la partie opérante de son contenu se combine logiquement au contenu du registre de commande de fonctions. 5. Unité de commande selon l'une des revendications 3 ou 4, caractérisée par le fait qu'il est indiqué dans le registre de commande de fonctions quelle est la fonction que doit exécuter une micro-instruction.