Brevet FR2601792A1 — publié le 19880122

Titre: SYSTEME DE TRAITEMENT VECTORIEL La présente invention se rapporte à un système de traitement vectoriel et, de façon plus parti5 culière, à un système de traitement vectoriel utilisant une commande par microprogrammation. Conventionnellement, on utilise dans de nombreux cas, comme moyens de calculs scientifiques ou technologiques plus rapides, des systèmes de trai10 tements équipés d'instructions de traitement vectoriel pour exécuter le même traitement sur une grande quantité de données vectorielles, tels que ceux décrits dans le brevet U.S. No. 4 620 275. Dans ce que l'on appelle les superordi15 nateurs, les instructions de traitement vectoriel sont souvent exécutées avec un circuit spécialisé pour le traitement vectoriel. Par contre, dans des systèmes dans lesquels les exigences concernant les performances ne sont pas si strictes que dans le cas des superordi20 nateurs, les instructions de traitement vectoriel sont fréquemment exécutées par l'emploi courant d'une unité de traitement pour le traitement scalaire habituel en vue de limiter l'expansion de l'importance des circuits du matériel. Une unité de traitement pour emploi en traitement scalaire ne possède habituellement pas d'architecture pipeline. Par conséquent, aussi longtemps qu'un élément vectoriel est en cours de traitement, il n'est pas possible de démarrer le traitement de 30 l'élément suivant. Dans un système de traitement vectoriel dans lequel l'exécution du traitement de chaque élément vectoriel se fait sous la commande des circuits du matériel et dans lequel la commande de démarrer le traitement de chaque élément est donné au titre de la 35 commande de microprogrammation, la commande de démarrer SR 3915 JP/RS le traitement d'un élément donné est émise après que le traitement de l'élément précédent a été jugé être complètement achevé. Toutefois, le temps pris pour exécuter 5 un traitement en virgule flottante dans un tel système varie souvent avec la question de savoir si, oui ou non, la normalisation du résultat du traitement est nécessaire. Pour un exemple d'un tel système on peut se référer au brevet U.S. No. 3 589 067. Ledit jugement concernant l'achèvement du traitement précédent pour pouvoir donner une commande de démarrage au titre de la commande de microprogrammation nécessite un jugement de branchement, en fonction d'un signal d'achèvement envoyé par le circuit de trai15 tement, sur la question de savoir si, oui ou non, il faut démarrer le traitement de l'élément suivant. Lorsqu'il faut exécuter un branchement de microprogrammation, le processus consistant à recevoir le signal d'achèvement, à lire une microinstruction dans la mémoire 20 de commande et à l'exécuter constitue un facteur important déterminant le rythme de la machine. Par conséquent, dans le système de traitement vectoriel conventionnel décrit ci-dessus, différentes actions de commande s'exécutent à partir de l'instant o le traitement d'un 25 élément vectoriel est achevé jusqu'à l'instant o le suivant démarre, ce qui se traduit par l'inconvénient que du temps est perdu, par exemple dans la lecture de la microinstruction en mémoire de commande, d'o un retard conséquent dans l'exécution de la microinstruc30 tion. Un but de la présente invention est par conséquent de proposer un système de traitement vectoriel conçu pour éliminer l'inconvénient mentionné cidessus. Selon -l'un des aspects de l'invention, on 35 propose un système de traitement vectoriel présentant SR 3915 JP/RS 260 1792 un circuit de traitement répondant à une commande de démarrage au titre de la commande de microprogrammation pour l'exécution du traitement d'un élément vectoriel. Le système comporte: un moyen de maintien consistant en un indicateur "conserver la commande de démarrage" activé en réponse à la commande de démarrage au cours de l'exécution du traitement par le circuit de traitement; un moyen de commander "démarrer l'exécution 10 du traitement" répondant à la commande de démarrage pour commander le démarrage de l'exécution du traitement de l'élément vectoriel correspondant si l'unité de traitement n'est pas en train d'exécuter le traitement; et un moyen de commander le moyen de commander "démarrer' l'exécution du traitement" pour démarrer l'exécution du traitement de l'élément vectoriel suivant en réponse à l'achèvement de l'exécution du traitement pendant que le moyen de maintien de l'indicateur 20 "conserver la commande de démarrage" est activé et, en même temps, de désactiver le moyen de maintien de l'indicateur "conserver la commande de démarrage". En outre, selon un autre aspect de l'invention, on propose un appareil de traitement 25 vectoriel comportant un circuit multiplicateur répondant à une commande de démarrage d'une multiplication, en provenance de la microprogrammation, pour exécuter la multiplication d'un élément vectoriel, ainsi qu'un circuit d'addition répondant à une commande de démarrage 30 d'une addition, en provenance de la microprogrammation, pour exécuter une addition à un élément vectoriel. Le système comporte en outre: un moyen indicateur du type de traitement pour indiquer que le type de traitement vectoriel est 35 une multiplication-addition; et SR 3915 JP/RS un moyen de chainage du traitement pour commander l'exécution de l'addition par le circuit additionneur en réponse à un signal d'achèvement de la multiplication provenant du circuit multiplicateur lorsqu'un 5 traitement de multiplication-addition est indiqué par ledit moyen indicateur du type de traitement. D'autres buts, caractéristiques et avantages de l'invention apparaitront mieux à partir de la description détaillée qui suit prise en liaison avec les dessins 10 joints sur lesquels: - la figure 1 est un diagramme d'une première réalisation préférée de l'invention; - la figure 2 est un diagramme de la structure d'un circuit de commande de traitement 15 15 indiqué sur la figure 1; - la figure 3 est un diagramme de la structure d'un circuit de commande d'adresse de microinstruction 2 indiqué sur la figure 1; - la figure 4 est un diagramme de l'opé20 ration de microprogrammation de la première réalisation de l'invention; - la figure 5 est un tableau chronométrique de l'opération de traitement vectoriel de la première réalisation; - -les figures 6 et 15 sont des diagrammes de l'opération de microprogrammation de l'art antérieur; -les figures 7 et 16 sont des tableaux chronométriques de l'opération de l'art antérieur; - la figure 8 est un diagramme d'une seconde 30 réalisation préférée de l'invention; - la figure 9 est un diagramme de la structure d'un circuit multiplicateur en virgule flottante 25 de la seconde réalisation; - la figure 10 est un diagramme de la 35 structure d'un circuit additionneur en virgule flottante SR 3915 JP/ RS 9 de la seconde réalisation; - la figure 11 est un diagramme de la structure détaillée d'un circuit de commande de multiplication 21 de la seconde réalisation; - la figure 12 est un diagramme de la structure d'un circuit de commande d'addition 24 de la seconde réalisation; - la figure 13 est un diagramme de l'opération de microprogrammation de la seconde réalisation; 10 et - la figure 14 est un diagramme du traitement de multiplication-addition de la seconde réalisation. Sur les dessins, les mêmes repères désignent 15 respectivement les mêmes éléments de structure. En se reportant à la figure 1, une réalisation préférée de l'invention comporte une mémoire de commande 1 pour mémoriser un microprogramme comprenant une pluralité de microinstructions pour exécuter diffé20 rentes instructions comprenant des instructions de traitement vectoriel; un circuit de commande de microadresse 2 pour donner une adresse de lecture à la mémoire de commande 1 par une ligne 108; un registre de microinstruction 3 pour mémoriser une microinstruction lue 25 dans la mémoire de commande 1 en réponse à l'adresse lue provenant du circuit de commande de microadresse 2; une mémoire principale 4 pour mémoriser lesdonnées vectorielles à utiliser par les instructions de traitement vectoriel, d'autres opérandes d'instruction et 30 d'autres instructions; une mémoire tampon de données vectorielles 5 pour mémoriser temporairement des données vectorielles lues en mémoire principale 4; des registres d' opérandes 7 et 8 pour mémoriser les données vectorielles provenant de la mémoire tampon 5 de données 35 vectorielles en réponse à une commande donnée par un SR 3915 JP/ RS bit d'écriture (W) qui se trouve dans la microinstruction du registre de microinstruction 3; un circuit additionneur en virgule flottante 9 pour soumettre les données vectorielles provenant des registres 7 et 8 5 à une addition ou une soustraction en virgule flottante conformément à une commande donnée par une ligne 103; un sélecteur 10 pour sélectionner le résultat du traitement provenant du circuit additionneur en virgule flottante 9 en accord avec un signal de sélection donné 10 par une ligne 104; un registre de résultat Il pour mémoriser, en accord avec un signal donné par une ligne 105, le résultat sélectionné par le sélecteur 10; une mémoire tampon de mémorisation vectorielle 6 répondant à une instruction de mémorisation donnée par une ligne 15 109 pour mémoriser les données rangées dans le registre de résultat 11, si les données sont déjà normalisées, et pour envoyer les données à la mémoire principale 4; un circuit de jugement de normalisation 14 pour juger si, oui ou non, le résultat de l'addition ou de la sous20 traction provenant du circuit additionneur en virgule flottante 9 est normalisé; un détecteur de compte de normalisation 12 pour détecter le compte de décalage nécessaire pour la normalisation et pour fournir le compte de décalage ainsi détecté; un circuit de décalage 25 de normalisation 13 pour décaler les données qui sont dans le registre de résulat 11 de la valeur du compte de décalage détecté par le détecteur de compte de normalisation 12 et envoyer les données décalées; et un circuit de commande de traitement 15 pour commander 30 l'addition et la soustraction en virgule flottante. On va maintenant décrire en détail la réalisation préférée de l'invention en se référant aux figures 1 à 5. En se référant à la figure 5, le pas de 35 microinstruction A est d'abord lu au top d'horloge T1. SR 3915 JP/ RS En se référant à la figure 4, ce pas A a pour but de ranger les données dans les registres d'opérandes 7 et 8 et de commander- le démarrage de l'addition. En se référant à nouveau à la figure 1, le pas A lu dans la mémoire de commande 1 est mémorisé dans le registre 3. Au top d'horloge suivant T2, le bit d'écriture (W) qui se trouve dans le registre est fourni, comme signal de commande de mémorisation, aux 10 registres d'opérandes 7 et 8 par une ligne 102. En même temps un bit de démarrage de traitement (S) du registre 3 est envoyé au circuit de commande de traitement 15 par une ligne 101. Le signal de commande de démarrage de traitement fourni par l'intermédiaire de la ligne 15 101 active le bistable ((F/F) indicateur de séquence 201 par les portes 213 et 219. En réponse à cette activation, un signal de commande d'addition est envoyé au circuit additionneur en virgule flottante 9 de la figure 1 par la ligne 103. En outre, lors de cette acti20 vation, un bistable indicateur d'en cours de traitement 204 de la figure 2 est activé.Ce bistable 204 est activé en réponse au démarrage de l'exécution du traitement et désactivé en réponse à l'achèvement de cette exécution. Il est activé si l'achèvement de l'un des trai25 tements et le démarrage du traitement suivant se font simultanément. En se référant à nouveau à la figure 1, l'adresse d'un champ d'adresses suivant (N) dans le registre 3 du pas de microinstruction A est donnée au 30 circuit de commande d'adresse de microinstruction 2 par une ligne 107. En se référant maintenant à la figure 3, l'adresse fournie par la ligne 107 est envoyée sur la ligne 108 par un sélecteur 304. A cette adresse envoyée 35 par la ligne 108 est lu le pas de microinstruction B SR 3915 JP/ RS qui est mémorisé dans le registre 3. Au top d'horloge suivant T3 un bistable indicateur de séquence 202 représenté sur la figure 2 est activé. En se référant aux figures 1, 4 et 5 ensemble, un pas de microinstruction. C est lu dans la mémoire de commande 1 au top d'horloge T3 et il est rangé dans le registre 3. A ce pas C, les données sont rangées dans les registres d'opérandes 7 et 8, le trai10 tement démarre et, en même temps, il y a jugement sur la question de savoir si, oui ou non, les commandes de démarrage de traitement pour tous les éléments vectoriels ont été achevées. Un signal fourni par la ligne 101 à ce 15 pas C est envoyé à une porte ET 212. L'autre signal envoyé à la porte ET 212 est fourni par le bistable 204 en passant par une porte 216. Au top d'horloge suivant T4, en réponse aux deux signaux, les signaux de la porte ET 212 activent un bistable indicateur 20 "conserver la commande de démarrage " 205. Le bistable 205 a pour but, lorsqu'une microinstruction de démarrer le traitement suivant arrive au cours de l'exécution d'un traitement, de conserver cette instruction jusqu'à l'achèvement du traitement actuellement en cours. Le 25 bistable 205 est désactivé en réponse à l'achèvement du traitement ou lors de l'occurence simultanée de l'achèvement d'un traitement et du démarrage du traitement suivant. En se référant aux figures 1 et 5, au top d'horloge T3, le résultat de l'addition effectuée 30 par le circuit additionneur en virgule flottante 9 est sélectionné par le sélecteur 10 et, au même moment, un signal signifiant que le circuit de jugement de normalisation 14 a jugé que la normalisation n'était pas encore faite est envoyé sur une ligne 106. Le jugement final à ce sujet est donné SR 3915 JP/RS au top d'horloge T4 par le circuit de commande d'adresse de microinstruction 2 au pas de microinstruction D sur la base du signal qui se trouve sur la ligne 106. En se référant maintenant à la figure 3, 5 le signal fourni par la ligne 106 est rangé dans un registre de condition de branchement 302 comme signal de condition de branchement. Le contenu de ce registre 302 est donné à un circuit de commande de branchement 303 dans lequel, par l'emploi d'un signal d'adresse, 10 fourni par la ligne 107 provenant du champ d'adresse suivant (N), du pas de microinstruction D mémorisé dans le registre de microinstruction 3 de la figure 1 au moment du branchement conditionnel exécuté sous l'effet d'une microinstruction et par l'emploi du contenu du 15 registre de condition de branchement 302, -est générée l'adresse du pas de microinstruction E à exécuter à la suite. En cas de branchement conditionnel, le signal de sortie du circuit de commande de branchement 303 est envoyé sur la ligne 108 par le sélecteur 304. En se référant aux figures 2 et 5, le signal qui a été jugé comme encore non normalisé et qui est fourni 'par l'intermédiaire de la ligne 106 est envoyé à une porte ET 211 et le signal de sortie du bistable 202 est activé dans un bistable 203 au top d'horloge 25 T4. En se référant maintenant aux figures 1 et 5, les opérandes mémorisées dans les registres d'opérandes 7 et 8 au top d'horloge T2 sont ajoutés par le circuit additionneur en virgule flottante 9, 30 envoyés au sélecteur 10 au top d'horloge T3 et rangés dans le registre de résultat 11 au top d'horloge T4. La commande de mémorisation dans le registre des résultats 11 est donnée par le signal de sortie du bistable 202 de la figure 2. En se référant à nouveau aux figures 1 SR 3915 JP/ RS et 5, le pas de microinstruction E est lu dans la mémoire de commande 1 au top d'horloge T5 et mémorisé dans le registre 3. Au même moment, entre le top d'horloge 5 T4 et le top d'horloge T5, le compte de décalage nécessaire pour la normalisation est détecté par le détecteur de compte de normalisation 12 en fonction du contenu du registre de résultat 11, mémorisé par l'intermédiaire du sélecteur 10. Ensuite, sur la base de ce compte de décalage, le décaleur de normalisation 13 décale le contenu du registre de résultat 11. Le résultat de ce décalage est mémorisé dans le registre de résultat 11 au top d'horloge T5 par l'intermédiaire du sélecteur 10. Cette 15 mémorisation est commandée par la signal de sortie du bistable 203 de la figure 2. Ce contenu du registre de résultat 11 est mémorisé, au top d'horloge T6, dans la mémoire tampon de mémorisation vectorielle 6. En se référant aux figures 2 et 5, étant 20 donné que les bistables 203 et 205 ont été activés au top d'horloge T4, le bistable 201 est activé au top d'horloge T5 par une porte ET 214 et une porte OU 219. Au même top d'horloge T5, le bistable 204 est à nouveau activée En se référant collectivement aux figures 1, 4 et 5, à la suite du pas de microinstruction E au top d'horloge T5, le pas de microinstruction C est lu au top d'horloge T6. Ce pas de microinstruction C est mémorisé dans le registre 3 et le bit d'écriture (W) 30 qui s'y trouve est envoyé dans les registres d'opérandes 7 et 8 par l'intermédiaire de la ligne 108 et de nouveaux opérandes sont mémorisés au top d'horloge T7. Du top d'horloge T4 au top d'horloge T6, les données mémorisées dans les registres d'opérandes 7 et 8 sont ajoutées 35 par le circuit additionneur en virgule flottante 9 et SR 3915 JP/ RS il mémorisées dans le registre de résultat Il au top d'horloge T7 par l'intermédiaire du sélecteur 10. Comme instruction pour cette mémorisation, c'est le signal de sortie du bistable indicateur 202 qui est fourni 5 par l'intermédiaire de la ligne 105 puisque le circuit de jugement de normalisation 14 a jugé que le signal de sortie du circuit additionneur 9 avait déjà été normalisé. Si le signal de sortie du circuit additionneur 9 n'est pas encore normalisé, le contenu du bistable 10 201 est envoyé au bistable 203 par l'intermédiaire du bistable 202. Ou bien, si le signal de sortie du circuit additionneur 9 est déjà normalisé, le contenu du bistable 201 est envoyé au bistable 202. Le contenu du registre de résultat 22 15 mémorisé au top d'horloge T7 est mémorisé dans la mémoire tampon de mémorisation vectorielle 6 au top d'horloge T8. En se référant à la figure 5, dans cet exemple est exécuté un traitement vectoriel de trois éléments pour lequel le temps pris pour exécuter le traitement du 20 premier élément est trois tops d'horloge, augmenté d'un top d'horloge pour la normalisation et le -traitement du second et du troisième éléments prend deux tops d'horloge chacun. Dans un appareil conventionnel, lorsqu'une 25 intstruction de démarrer le traitement est envoyée par la microprogrammation, le bistable indicateur de séquence 201 serait immédiatement activé et, dans ce- cas, l'instruction de démarrer le traitement du second élément au top d'horloge T3 ne pourrait pas être donnée avant 30 que la microprogrammation juge si, oui ou non, le traitement du premier élément a été achevé. Par contre ce n'est pas avant le top d'horloge T5, c'est-à- dire le pas E, que la microprogrammation peut confirmer l'achèvement du traitement du premier élément et ce serait trop tard. SR 3915 JP/ RS Par conséquent, pour l'appareil conventionnel, lors de l'étude de la microprogrammation, on a alloué trois tops d'horloge au traitement de chaque élément vectoriel. Dans cet exemple, toutefois, du fait 5 qu'aux éléments ne nécessitant pas de normalisation, tels que les éléments d'ordre (i+l) et (i+2) de la figure 7, on a également alloué trois tops d'horloge pour l'exécution du traitement, il se produit des temps morts tels que les tops d'horloge T7 et T10, ce qui 10 se traduit par des performances détériorées. Dans cette réalisation préférée de l'invention, au contraire, lorsqu'une instruction de commencer le traitement est envoyée par la microprogrammation au top d'horloge T3, c'est-à-dire au pas C, le 15 traitement de l'élément précédent est encore à achever. C'est-à-dire que, du fait que l'indicateur 204 est positionné à "1" au cours de l'exécution du traitement, l'indicateur "conserver la commande de démarrage" 204 est positionné à "1" et, après que l'instruction est 20 conservée jusqu'à l'achèvement du traitement, l'élément suivant commence à être traité. Par conséquent, la microprogrammation peut toujours donner l'instruction de démarrage pour le traitement du second élément ou de tous éléments suivants au pas C et, lorsque le temps 25 d'exécution est augmenté d'un top d'horloge du fait de la normalisation, il suffit d'exécuter le pas E pour obtenir la synchronisation avec le circuit de commande de traitement 15. Telle que décrite jusqu'ici, l'invention 30 apporte le bénéfice d'obtenir l'exécution à haute vitesse des instructions de traitement vectoriel commandées par la microprogrammation en absorbant, grâce à l'emploi - d'un indicateur "conserver l'instruction de démarrage" les retards dus au branchement de la microprogrammation. 35 En se référant maintenant à la figure 8, SR 3915 JP/ RS une autre forme préférée de l'invention est équipée d'une mémoire de commande 1 pour mémoriser un microprogramme comprenant une pluralité de microinstructions pour exécuter différentes instructions comprenant des 5 instructions de traitement vectoriel; un circuit de commande de microadresse de lecture de mémoire de commande 1 par une ligne 108; un registre de microinstruction 3 pour mémoriser une microinstruction lue dans la mémoire de commande 1 en réponse à l'adresse lue 10 provenant du circuit de commande du microadresse 2; une mémoire principale 4 pour mémoriser les données vectorielles à utiliser par les instructions de traitement vectoriel, d'autres opérandes d'instruction et d'autres instructions; une mémoire tampon de données 15 vectorielles 5 pour mémoriser temporairement des données vectorielles lues en mémoire principale 4; un registre scalaire 16 pour retenir des données scalaires pour emploi dans le traitement; des registres d'opérandes 7 et 8 pour retenir, au cours de l'exécution du trai20 tement, des opérandes - pour emploi dans ce traitement; des sélecteurs 17 et 18 pour sélectionner les signaux d'entrée aux registres d'opérandes 7 et 8, respectivement; un circuit multiplicateur en virgule flottante pour soumettre les données provenant des registres 25 d'opérandes 7 et 8 Aune multiplication en virgule flottante; un circuit additionneur en virgule flottante 9 pour soumettre les données provenant des registres d'opérandes 7 et 8 à une addition en virgule flottante; un registre de résultat 11 pour mémoriser les données résultant du traitement; 30 un sélecteur 10 pour sélectionner les données d'entrée au registre de résultat 11; un circuit de jugement de normalisation 14 pour juger si, oui ou non, le signal de sortie du circuit additionneur en virgule flottante 25 est normalisé (forme normale) ; un détecteur de compte 35 de normalisation 12 pour détecter le compte de décalage SR 3915 JP/ RS nécessaire pour la normalisation et pour fournir le compte de décalage ainsi détecté; un circuit de décalage de normalisation 13 pour décaler les- données qui sont dans le registre de résultat 11 de la valeur du compte 5 de décalage détecté par le détecteur 12 et envoyer les données décalées; un registre de type 19 dans lequel est rangé un code de type de traitement vectoriel (T) donné par une microinstruction mémorisée dans le registre de microinstruction 3; un décodeur 20 pour décoder le 10 signal de sortie du registre de type 19 et envoyer un "1" sur une ligne de signal 115 si le code de type de traitement vectoriel indique une multiplication-addition; un circuit de commande de multiplication 21 pour commander le traitement exécuté par le circuit multipli15 cateur en virgule flottante 25; un circuit de commande d'addition 24 pour commander le traitement exécuté par le circuit additionneur en virgule flottante 9; une porte ET 22; et des portes OU 23, 26 et 27. En se référant maintenant aux figures 3, 20 8 et 10, on va décrire l'opération de cet appareil de traitement vectoriel. On suppose ici qu'il faut exécuter le traitement suivant, qui est une multiplicationaddition: V3. i-- V2. + S x Vl. o Vli, V2i et V3. représentent les éléments d'ordre i, respectivement, des trois données vectorielles mémorisées en mémoire principale 4 et S représente une donnée scalaire mémorisée dans le registre scalaire 16. Comme représenté sur la figure 3, le circuit de commande d'adresse de microinstruction 2 est équipé d'un registre de condition de branchement 302, d'un circuit de commande de branchement 303 et d'un sélecteur 304. Si le circuit de jugement-de normalisation 14 juge 35 que le signal de sortie du circuit multiplicateur en SR 3915 jp/RS virgule flottante 25 ne se trouve pas sous une forme normale, le circuit 14 va positionner le registre de condition de branchement 302 à "1" par une ligne de signal 106. Ce circuit de commande 303 génère l'adresse 5 de la mémoire de commande 1 à lire à- la suite, en fonction de l'information concernant l'adresse fournie, par la ligne 107, en provenance du champ d'adresse suivant (N) du registre de microinstruction 3 au moment du branchement conditionnel et en fonction du contenu du 10 registre de condition de branchement 302. Si aucun branchement conditionnel n'est à effectuer, le sélecteur 304 sélectionne la ligne de signal 107, avec le résultat que c'est la valeur du champ d'adresse suivant (N) du registre de microinstruction 3 qui est utilisée telle 15 qu'elle est comme adresse de la mémoire 1. S'il faut effectuer un branchement conditionnel, c'est le signal de sortie du circuit de commande de branchement 303 qui est sélectionné. La figure 13 représente maintenant un ordi20 nogramme de la microprogrammation pour une instruction MULTIPLY AND ADD/multiplier et additionner; et la figure 14 représente un tableau chronométrique de l'exécution de l'instruction MULTIPLY AND ADD. Les pas de microinstruction (A à F) de la figure 14 correspondent 25 respectivement aux pas A à F de l'ordinogramme de la figure 13. En se référant aux figures 8 et 13, la microprogrammation exécute une commande pour ranger le contenu (S) du registre scalaire 16 et les contenus 30 (Vli et V2i) de la mémoire tampon de données vectorielles dans les registres d'opérandes 7 et 8, donne une commande pour démarrer l'exécution de la multiplication par des circuits de commande de multiplication 21; et juge si, oui ou non, le résultat de la multipli35 cation est sous forme normalisée, et si, oui ou non, SR 3915 JP/RS tous les éléments vectoriels ont été traités. Entre temps, l'exécution de la multiplication et de l'addition et l'écriture des résultats dans la mémoire tampon de mémorisation vectorielle 6 sont commandées par les 5 circuits du matériel. Les pas B, C, E et F indiqués sur la figure 13 ont pour but la coordination de la chronomêtrie avec les circuits du matériel. En se référant maintenant aux figures 13 et 14, la microprogrammation pour l'instruction MULTIPLY 10 AND ADD exécute le pas de microinstruction A au top d'horloge T1. Au pas de microinstruction A, en réponse à l'indication du bit d'écriture (W) d'une microinstruction qui se trouve dans le registre de micro. instruction 3, le contenu (S) du registre scalaire 15 16 est rangé dans leregistre d'opérandes 7, la donnée Vi est lue dans la mémoire tampon de données vectorielle 5 et rangée dans le registre d'opérandes 8, et une commande de démarrer la multiplication, flottante est envoyée au circuit de commande de multiplication 21. En se référant aux figures 8, 9 et 11, les bistables indicateurs de séquence 220 et 221 sont activés dans le circuit de commande de multiplication 21 en réponse à un signal de commander le démarrage de la multiplication provenant du champ M du registre 25 de microinstruction 3 par une ligne 110. Cette activation fait que les bistables 220 et 221 doivent ranger les commandes dans un registre S 256 et dans un registre C 257 par les lignes 112 et 113 et par un circuit OU 259 du multiplicateur en virgule flottante 25. Dans le multiplicateur en virgule flottante , les -parties exponentielles des opérandes mémorisés dans les registres d'opérandes 7 et 8 sont ajoutées par un additionneur 251 et envoyées dans la partie exponentielle du registre de résultat 11. La partie mantisse 35 du multiplicateur mémorisé dans le registre d'opérandes SR 3915 Jp/RS 8 est divisée en deux multiplicateurs partiels par un circuit 252 générant des multiplicateurs partiels. Les multiplicateurs partiels résultant de la division et la partie mantisse du multiplicande provenant du registre 5 d'opérandes 7 sont multiplié s en deux pas distincts. Une pluralité de produits partiels sont générés conformément à la méthode de Booth, et ces produits partiels sont additionés par une arborescence additionneur avec sauvegarde du report 255. Finalement, divisés en deux 10 données, le total et le report, ils sont mémorisés dans le registre S 256 et dans le registre C 257, respectivement, au top d'horloge T3 en réponse à la commande de rangement mentionnée précédemment. Les produits partiels mémorisés dans ces registres 256 et 257 par 15 la première multiplication partielle sont ajoutés aux produits partiels, résultant de la seconde multiplication par un générateur de multiplication 254, par l'arborescence additionneur avec sauvegarde du report 255 et mémorisés à nouveau dans les registres 256 et 257 au top d'horloge T4. Au même top d'horloge, le contenu du registre S 256 et celui du registre C 257 sont additionnés par un additionneur 258 et mémorisés dans la partie mantisse du registre de résultat 11 au top d'horloge T5. Entre temps, dans le circuit de commande de multiplication 21, un bistable indicateur de séquence 222 est activé au top d'horloge T4 en réponse à un signal d'activation provenant du bistable indicateur de séquence 221. Le signal de sortie dudit bistable 222 est envoyé 30 au registre de résultat 11 au top d'horloge T5 par une porte OU 227, une ligne 105 et la porte OU 26. Par conséquent, entre les tops d'horloge T2 et T4, une multiplication en virgule flottante (S x Vli) est exécutée par le circuit multiplicateur 35 en virgule flottante 25, avec le résultat que P.i' est i SR 3915 JP/RS rangé dans le registre de résultat 11 et dans le registre d'opérandes 8 au top d 'horloge T5. Au top d'horloge T4, le circuit de jugement de normalisation 14 juge si, oui ou non, le résultat de la multiplication P. ' -est sous une forme normalisée. S'il est jugé qu'il est sous une forme normalisée, la multiplicationen virgule flottante est achevée au top d'horloge T4 puisque Pi' est un résultat final de la multiplication et un signal d'achèvement 106 est envoyé. Si, au contraire, il est 10 jugé que le résultat de la multiplication Pi' n'est pas sous une forme normalisée, le processus de normalisation s'effectue au top d'horloge T5 et le résultat final de la multiplication P. est à nouveau rangé dans z le registre de résultat 11 et dans le registre d'opé15 randes 8, le signal d'achèvement 106 étant envoyé au top d'horloge T5. En se référant maintenant aux figures 8, 13 et 14, indépendamment de la question de savoir si la multiplication est achevée au top d'horloge T4 ou 20 au top d'horloge T5, la microprogrammation exécute le pas de microinstruction D au top d'horloge T4 et charge dans le registre d'opérandes 7 les données vectorielles qui sont dans la mémoire tampon de données vectorielles 5 ainsi que la donnée V2o. Une instruction MULTIPLY 25 AND ADD a un code indiquant le type de traitement, qui est le type multiplication-addition, mémorisé à l'avance dans le registre de type 19 et le code de type indiquant multiplication-addition est décodé par le décodeur 20 pour donner le signal logique "1" sur la ligne de signal 30 115. Par conséquent, lors de l'envoi d'un signal d'achèvement 114, une commande de démarrage est donnée au circuit de commande d'addition 24 par l'intermédiaire de la porte ET 22, de la porte OU 23 et d'une ligne 116. En se référant maintenant aux figures 8, SR 3915 JP/RS 12 et 14, le signal fourni par l'intermédiaire de la porte OU 23 et de la ligne 116 active, au top d'horloge T6, un bistable indicateur de séquence 241. L'addition en virgule flottante est traitée pendant la durée de deux tops d'horloge. En se référant maintenant aux figures 8 et 10, tout d'abord au top d'horloge T6, la différence entre les parties exponentielles des opérandes mémorisées dans les registres d'opérandes 7 et 8 est obtenue au 10 moyen d'un circuit soustracteur de valeurs absolues 91. La partie exponentielle de l'opérande, jugée être la plus grande lors de cette soustraction, est sélectionnée par un sélecteur 92 et envoyée dans la partie exponentielle du registre de résultat 11. Un circuit d'égali15 sation 93 aligne les parties mantisse des registres d'opérandes 7 et 8 en fonction de la différence dans la partie exponentielle révélée par le circuit soustracteur de valeurs absolues 91. Après alignement par le circuit d'égalisation 93, elles sont additionnées 20 par un circuit additionneur 94. En se référant à nouveau aux figures 8, 12 et 14, dans le circuit de commande d'addition 24, le signal de sortie du bistable indicateur de séquence 241 est fourni, à titre de signal de commande de ran25 gement, au registre de résultat 11 par une porte OU 242, une ligne 117 et la porte OU 26. En réponse à ce signal de commande de rangement, le registre de résultat 11 range le résultat de l'addition. Au top d'horloge T7 le processus de norma30 lisation se fait par l'emploi du détecteur de compte normal 12 et du circuit de décalage de normalisation 13, sur la base du résultat rangé dans le registre de résultat 11. En se référant maintenant aux figures 8, 35 11, 12et 14, le sélecteur 10 sélectionne le signal de SR 3915 JP/ RS sortie du circuit multiplicateur en virgule flottante 25 à l'état initial. Puis, en réponse à l'activation d'un bistable indicateur de séquence 226 dans le circuit de commande de multiplication 21 au top d'horloge T5, 5 un signal de commande de sélection est envoyé au sélecteur 10 par une ligne 104 et par la porte OU 27. En réponse à ce signal de commande de sélection, le sélecteur 20 sélectionne le signal de sortie du circuit additionneur en virgule flottante 9. En réponse à 10 l'activation d'un bistable indicateur de séquence 243 dans le circuit de commande d'addition 24 au top d'horloge T7, un autre signal de commande de sélection est envoyé au sélecteur 10 par une ligne 118 et par la porte OU 27. En réponse à ce signal de commande de 15 sélection, le sélecteur 10 sélectionne le signal de sortie du circuit de décalage de normalisation 13. Cette sélection fait ranger le résultat normalisé dans le registre de résultat 11. Au top d'horloge T8 un bistable indicateur de séquence 244 est activé dans le circuit 20 de commande d'addition 24 et une signal d'instruction de mémorisation est envoyé à la mémoire tampon de mémorisation vectorielle 6 par une ligne 119. En réponse à ce signal de commande de mémorisation, la mémoire tampon de mémorisation vectorielle 6 mémorise le résultat norma25 lisé provenant du registre de résultat 11. Par conséquent, sous l'effet de la commande de démarrer l'addition, une addition en virgule flottante (V2i + Pi) est exécutée entre le top d'horloge T6 et le top d'horloge T7 et le résultat d'addition V3i, après 30 avoir été rangé dans le registre de résultat 11, est écrit dans la mémoire tampon de mémorisation vectorielle 6 et, finalement, dans la mémoire principale 4. Ainsi s'achève le traitement multiplicationaddition d'un élément. En se reportant maintenant aux figures SR 3915 jp/ RS 8, 13 et 14, la microprogrammation exécute le pas de microinstruction E au top d'horloge T5 et exécute le branchement conditionnel en fonction du contenu d'un registre de condition de branchement 302. Si, à cet 5 instant, la valeur du registre de condition de branchement 302, représenté sur la figure 3, est "0" ou est sous une forme normalisée, il y aura, après le pas de microinstruction E, un branchement au pas de microinstruction A pour démarrer le traitement de l'élément 10 suivant. Ou bien, si au top d'horloge T5, la valeur du registre de condition de branchement 302 est "1" ou représente une forme non normalisée, le temps pris pour exécuter la multiplication en virgule flottante sera plus long de la valeur d'un top d'horloge du 15 fait de la normalisation. Pour ce motif, il y aura un branchement au pas de microinstruction F pour obtenir la synchronisation temporelle avec le traitement sous commande des circuits du matériel, suivie d'un autre branchement au pas de microinstruction A. En considérant que l'opération décrite ci-dessus se répétera après le top d'horloge T7, si le résultat de la multiplication en virgule flottante est sous une forme non normalisée comme indiqué en ce qui concerne les tops d'horloge T8 à T12, la durée 25 d'exécution sera plus courte, de la valeur d'un top d'horloge, que celle du traitement aux tops d'horloge T2 à T7. En se référant à la figure 15, un appareil conventionnel nécessite une conception de la micropro30 grammation allouant un total de six tops d'horloge pour le traitement de tous les éléments vectoriels, comprenant quatre tops d'horloge pour la multiplication et deux pour l'addition. En se référant maintenant à la figure 16, du fait que dans ce cas quatre tops 35 d'horloge sont alloués pour la multiplication d'un SR 3915 JP/ RS élément même s'il ne nécessite pas de normalisation, tel que le résultat de multiplication d'ordre (i + 1), il y a un temps mort comme indiqué au top d'horloge Tll, ce qui se traduit par une détérioration correspon5 dante des performances. Comme décrit jusqu'ici, l'invention présente l'intérêt d'absorber le retard dû au branchement de la microprogrammation en prévoyant un moyen indicateur du type de traitement pour indiquer que le traitement 10 est une multiplication-addition et pour commander le démarrage de l'addition/soustraction immédiatement après l'achèvement de la multiplication et rend possible de ce fait l'exécution à haute vitesse d'instructions de multiplication-addition vectorielles sous commande de la microprogrammation. SR 3915 JP/ RS REVENDICATIONS 1. Système de traitement vectoriel présentant un circuit de traitement qui répond à une commande de démarrage, sous commande de la micropro5 grammation, pour exécuter le traitement d'un élément vectoriel, comportant: un moyen de maintien consistant en un indicateur "conserver la commande de démarrage" activé en réponse à la commande de démarrage au cours de l'exé10 cution du traitement par ledit circuit de traitement; un moyen de commander "démarrer l'exécution du traitement" répondant à la commande de démarrage pour commander le démarrage de l'exécution du traitement de l'élément vectoriel correspondant si ladite unité 15 de traitement n'est pas en train d'exécuter le traitement; et un moyen de commander le moyen de commander "démarrer l'exécution du traitement" pour démarrer l'exécution du traitement de l'élément vectoriel suivant 20 en réponse à l'achèvement de l'exécution du traitement pendant que ledit moyen de maintien de l'indicateur "conserver la commande de démarrage" est activé et, en même temps, de désactiver ledit moyen de maintien de l'indicateur "conserver la commande de démarrage". 2. Système de traitement vectoriel comportant un circuit multiplicateur répondant à une commande de démarrage d'une multiplication, en provenance de la microprogrammation, pour exécuter la multiplication d'un élément vectoriel, ainsi qu'un circuit d'addition 30 répondant à une commande de démarrage d'une addition, en provenance de ladite microprogrammation, pour exécuter une addition à un élément vectoriel, comportant en outre: un moyen indicateur du type de traitement 35 pour indiquer que le type de traitement vectoriel est SR 3915 JP/ RS 2601792 24 une multiplication-addition; et un moyen de chainage du traitement pour commander l'exécution de l'addition par ledit circuit additionneur en réponse à un signal d'achèvement de 5 la multiplication provenant dudit circuit multiplicateur lorsqu'un traitement de multiplication-addition est indiqué par ledit moyen indicateur du type de traitement. 10 SR 3915 JP/ RS