Brevet FR2585859A1 — publié le 19870206

1- La présente invention concerne une unité de commande d'opérations de masques vectoriels destinée à être utilisée dans un système de traitement de l'infor- mation afin d'exécuter le traitement d'instructions par vecteurs masqués. Pour un système classique de traitement de l'in- formation de ce type, on se reportera au mémoire de la de- mande de brevet américain N 544 674/1983 (correspondant à la description du brevet japonais N 103482/1985) déposé le 20 Juillet 1984 par la société dite International Bu- siness Machines Corporation. Le système décrit par ce brevet comporte une unité centrale de traitement en une unité de traitement par vecteurs. Dans ce système, des bits de masque commandent simplement l'instauration dans le registre de vecteurs et l'empêchement du stockage dans la mémoire principale, mais ne commandent pas l'opération de lecture pour des données d'opérande non requises ou l'inhibition d'opérations arithmétiques.Pour commander cette opération de lecture pour les données d'opérande non requises et l'inhibition d'opérations arithmétiques, ce système doit multiplier, au moment de la génération d'adresses pour les données d'opérande, le nombre d'élé- ments (N) dont les opérations arithmétiques, de charge- ment ou de stockage sont inhibées par l'adresse de la dis- tance entre éléments vectoriels (Vi), c'est-à-dire la va- leur vecteuradresse-incrément (VAI), et par conséquent, cénérer un incrément d'adresse d'opérande (NXVI). Un multiplicateur devant être utilisé pour cette multiplica- tion nécessite cependant un matériel important. Par conséquent, la présente invention a pour ob- jet une unité de commande d'opérations de masques vecto- riels capable de réduire le temps nécessaire pour le trai- tement d'adresses d'opérande pour le masquage vectoriel sans augmenter le volume du matériel. Selon un aspect de la présente invention, on pré- voit une unité de commande d'opérations de masques vecto- riels destinée à être utilisée dans un système de traite- ment de l'information dans le but d'exécuter le traitement des instructions de vecteurs masqués décodées par l'unité de commande d'instructions. L'unité de commande comprend: - un moyen de comptage destiné à compter le nom- bre de bits consécutifs d'inhibition des opérations dans une multitude de bits, chacun masquant l'un de plusieurs opérandes vectoriels donnés sur la base des instructions; - un moyen pour générer une ou deux valeurs d'in- crément d'adresse multipliées par une puissance de 2 par utilisation d'une ou de valeurs comptées par le moyen de compteur; et - un moyen générateur d'adresses pour obtenir des adresses d'opérande par addition des valeurs d'incrément d'adresses multipliées par une puissance de 2 et d'une adresse de vecteur. 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 diagramme d'une unité centra- le de traitement à laquelle la présente invention peut s'appliquer; La figure 2 est un schéma d'un mode de réalisation préféré de l'invention; La figure 3 est un schéma d'un exemple de la struc- ture d'un circuit 114 de commande de masque vectoriel repré- senté en figure 1; La figure 4 est un diagramme d'un exemple de la structure de circuits générateurs multiples de 2n A 115 et B 166 représentés en figure 1; La figure 5 est un diagramme d'un exemple de la structure d'un circuit 102 de commande instruction-vecteur représenté sur la figure 1; La figure 6 est un diagramme permettant de décrire le fonctionnement du mode de réalisation; La figure 7 est un schéma d'un autre exemple de la structure d'un circuit 114 de commande masque-vecteur représenté en figure 1; et La figure 8 est un diagramme d'un autre exemple de la structure de circuits générateurs multiples de 2n 115 et 116 représentés en figure 1. - Dans les dessins, les mêmes numéros de référence représentent respectivement les mêmes éléments structurels. En liaison avec la figure 1, une unité centrale de traitement comprend une unité 22 de commande d'instruc- tions, une unité 21 de commande de mémoire et une unité arithmétique 23. Comme l'unité arithmétique 23 comporte un tampon d'entrée, l'unité 23 de commande d'instructions peut sortir des opérandes non en synchronisme avec l'opération arithmétique. Dans le processus de lecture d'opérande, l'unité 22 de commande d'instructions envoie une adresse d'opérande et une demande d'accès à l'unité 21 de comman- de de mémoire via des lignes de signaux 1 et 2. En répon- se à l'adresse d'opérande et à la demande d'accès en pro- venance de l'unité 22 de commande d'instructions, l'unité 21 de commande de mémoire sort l'opérande soit d'une mémoi- re-tampon soit d'une mémoire principale, et le fournit à l'unité 22 de commande d'instructions et à l'unité arithmé- tique 23 via des lignes de signaux 3 et 4. L'unité 22 de commande d'instructions envoie une instruction décodée ou analogue à l'unité arithmétique 23 via une ligne de signaux 5. Le résultat de l'opération arithmétique indiqué par l'in- formation décodée est fourni par l'unité arithmétique 23 à l'unité 22 de commande d'instructions et à l'unité 21 de commande de mémoire via des lignes de signaux 6 et 7, et les contenus d'un registre à usage général pour le calcul d'adresses et de l'unité de mémoire sont mis à jour. La présente invention s'avérera particulièrement utile dans le cas o des mots d'instructions décodés par l'unité 22 de commande d'instructions sont une instruction vectorielle masquée. Bien que le traitement d'opérandes vectoriels puisse être exécuté soit par l'unité arithmétique 23 soit par un processeur conçu spécialement pour le traitement vectoriel, décrit dans le brevet des Etats-Unis d'Améri- que N 4 128 880, en n'en indiquera pas les détails car ils ne concernent pas directement les points essen- tiels de la présente invention. La figure 2 illustre la structure du calculateur d'adresses d'une unité de commande d'instructions capable de traiter des instructions vectorielles masquées. En liaison avec la figure 2, un mode de réalisa- tion de la présente invention comprend un registre d'ins- tructions 101, un circuit 102 de commande instructions-vec- teur, un fichier 103 de registre à usage général, un regis- tre d'entrée 104, un registre incrément-adresse-vecteur (VAIR) 105, un registre d'adresses de vecteurs 106, un sé- lecteur A 107, un sélecteur B 108, un sélecteur C 109, un additionneur d'adresses 110, un registre 111 de masques vec- toriels, un circuit d'alignement de positions de chiffres 112, un compteur de bits de masque consécutifs 113, un cir- cuit de commande de masques vectoriels 114, et des circuits générateurs multiples de 2 A 115et B 116. L'unité 22 de com- mande d'instructions stocke dans le registre 106 d'adresses vectorielles la 0-ème adresse d'élément (VH) de chaque opé- rande vectoriel obtenu par adressage direct ou indirect, et en même temps stocke la valeur VAI (VI) de chaque opérande vectoriel dans le registre VAIR 105. Cette opération s'ap- plique au premier opérande vectoriel, au second opérande vectoriel et au troisième opérande vectoriel d'une instruc- tion vectorielle, sauf toutefois aue, dans le cas o l'ins- truction vectorielle ne nécessite pas les second et troisiè- me opérandes vectoriels ou l'un ou l'autre de ces opérandes, elle s'appliqueseulement à l'opérande ou aux opérandes vec- toriels nécessaires à l'exécution de l'instruction. Le pré- sent mode de réalisation suppose un ensemble d'instructions, dans lequel la O-ème adresse d'élément (VH) de chaque opé- rande vectoriel ainsi que la valeur VAI (VI) de chaque opé- rande vectoriel sont indiquées dans les mots d'instruction. En liaison maintenant avec la figure 1 ainsi qu'avec la figure 2, l'information sur le calcul d'adresse dans les mots d'instructions sortis de l'unité 21 de comman- de de mémoire est instaurée dans le registre d'instructions 101. Sur la base de cette information sur le calcul d'adres- se, un index et une valeur de base sont sortis du registre à usage général 103. Une adresse produite dans l'addition- neur d'adresse 110 sur la base de ces index et valeur de base ainsi qu'un déplacement désigné directement dans les mots d'instruction est instaurée dans le registre 106 d'adresses vectorielles. A ce moment la, bien qu'une adres- se soit produite, aucune demande d'accès en mémoire n'est sortie. Simultanément, la valeur VAI (VI1) de l'opérande vec- toriel dans les mots d'instruction est instaurée dans le re- gistre d'entrée 104, et transférée au registre VAIR 105 cor- respondant au registre 106 d'adresses vectorielles. Cette opération se répète autant de fois qu'il y a d'opérandes vectoriels, et la 0-ème adresse d'élément (VH) de chaque opérande vectoriel et la valeur VAI (VI) de chaque opéra- tion vectorielle sont instaurées dans le registre 106 d'adresses vectorielles et le registre VAIR 105. Un mot de masque provenant soit d'une unité de mémoire (non représen- tée) soit de l'unité 21 de commande de mémoire est égale- ment instauré, sur la base de l'information sur le calcul d'adresse dans les mots d'instruction, dans le registre 111 de masques vectoriels via le registre d'entrée 104. Dans ce mode de réalisation particulier, on suppose que, lorsque le mot de masque est "0", l'opération est inhibée. Le mot de masque instauré dans le registre 111 de masques vecto- riels passe dans le circuit 112, et est entré dans le comp- teur 113. Le circuit 112 fait varier le nombre de positions de chiffres devant être alignées sous la commande du circuit 114. En liaison avec la figure 3, le circuit 114, qui commande le nombre de positions de chiffres devant être ali- gnées, provoque le décalage vers la gauche par le circuit 112 représenté en figure 1, suivant la valeur donnée par un registre 304 de comptage de masque afin d'obtenir l'aligne- ment de la position des chiffres. Le circuit 112 comporte un circuit intrinsèque (non représenté) qui remplace de fa- çon coercitive le bit de poids fort de la sortie par "O" sauf dans le cas o les comptages du registre 304 et une bascule de drapeau d'achèvement 307 sont tous "O". Le cir- cuit intrinsèque est destiné à satisfaire les conditions suivantes. Tout d'abord, on suppose le cas o le masque est, par exemple, "11010". Un traitement de masque est dé- marré, le compteur 113 sort "0" car le circuit 112 est dé- calé vers la gauche de O bit. Il en résulte que "0" est stocké dans le registre 304 de comptage de masque, un re- gistre de sélection 305 et un registre de sélection 307. "1" est chargé dans la bascule 307. Il en résulte que l'ad- ditionneur d'adresses 110 représenté en figure 1 exécute le calcul d'adresses suivant: VH + 0VI + OVI = VH, accédant à la 0-ème adesse d'élément (VH) de l'opérande vectoriel. Il en résulte que, dans le calcul suivant d'adresse aussi, "0" est chargé dans le registre 304 illustré en figure 3, et le circuit 112 est décalé vers la gauche de O bit, ce qui se traduit par la répétition de la même opération que précédem- ment. Pour éviter cette répétition, des bits de masque cor- respondant aux éléments déjà traités doivent être réinstau- rés. Ainsi, le O-ème bit de la sortie du circuit 112 d'ali- gnement des positions de chiffres, ou bit le plus à gauche, est remplacé de manière coercitive par "0". Il ne doit pas être remplacé de manière coercitive par "0" seulement lors- que le 0-ème bit du registre 111 de vecteurs de masque, ou extrémité gauche, doit être traité. Par conséquent, ce n'est que lorsque les comptages du registre 304 des compta- ges de masque et le contenu de la bascule de drapeau d'achè- vement sont tous "0", c'est-à-dire au commencement seulement, qu'une opération est exécutée pour rendre effectif le 0-ème bit, ou bit le plus à gauche de la sortie du circuit 112. Tout d'abord, "0" est chargé dans le registre 304, et la valeur même du registre 111 de masques vectoriels est sortie du circuit 112. Cette sortie est appliquée au compteur 113, qui sort alors le nombre de bits consécutifs de masque. Ainsi, le compteur 113 sort, en tant que nombre d'éléments sur lesquels l'opération est consécutivement inhibée, le nombre de "0" consécutifs à partir de la gauche dans le nom- bre fourni par le registre 111. Un tel compteur 113 est cons- 3C titué d'un codeur de priorité. Le nombre de bits consécutifs de masque fourni de cette manière étant représenté par N, l'adresse de l'élément d'opérande vectoriel devant être traitée ensuite est donnée par la formule de la 0-ème adres- se d'élément (VH) de l'opérande vectoriel + le nombre de bits consécutifs de masque (N) x la valeur VAI (VI) de l'opé- rande vectoriel. Ici, on peut représenter N par la somme de puissances de 2. Quand N est "6" par exemple, 6VI = 22Vi + 21VI. Par conséquent, on peut obtenir la valeur NxV par l'utilisation de circuits générateurs multiples de 2. Dans ce mode de réalisation, on utilise les circuits A 115 et B 116, illustrés en figure 4, comme exemples de ces circuits générateurs multiples. En liaison maintenant avec la figure 4, le cir- cuit A 115 peut choisir l'un d'un registre à décalage ayant une fonction de décalage vers la gauche de 2 bits (x 4), d'un registre à décalage ayant une fonction de décalage vers la gauche de 3 bits (x 8), d'un registre à décalage ayant une fonction de décalage vers la gauche de 4 bits (x 16) et d'un registre à décalage ayant une fonction de décalage vers la gauche de 5 bits (x 32), et sort "0" lors- qu'il ne choisit aucun d'entre eux. Le circuit B 116 peut choisir l'un ou l'autre d'un registre à décalage ayant une fonction de décalage vers la gauche de 1 bit (x 2) ou d'un registre ayant une fonction de décalage vers la gauche de 0 bit (x 1), et sort "0" lorsqu'il ne choisit aucun d'eux Cependant, dans cette structure il est impossible de sélectionner simultanément le registre à décalage ayant une fonction de décalage vers la gauche de 2 bits (x 4) et ce- lui ayant une fonction de décalage vers la gauche de 4 bits (x 16) ni le registre à décalage ayant une fonction de dé- calage vers la gauche de 1 bit (x 2) ni celui ayant la fonc- tion de décalage vers la gauche de 0 bit (x 1). Par consé- quent, par l'utilisation d'un circuit logique 301 illustré en figure 3, l'agencement est tel que, dans les circuits A 115 et B 116, aucune combinaison empêchant une sélection simultanée ne peut se produire soit dans le groupe du regis- tre à décalage ayant la fonction de décalage vers la gauche de 2 bits (x 4), de celui ayant une fonction de décalage vers la gauche de 3 bits (x 8) , de celui ayant une fonction de décalage vers la gauche de 4 bits (x 16), de celui ayant une fonction de décalage vers la gauche de 5 bits (x 32) et le circuit de sortie "O", soit dans le groupe des registres à décalage ayant une fonction de décalage vers la gauche de 1 bit (x 2), la fonction de décalage vers la gauche de O bit (x 1) et le circuit de sortie "0". Par ailleurs, s'il n'y a essentiellement aucune combinaison empêchant une sélection simultanée, un circuit logique 302 représenté en figure 3 est utilisé pour détec- ter l'absence d'une telle combinaison, et la bascule de drapeau d'achèvement 307 est chargée. Lorsque N est "27" par exemple, 27VI = 24Vi + 23VI + 21Vi + 20Vi. A ce moment là, la combinaison du registre à décalage ayant la fonc- tion de décalage vers la gauche de 4 bits (x 16) et du re- gistre ayant la fonction de décalage vers la gauche de 3 bits (x 8) ne peut être choisie simultanément par le cir- cuit A 115. La sélection de la combinaison du registre à décalage ayant la fonction de décalage vers la gauche de i bit (x 2) et du registre ayant la fonction de décalage vers la gauche de O bit (x 1) ne peut être non plus choisie simultanément par le circuit B 116. Comme le circuit 112 sortie "27" ou "011011" dans un nombre binaire, le circuit logique 301 sort "18" ou "010010" dans un nombre binaire de sorte que ni la combinaison du registre à décalage ayant la fonction de décalage vers la gauche de 4 bits (x 16) et du registre ayant la fonction de décalage vers la gauche de 3 bits (x 8) ni la combinaison du registre à décalage ayant la fonction de décalage vers la gauche de 1 bit (x 2) et du registre ayant la fonction de décalage vers la gauche de 0 bit (x 1) ne peut survenir. Le circuit logique 302 vé- rifie si oui ou non il y a dans la sortie du compteur 113 une combinaison empêchant une sélection simultanée de re- gistres à décalage par soit le circuit A 115 soit le cir- cuit B 116. Dans ce cas, étant donné que ni la combinaison du registre à décalage ayant la fonction de décalage vers la gauche de 4 bits (x 16) et du registre ayant la fonction de décalage vers la gauche de 3 bits (x 8), ni la combinai- son du registre à décalage ayant la fonction de décalage vers la gauche de 1 (x 2) et du registre ayant la fonc- tion de décalage vers la gauche de 0 bit (x 1) ne peut être choisie simultanément, "0" est sélectionné et sorti. De nouveau en liaison avec la figure 3, la sor- tie du circuit logique 301 et celle du registre 304 de comptage de masque sont additionnées par un additionneur 303, et le résultat de l'addition est entré dans le regis- tre 304. Parallèlement à cette addition, la sortie du cir- cuit logique 301 est stockée dans un registre de sélection A 305 et un registre de sélection B 306. Dans cet exemple, un nombre binaire "0100" est stocké dans le registre A 305, et un autre nombre binaire "10", dans le registre B 306. En même temps que cette opération de stockage, la sortie du circuit logique 302 charge la bascule 307. Dans ce cas, "0" est chargé dans la bascule 307. En liaison avec la figure 6, le circuit A 115 de la figure 1 choisit le registre à décalage ayant une fonc- tion de décalage vers la gauche de 4 bits (x 16), de la fi- gure 4, conformément à la valeur du registre A 305 repré- sentée en figure 3, et sort le résultat du traitement de 16 x la valeur VAI (VI) du vecteur. En même temps, le cir- cuit B 116, représenté en figure 1, choisit le registre à décalage ayant la fonction de décalage vers la gauche de 1 bit (x 2) de la figure 4 conformément à la valeur du regis- tre A 306 représenté en figure 3, et sort le résultat du traitement de 2 x la valeur VAI (VI) du vecteur. De nouveau en liaison avec la figure 1, en répon- se à une instruction par le circuit 102 de commande d'ins- tructions vectorielles, la sortie du registre 106 d'adresses vectorielles, c'est-à-dire la 0-ème adresse d'élément (VH) de l'opérande vectoriel est choisie par le sélecteur 107; la sortie du circuit A 115, c'est-à-dire 16 x la valeur VAI (VI) du vecteur, est choisie par le sélecteur 108, et la sor- tie du circuit B 116, c'est-à-dire 2 x la valeur VAI (VI) du vecteur, est choisie par le sélecteur 109. Ces valeurs choisies sont additionnées par l'additionneur d'adresses , et le résultat VH + 18VI est sorti. Ce résultat de l'addition est un résultat intermédiaire, et est chargé dans le registre 106 d'adresses vectorielles dans lequel VH a été chargé. De cette manière, l'addition est appli- quée à chaque opérande vectoriel. Maintenant, selon la valeur du registre 304 de comptage de masque représenté en figure 3, le circuit 112 représenté en figure 1 est décalé de 18 bits vers la gau- che. En réponse à cette sortie, le compteur 113 sort "27"- "18" = "9". Cette sortie "9", ou "001001" dans un nombre binaire, passe telle quelle dans le circuit logique 301 représenté en figure 3, car il n'y a aucune combinaison empêchant une sélection simultanée dans le circuit A 115 ou le circuit B 116,une valeur "27" est chargée dans le re- aistre 304; un nombre binaire "0010" est chargé dans le registre A 305, et un nombre binaire "01" est chargé dans le registre B 306. En même temps, la sortie "1" du circuit logique 302 est chargée dans la bascule 307, et sortie. Dans le circuit A 115, 8 x la valeur VAI (VI) est obtenue suivant l'instruction donnée par la sortie du re- gistre de sélection A 305, alors que dans le circuit B 116, on obtient 1 x la valeur VAI (VI) selon l'instruction don- née par la sortie du registre de sélection B 306. A partir du registre 106 d'adresses vectorielles, la valeur précédem- ment instaurée VH + 18VI est fournie. La sortie 8 x VI du circuit A 115, la sortie 1 x VI du circuit B 116 et la sor- tie VH + 18VI du registre 106 sont envoyées à l'additionneur d'adresses 116 pour y être additionnées. Le résultat de l'addition VH + 27VI est chargé dans le registre 106 à ti- tre d'adresses d'opérande et en même temps fourni à l'uni- té 16 de commande de mémoire. Cependant, cette fois-ci, la différence par rapport à la dernière fois est que la deman- de lue est "1". La demande de lecture de mémoire, ainsi que la sortie de la bascule 307, est préparée par le circuit 102 de commande d'instructions vectorielles. En liaison maintenant avec la figure 5, le cir- cuit 102 comprend un décodeur d'instructions 501 pour déco- der des codes opération et sortir le nombre d'opérandes vec- toriels et analogue; un registre 502 de comptage d'opérandes pour instaurer le nombre d'opérandes envoyés par le déco- deur 501; un registre 509 d'adresses lues pour désigner le nombre lu du registre 106 d'adresses vectorielles de la fi- gure 1, et un registre 510 d'adresses d'écriture pour dési- gner le nombre écrit du registre 106. Le registre 509 pro- cède à un comptage à partir de "0", et le registre 510 est utilisé en réponse à la valeur du registre 509. Si la valeur du registre 509 et le nombre d'opérandes vectoriels charges dans le registre 502 sont trouvés identiques par un circuit 504 de détection d'identité, un sélecteur 508 choisira "0", et "0" sera instauré dans le registre 509. En même temps, un signal d'identité provenant du circuit 504 est appliqué à une bascule 503 de drapeau d'instructions-vecteur-masqué comme signal de charge. Dans la bascule 503 est chargée une information provenant du décodage par le décodeur d'instruc- tions 501 pour trouver si oui ou non l'instruction dans le registre 101 représenté en figure 1 est une instruction vec- torielle masquée. En réponse à la sortie "1" de la bascule 503, le sélecteur A 107, un sélecteur B 108 et un sélecteur C 109 représentés en figure 1 choisissent les sorties du re- gistre 106 d'adresses vectorielles, le circuit A 115 et le circuit B 116, respectivement. Comme l'identité entre la sortie du registre 509 et celle du registre 510, tous deux représentés en figure 5, est détectée par un circuit 511 de détection d'identité, la sortie du circuit 511 donne comme ins- tructions la sélection de la sortie de l'additionneur d'adres- ses 110 en figure 1 par le sélecteur A. Il s'agit là d'une fonction permettant un calcul continu d'adresses quand il n'y a qu'un opérande vectoriel. * La sortie de la bascule 307 de drapeau d'achève- ment représentée en figure 3, dans le circuit 114 représen- té en figure 1, et celle de la bascule 503 de drapeau d'ins- tructions vectorielles masquées sont soumises à une opéra- tion ET et le produit logique est chargé dans une bascule 506 de drapeaide demande de mémoire, dont la sortie est envoyée en tant que demande d'accès en mémoire à l'unité 21 de com- mande de mémoire de la figure 2 en même temps qu'une adres- se. De cette manière, on obtient les calculs d'adresses d'éléments vectoriels dont l'opération arithmétique n'est pas inhibée et l'accès à la mémoire est ainsi rendu possible. Maintenant, en supposant que le nombre (N) de bits consécutifs de masque est "30", on décrira les opérations des circuits A 115 et B 116 illustrés en figure 4. Tout d'abord, dans le circuit A 115 un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 4 bits (x 16) pour produire 24VI. En même temps, dans le cir- cuit B 116, un registre à décalage est choisi qui a la fonc- tion de décalage vers la gauche de 1 bit (x 2) afin de pro- 1 4 1 duire 21VI. Les valeurs 24Vi1 et 21VI et la 0-ème adresse d'élément (VH) de l'opérande vectoriel sont ajoutées par l'additionneur d'adresses 110 de la figure 1 afin de pro- duire le résultat de l'addition: VH + 16VI + 2VI. Cette va- leur est utilisée dans la seconde addition comme premier résultat intermédiaire.Ensuite, dans le circuit 115 illus- tré en figure 4, un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 3 bits (x 8) afin de produire 23VI. En même temps, dans le circuit B 116, un "0" est produit car aucun de ses registres à décalage n'est À choisi. Les valeurs 23VI et 0, et le premier résultat inter- médiaire VH + 16VI + 2V1 sont additionnés ensemble par l'additionneur 110 représenté en figure 1 afin de produire le résultat de l'addition: VH + 16VI + 8VI + 2VI. Cette valeur est utilisée dans la troisième addition à titre de second résultat intermédiaire. Alors dans le circuit A 115 illustré en figure 4, un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 2 bits (x 4) afin de produire 22VI. En même temps, dans le circuit B 116, "0" est produit car aucun de ses registres à décalage n'est choisi. Les valeurs 4VIet 0, et le second résultat inter- médiaire VH + 16VI + 8VI + 2VI sont ajoutés ensemble par l'additionneur 110 représenté en figure 1 afin de produire le résultat de l'addition: VH + 16VI + 8VI + 4VI + 2VI. Ce résultat est égal à VH + 30VI, qui est le résultat sou- haité pour l'addition, mais cela nécessite trois additions car le circuit B 116 ne comporte aucun registre à décalage ayant la fonction de décalage de deux bits ou plus. On décrira maintenant en détail un cas dans lequel le calcul de 30VI, qui a nécessité trois additions avec le circuit représenté en figure 4, peut être obtenu avec deux additions. En liaison avec la figure 8, dans un autre exemple du circuit A 115, on peut choisir l'un des registres à décala- ces suivants: un registre ayant la fonction de décalage vers la gauche de 0 bit (x 1), un registre ayant la fonction de décalage vers la gauche de 1 bit (x 2), un registre ayant une fonction de décalage vers la gauche de 2 bits (x 4),. un re- gistre ayant la fonction de décalage vers la gauche de 3 bits (x 8) et un registre ayant une fonction de décalage vers la gauche de 5 bits (x 32), et "0" est sorti lorsqu'aucun d'en- tre eux n'est choisi. Par ailleurs, dans un autre exemple du circuit B 116, on peut choisir l'un des registres à déca- lage suivants: un registre ayant une fonction de décalage vers la gauche de 0 bit (x 1), un registre ayantune foncticn de décalage vers la gauche de 1 bit (x 2), un registre ayant une fonction de décalage vers la gauche de 2 bits (x 4), un registre ayant une fonction de décalage vers la gauche de 3 bits (x 8) et un registre ayant une fonction de décalage vers la gauche de 4 bits (x 16), et "0" est sorti lorsqu'au- cun d'entre eux n'est choisi. On décrira maintenant ci-après comment le nombre de bits consécutifs de masque 30 est calculé en employant le circuit illustré en figure 8. Tout d'abord, dans le circuit A 115, un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 3 bits (x 8) pour produire 23VI. En même temps, dans le circuit B 116, un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 4 bits (x 16) pour produire 24VI. Les valeurs 23V et 24V et la 0-ême adresse d'élément (VH) de l'opérande vectoriel sont ajou- tées ensemble par l'additionneur d'adresses 110 de la figu- re 1 afin de produire le résultat de l'addiỉon: VH + 8VI + 16VI. Cette valeur est utilisée dans la seconde addition à titre de premier résultat intermédiaire. Ensuite, dans le circuit A 115, un registre à décalage est choisi qui a la fonction de décalage vers la gauche de 2 bits (x 4) afin de produire 22VI. En même temps, dans le registre de décala- ge B 116, un registre à décalage est choisi qui a la fonc- tion de décalage vers la gauche de 1 bit (x 2) afin de pro- duire 2iVI. Les valeurs 22VI et 21VI, et le premier résul- tat intermédiaire VH + 16VI + 8VI sont ajoutés pour produi- re le résultat de l'addition: VH + 16VI + 8VI + 4VI + 2Vi. Cela est égal à VH + 30VI, résultat souhaité de l'addition, ce résultat étant obtenu avec deux additions seulement dans le circuit de la figure 8. Le circuit 114 de commande de masques vectoriels de la figure 4 nécessite, dans cette façon de sélectionner un registre à décalage, la structure illustrée en figure 3. La différence principale entre le circuit repré- senté en figure 3 et celui de la figure 7 réside dans les circuits logiques 301 et 302. Cela est dl à la différence dans la composition des secteurs entre les circuits A 115 et B 116 de la figure 8 d'une part et les circuits correspon- dants de la figure 4 d'autre part. Comme on l'a décrit précédemment, la présente in- vention peut traiter des instructions de vecteurs masqués dans le but de ne pas exécuter une lecture inutile ou une opération arithmétique d'opérandes correspondant à des bits d'inhibition de masque en fournissant un moyen permet- tant de produire un ou deux multiplex de valeurs incrémen- tielles d'adresses vectorielles par une puissance de 2 grâ- ce à l'utilisation de valeurs comptées. Il en résulte qu'on peut obtenir un traitement efficace d'instructions vecto- rielles masquées. De plus, l'ensemble de la structure de- vient plus simple, car aucun multiplicateur spécial n'est nécessaire. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrit, elle est au contraire susceptible de modifications et de varian- tes qui apparaîtront à l'homme de l'art. REVENDICATIONS 1. Unité de commande d'opérations de masques vec- toriels pour emploi dans un système de traitement de l'in- formation afin d'exécuter le traitement d'instructions vec- torielles masquées, décodées par une unité de commande d'ins- tructions, caractérisée en ce qu'elle comprend: - un moyen de comptage (113) pour compter le nom- bre de bits consécutifs d'inhibition d'opérations dans une multitude de bits, chacun masquant l'un d'opérandes vecto- riels multiples, donnés sur la base desdites instructions; - des moyens (115; 116) pour générer une ou deux valeurs incrémentielles d'adresses multipliées par une puis- sance de 2 grâce à l'utilisation d'une ou de valeurs comptées par le moyen de comptage; et - un moyen générateur d'adresses (110) pour obte- nir des adresses d'opérande par addition des valeurs incré- mentielles d'adresses multipliées par une puissance de 2, et une adresse vectorielle.