Brevet FR2600794A1 — publié le 19871231

260.0794 1. La présente invention concerne un système de commande d'opérations arithmétiques de vecteurs polynomiaux dans une machine de traitement-de l'information. Un système classique de commande d'opérations arithmé5 tiques dans un processeur arithmétique de vecteurs sous la commande d'une unité centrale a la configuration illustrée en figure 1. Le processeur arithmétique comporte un registre 11 de codes d'instructions, un décodeur d'instructions 15 adres10 sé par un ensemble de codes d'instructions dans le registre 11, un registre 16 d'ordres de commencement d'exécution d'instructions pour produire un ordre représentant le commencement de l'exécution d'une instruction du processeur arithmétique, une unité de commande arithmétique 17, et une unité arithmétique 18. 15 L'instruction est définie par une unité minimum d'opérations arithmétiques exécutées par le processeur et a comme exemples une addition, une soustraction, une multiplication, etc. L'instruction 2. est définie par un code d'instructions de quelques bits.L'information représentant la façon avec laquelle le processeur arithmétique fonctionne sur la base du code d'instructions est enregistrée dans le décodeur d'instructions 15. Lorsqu'une unité centrale (non représentée) instaure un code d'instructions dans le registre 11, le registre 16 d'ordres de commencement de l'exécution des instructions est chargé. Le code d'instructions est fourni au décodeur 15 par l'intermédiaire d'une ligne 102 et ainsi décodé. Le décodeur d'ins10 tructions 15 envoie un signal pour une opération arithmétique à l'unité 17 de commande arithmétique en réponse au code d'instructions d'entrée. En même temps, le registre 16 envoie,à l'unité 17, un signal d'ordre de commencement de l'exécution d'une instruction, d'o le fonctionnement de l'unité arithmétique 18. 15 Dans le système classique décrit ci-dessus, seul un registre de codes d'instructions est utilisé pour adresser directement le décodeur d'instructions 15. Par conséquent, si l'on suppose qu'une instruction (par exemple, une addition) est exécutée de façon répétée, cette instruction est chargée dans le registre 11 des codes d'instructions une fois pour répéter l'opération arithmétique correspondante. Cependant, si une opération arithmétique de vecteurs polynomiaux est exécutée, dans laquelle on obtient un résultat en utilisant une multitude d'instructions (par exemple, la combinaison d'une multiplication 25 et d'une addition), les codes d'instructions correspondants doivent être alternativement chargés dans le registre 11, d'o une certaine incommodité. La présente invention a pour objet un système de commande d'opérations arithmétiques de vecteurs qui élimine les inconvénients classiques venant d'être exposés et ne nécessite aucun chargement alterné d'instructions dans un registre même si l'on doit exécuter une opération arithmétique de vecteurs polynomiaux, ce qui permet d'augmenter la vitesse des opérations arithmétiques. Un système pour la commande des opérations 3. arithmétiques d'un processeur capable d'exécuter des opérations indépendamment d'une unité centrale de traitement comprend, dans le processeur arithmétique, un registre de codes d'instructions pour stocker un code d'instructions fourni par l'unité centra5 le, un premier registre pour stocker un signal représentant le fait que le code d'instructions couramment stocké dans le registre nécessite une commutation, un second registre pour stocker un signal de commutation de code d'instructions pouvant être remis à l'état initial à partir de l'unité centrale de traite10 ment, et un moyen de circuit de modification afin de modifier une sortie du registre de code d'instructions sur la base de sorties provenant des premier et second registres et de sortir un signal modifié. La présente invention sera bien comprise lors de la description suivante faite en liaison avec les dessins ci-joints dans lesquels: La figure 1 est un schéma sous forme de blocs d'un système classique; La figure 2 est un schéma sous forme de blocs d'un 20 agencement d'un mode de réalisation de la présente invention; La figure 3 est un schéma sous forme de blocs d'un autre mode de réalisation de la présente invention; et La figure 4 est un schéma sous forme de blocs d'encore un autre mode de réalisation de la présente invention. On décrira maintenant des modes de réalisation de la présente invention en liaison avec les dessins d'accompagnement. La figure 2 est un schéma sous forme de blocs d'un système de commande d'opérations arithmétiques de vecteurs polynomiaux selon un mode de réalisation de la présente inven30 tion. Dans ce système, une multiplication et une addition sont exécutées pour obtenir un résultat suivant: Ai - Bi + Ci x Di (i = 1 à n)....... (1) En liaison avec la figure 2, un processeur arithmétique de vecteurs 1 comprend un registre 11 de codes d'instruc35 tions à octets (O à 7) pour stocker un code d'instructions 4. fourni par une unité centrale de traitement 2, un registre 12 identificateur d'instructions polynomiales pour stocker un signal représentant le fait que le code d'instructions fourni par un décodeur d'instructions 15 et stocké dans le registre Ii nécessite une commutation du code, un registre 13 de commutation d'instructions à 1 bit pour stocker un signal représentant l'instruction de la multitude d'instructions, qui est exécutée,c'est-,à-dire un signal pour désigner une inversion de bits au moment de la commutation de l'instruction, un cir10 cuit 14 de modification de codes d'instructions destiné à modifier une sortieprovenant du registre 11 en réponse à des sorties en provenance du registre 12 et du registre 13, un décodeur d'instructions 15 afin de décoder une sortie en provenance du circuit 14, un registre 16 d'ordres de commencement de l'exécution d'une instruction qui est connecté à l'unité centrale 2, une unité 17 de commande arithmétique afin de recevoir des sorties provenant du registre 16 et du décodeur 15, et une unité arithmétique 18 pour exécuter une opération arithmétique sous la commande de l'unité 17. Le circuit 14 de modification du code d'instructions comprend une porte ET 19 et une porte OU Exclusif 20.Les deux bornes d'entrée de la porte ET 19 sont respectivement connectées aux bornes de sortie de l'identificateur 12 d'instructions polynomiales et au registre 13 de commutation d'ins25 tructions. Une borne d'entrée 14a du circuit 14 est connectée à une ligne 100 de signaux à octets (0 à 7). Une borne de sortie 14b du circuit 14 est connectée à la borne d'entrée du décodeur d'instructions 15 via une ligne 102 à octets. Dans le circuit 14, la borne de sortie de la porte ET 19 est connec30 tée à une borne d'entrée de la porte OU Exclusif 20. L'autre borne d'entrée de la porte OU Exclusif 20 est connectée à la position binaire 3 dans la ligne à octets. Les sept autres positions des bits de la borne d'entrée 14a et la borne de sortie de la porte OU Exclusif 20 sont connectées à la borne de 35 sortie 14b dans l'ordre indiqué. -2600794 5. On décrira ci-dessous, en liaison avec la figure 2, le fonctionnement du système. Un code d'instructions comprend huit bits. Seuls les bits 3 des bits O à 7 des codes d'instructions de multipli5 cation et d'addition de l'équation (1) sont différents les uns des autres. Cependant, les bits différents ne sont pas limités aux bits 3. Dans l'opération arithmétique vectorielle comprenant les instructions de multiplication et d'addition, l'instruction de multiplication est généralement indépendante de 10 l'instruction d'addition. Le niveau logique "1" est instauré dans la position binaire pour une opération arithmétique vectorielle polynomiale dans un mot d'instruction de chacune des instructions de multiplication et d'addition. Le mot d'instruction est stocké dans le décodeur d'instructions- 15. En fonctionnement, l'instruction de multiplication est d'abord instaurée dans le registre 11 des codes d'instructions sous la commande de l'unité centrale 2. En même temps, l'unité centrale 2 charge le registre 16 d'ordre de commencement de l'exécution des instructions. Au chargement initial 20 du code d'instructions, le registre 12 identificateur des instructions polynomiales et le registre 13 de commutation des instructions sont remis à l'état initial sous la commande de l'unité centrale 2. Les deux sorties du registre 12 et du registre 13 sont ainsi instaurées au niveau logique "O". Par consé25 quent, le code d'instructions chargé dans le registre 11 sert de donnée d'adresse pour le décodeur d'instructions 15 via la ligne de signaux 102. Le décodeur 15 décode le code d'instructions et envoie un mot d'instruction correspondant au signal d'adresse d'entrée à l'unité 17 de commande arithméti30 que, d'o l'initialisation de l'exécution de l'instruction.Le bit d'instruction de niveau logique 1 dans le mot d'instruction est fourni par le décodeur d'instructions 15 au registre 12 par l'intermédiaire d'une ligne de signaux 103. Le bit de niveau logique "1" est instauré dans le registre 12. Lorsque l'ordre d'instruction de multiplication 6. pour le processeur i est exécuté, l'unité centrale 2 fournit l'instruction suivante (addition) au processeur 1. Dans cet état, le registre 16 est chargé et le registre 13 est inversé et sort un signal de niveau logique "1". Une sortie de la por5 te ET 19 est instaurée au niveau logique "1", et une entrée dans la porte OU Exclusif 20 est instaurée au niveau logique "1" par l'intermédiaire de la ligne de signaux 101. Le bit 3 de la sortie du registre 11 est inversé à la sortie de la porte OU Exclusif 20. Par conséquent, le code d'instruction d'addi10 tion apparaît sur la ligne de signaux 102. Le décodeur 15 fournit le mot d'instruction d'addition à l'unité de commande arithmétique 17, d'o l'exécution de l'instruction d'addition. Lorsque l'instruction de multiplication doit être exécutée, l'unité centrale de traitement 2 envoie un ordre pour le commencement de l'exécution de l'instruction au processeur arithmétique vectoriel 1. Le registre de commutation d'instructions 13 est de nouveau inversé pour produire un signal de niveau logique "0". L'instruction dans la ligne de signaux 102 est changée en instruction de multiplication. La figure 3 est un schéma sous forme de blocs d'un autre mode de réalisation de la présente invention. Les mêmes numéros de référence qu'en figure 2 représentent les mêmes parties qu'en figure 3. En liaison avec la figure 3, le registre 12 identi25 ficateur d'instructions polynomiales et la porte ET 19 de la figure 2 sont omis. Une ligne de signaux 103 est connectée à un registre 21 de commutation d'instructions, et une sortie du registre 21 est connectée à un circuit 14 de changement de codes d'instructions par l'intermédiaire d'une ligne de signaux 101. 30 Un ordre de commencement de l'exécution d'une instruction est fourni par une unité centrale de traitement 2 au registre 21 par l'intermédiaire d'une ligne 104. On décrira maintenant le fonctionnement de l'agencement illustré en figure 3. Une instruction de multiplication est chargée dans 7. un registre 11 de codes d'instructions. Dans cet état, étant donné que le registre 21 est remis à "0", le code d'instruction de multiplication apparaît sur la ligne de signaux 102 et l'instruction est exécutée, comme on l'a décrit précédemment. Un bit d'instruction d'opération arithmétique de vecteurs polynomiaux de la sortie en mots d'instructions de multiplication en provenance d'un décodeur d'instructions 15 est instauré au niveau logique "1", et par conséquent, la ligne de signaux 103 est instaurée au niveau logique "1". Ensuite, lors10 que l'unité centrale 2 sort un signal représentant l'initialisation de l'exécution de l'instruction d'addition, un registre 16 de commencement d'exécution d'instructions est chargé et le registre 21 est inversé car les deux signaux d'entrée en provenance des lignes de signaux 103 et 104 sont instaurés au ni15 veau logique "1". Par conséquent, le code d'instruction d'addition apparaît sur la ligne de signaux 102 lors du fonctionnement du circuit 14 de changement de codes d'instructions de la même manière que celle décrite précédemment. Le bit d'instruction arithmétique de vecteurs polynomiaux de la sor20 tie en mots d'instruction en provenance du décodeur d'instructions 15 est instauré au niveau logique "1", puis la ligne de signaux 103 l'est au niveau logique "1". Lorsque l'ordre de commencement de l'instruction de multiplication est entré, le registre 21 est de nouveau inversé pour provoquer l'appari25 tion de l'instruction de multiplication sur la ligne de signaux 102. Un moyen pour reconnaître l'opération arithmétique de vecteurs polynomiaux est le bit d'instruction arithmétique de vecteurs polynomiaux dans le mot d'instruction généré par 30 le décodeur d'instructions 15. La figure 4 est un schéma sous forme de blocs d'encore un autre mode de réalisation de la présente invention. Les mêmes numéros de référence qu'en figure 3 représentent les mêmes parties qu'en figure 4. La ligne de signaux 103 35 entre le décodeur d'instructions 15 et le registre 13,de 8. commutation d'instructions de la figure 3 sont omis. Un signal représentant l'exécution de l'opération arithmétique de vecteurs polynomiaux n'est pas une sortie d'un décodeur d'instructions. Dans ce mode de réalisation, une unité centrale de traitement 2 reconnaît que l'opération arithmétique est en cours d'exécution. Un ordre de commencement d'exécution d'instruction est fourni par l'unité centrale 2 à un processeur arithmétique de vecteurs 1 utilisant un signal d'ordre spéci10 fique. Ce signal charge un registre 16 d'ordres de commencement d'exécution d'instructions, et une sortie d'un registre 13 de commutation d'instructions est inversée. Dans ce cas, un bit d'instruction arithmétique sur des vecteurs polynomiaux n'est pas nécessaire dans le décodeur d'instructions 15 15 et, par conséquent, le décodeur d'instructions 15 peut être généralement utilisé pour les instructions d'addition et de multiplication. L'ordre de commencement de l'exécution d'instructions qui ne nécessite aucune commutation d'instructions peut être instruit par un autre signal d'ordre spécifi20 que afin d'inhibér l'inversion du registre 13. Selon la présente invention telle qu'elle vient d'être décrite, le code d'instructions est modifié ou changé par le registre ou identificateur d'instructions polynomiales pour stocker un signal représentant le fait que l'instruction 25 exécutée couramment est une instruction arithmétique sur des vecteurs polynomiaux et le registre de commutation d'instructions. Les codes différents d'instructions n'ont pas besoin d'être chargés dans le registre de codes d'instructions chaque fois qu'ils sont exécutés, ce qui permet des opérations 30 arithmétiques à vitesse élevée. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de modifications et de variantes qui apparaîtront à l'homme de l'art. 9. REVENDICATIONS 1 - Système pour la commande d'opérations arithmétiques d'un processeur arithmétique de vecteurs capable d'exécuter des opérations arithmétiques indépendamment d'une unité 5 centrale de traitement, caractérisé en ce que le processeur arithmétique comprend: - un registre de codes d'instructions pour stocker un code d'instructions fourni par l'unité centrale de traitement, - un premier registre pour stocker un signal représentant le fait que le code d'instructions couramment stocké dans le registre nécessite une commutation, - un second registre pour stocker un signal de commutation de codes d'instructions pouvant être remis à l'état 15 initial à partir de l'unité centrale de traitement, et - un moyen de circuit de modification afin de modifier une sortie du registre de codes d'instructions sur la base de sorties provenant des premier et second registres et de sortir un signal modifié. 2 - Système pour la commande d'opérations arithmétiques d'un processeur arithmétique de vecteurs capable d'exécuter des opérations arithmétiques indépendamment d'une unité centrale de traitement, caractérisé en ce que le processeur arithmétique comprend: - un registre de codes d'instructions pour stocker un code d'instructions fourni par l'unité centrale de traitement; - un premier registre pour stocker un signal représentant le fait que le code d'instructions couramment stocké 30 dans le registre nécessite une commutation, - un second registre pour stocker un signal de commutation de codes d'instructions pouvant être remis à l'état initial à partir de l'unité centrale de traitement, - un moyen de circuit de modification afin de modi35 fier une sortie en provenance du registre de codes d'instructions sur la base de sorties provenant des premier et second 10. registres et de sortir un signal modifié, - un décodeur d'instructions adressé en réponse à une sortie provenant du moyen de circuit de modification de codes d'instructions afin de sortir un mot d'instruction, des bits du mot d'instruction étant fournis au premier registre; et - un moyen pour exécuter une opération arithmétique sur la base du code d'instructions sorti par le décodeur d'instructions. 3 Système selon la revendication 1, caractérisé en ce que le circuit de modification de codes d'instructions comprend un moyen pour modifier au moins un bit d'une entrée d'instructions de n bits provenant du registre de codes d'instructions sur la base des sorties en provenance des premier et second registres et pour sortir un code d'instructions modifié. 4 - Système pour la commande d'opérations arithmétiques d'un processeur arithmétique de vecteurs capable d'exécuter des opérations arithmétiques indépendamment d'une unité 20 centrale de traitement, caractérisé en ce que le processeur arithmétique comprend: - un registre de codes d'instructions pour stocker un code d'instructions fourni par l'unité centrale de traitement; - un moyen de registre pour sortir un troisième signal associé à une modification du code d'instructions sur la base-d'unpremier signal représentant le fait que l'instruction couramment stockée dans le registre de codes d'instructions est une instruction arithmétique sur des vecteurs poly30 nomiaux et un second signal pour commander l'initialisation d'opérations arithmétiques du processeur arithmétique à partir de l'unité centrale de traitement; - un moyen de circuit de modification de codes d'instructions pour modifier une sortie provenant du registre 35 de codes d'instructions sur la base du troisième signal; 1l. un décodeur d'instructions adressé en réponse à une sortie en provenance du moyen de circuit de modification de codes d'instructions pour sortir le code d'instructions et pour fournir des bits du mot d'instruction comme étant le premier signal appliqué au moyen de registre et - un moyen arithmétique pour exécuter une opération arithmétique sur la base du mot d'instruction sortant du décodeur d'instructions. - Système pour la commande d'opérations arithmé10 tiques d'un processeur arithmétique de vecteurs capable d'exécuter des opérations arithmétiques indépendamment d'une unité centrale de traitement, caractérisé en ce que le processeur arithmétique comprend: - un registre de codes d'instructions pour stocker 15 un code d'instructions fourni par l'unité centrale de traitement; - un moyen de registre pour recevoir un signal de commencement d'opération arithmétique fournit au processeur arithmétique à partir de l'unité centrale de traitement, le si20 gnal de commencement d'opération arithmétique comprenant un signal représentant le fait que l'instruction stockée dans le registre de codes d'instructions est une instruction arithmétique sur des vecteurs polynomiaux et pour sortir un signal associé à une modification du code d'instructions; - un moyen de circuit de modification de codes d'instructions pour modifier une sortie du registre de codes d'instructions en réponse à une sortie provenant du moyen de registre; - un décodeur d'instructions adressé en réponse à 30 une sortie provenant du moyen de circuit de modification de codes d'instructions pour sortir un mot d'instruction;et - un moyen arithmétique pour exécuter une opération arithmétique sur la base d'une sortie provenant du décodeur d'instructions.