Brevet FR2472784A1 — publié le 19810703

La présente invention se rapporte au domaine des dispositifs de traitement de données, et concerne plus par- ticulièrement un processeur en parallèle, de grande puissan- ce, susceptible de traiter d'importants volumes de données, d'une manière rapide et peu coûteuse. Actuellement, on demande aux processeurs de données d'être capables de traiter d'importants volumes de données, arithmétiquement et logiquement en de courtes périodes, dans le but de corriger constamment des résultats déjà obtenus ou, en variante, de surveiller de larges domaines dans lesquels des données peuvent être ac- quises et avec lesquelles des corrélations doivent être établies. A, titre d'exemple, il est actuellement question de mettre sur orbite des capteurs d'images qui peuvent émettre des données avec des débits allant juqu 'à 1013 bits par jour. Dans le but d'extraire des informations utiles de la masse des données obtenues, avec un tel dispo- sitif de formation d'image, différentes taches de traite- ment d'image sont nécessaires, par exemple des corrections géométriques, des corrélations, des positionnements d'images, des sélections de caractéristiques, des classifications mul- ti-spectrales et des mesures de surface. Il faut s'attendre à ce que la charge de travail pour un dispositif de traite- ment de données utilisé conjointement avec de tels capteurs d'image en orbite se situe entre 109 et 1010 opérations par seconde. 1 Il existe déjà, depuis plusieurs années, des dispo- sitifs de traitement à grande vitesse et des processeurs en parallèle très élaborés susceptibles de traiter simulta- nément un grand nombre de données. Par exemple, lesBrevets des Etats Unis d'Amérique NO 3 800 289, 3 812 847 et 3 936 806 décrivent tous une structure permettant d'augmen- ter considérablement la puissance de traitement de données des calculateurs numériques. De même, le Brevet des Etats Unis d'Amérique NO 3 863 233 décrit particulièrement un élément de traitement de données pour un processeur associa- tif ou en parallèle qui augmente également la vitesse de traitement des données, grâce à l'introduction de plusieurs 247278-4 unités arithmétiques, une pour chaque mot, de la matrice de mémoire. Cependant, même les plus grands progrès dans ces techniques antérieures n'offrent pas la possibilité de traiter à bas prix l'important volume de données men- tionné ci-dessus. Un dispositif de la nature souhaitée doit comporter des milliers d'éléments de traitement avec chacun son. propre circuit arithmétique et logique fonctionnant conjointement avec sa propre mémoire, tout en ayant la pos- sibilité de communiquer avec d'autres éléments de traite- ment similaires à l'intérieur de l'ensemble, La vitesse imposée doit être atteinte avec des milliers de ces élé- ments de traitement fonctionnant simultanément (parallèlis- me massif). En outre, étant donné que les images courantes prises par satellite contiennent des millions d'éléments d'image qui peuvent généralement être traités en même temps, une structure de ce genre se prête bien à la solution du problème précité. Dans un ensemble susceptible de traiter un grand volume de données, massivement en parallèle, le plus sou- haitable pour des raisons de prix est d'effectuer des opé- rations mathématiques sur les bits en série. Cependant, pour augmenter la vitesse dans le calcul bit par bit, il est plus souhaitable de disposer d'un registre à décalage de longueur variable pour recevoir des mots de longueurs différentes. En outre, il est souhaitable que la matrice massive des éléments de traitement soit capable de commu- niquer les données qui peuvent être déplacées entre au moins des éléments de traitement voisins.Il est en outre souhaitable que chaque élément de traitement soit capable d'effectuer toutes les opérations booléennes possibles en- tre deux bits de données et que chacun de ces éléments de traitement comporte sa propre mémoire à accès direct. De plus, pour qu'un tel dispositif soit efficace, il convient qu'il comprenne un dispositif de court-circuit des éléments de traitement ne fonctionnant pas ou fonctionnant mal sans diminuer pour autant l'intégrité de l'ensemble. Ainsi, un objet de l'invention est de proposer plusieurs éléments de traitement pour un processeur à ma- trice en parallèle dans lequel chaque élément comporte un registre à décalage de longueur variable, au moins pour faciliter les opérations arithmétiques. Un autre objet de l'invention est de proposer plu- sieurs éléments de traitement pour un processeur à matrice en parallèle dans lequel chacun des éléments de traitement peut communiquer avec au moins certains éléments de traite- ment voisins. Un autre objet encore de l'invention est de propo- ser plusieurs éléments de traitement pour un processeur à matrice en parallèle dans lequel chaque élément de traite- ment peut effectuer des calculs mathématiques sur des bits en série. Un autre objet de l'invention est de proposer plu- sieurs éléments de traitement pour un processeur à matrice en parallèle dans lequel chaque élément de traitement peut exécuter toutes les opérations booléennes pouvant être exé- cutées entre deux bits de données binaires. Un autre objet encore de l'invention est de propo- ser plusieurs éléments de traitement pour un processeur à matrice en parallèle dans lequel chaque élément de traite- ment comporte sa propre mémoire et sa propre ligne omnibus de données. Un autre objet encore de l'invention est de propo- ser plusieurs éléments de-traitement pour un processeur à matrice en parallèle dans lequel certains des éléments de traitement peuvent être court-circuités lorsqu'ils fonc- tionnent mal ou ne fonctionnent pas, -sans que ce court-cir- cuit nuise à l'intégrité de l'ensemble. Un autre objet encore de l'invention est de propo- ser plusieurs éléments de traitement pour un processeur à matrice en parallèle permettant de traiter à bas prix un grand nombre de données, d'une manière efficace dans le temps. Ce résultat, ainsi que d'autres, sont obtenus grâce à une matrice de plusieurs éléments de traitement inter- connectés entre eux, chaque élément de traitement comprenant une mémoire, un additionneur et un dispositif de communica- tion connecté aux éléments de traitement voisins dans la matrice et connecté également à l'additionneur et à la mé- moire pour transférer des données entre la mémoire, 3'.addi- tionneur et les éléments de traitement voisins. D'autres caractéristiques et avantages de l'inven- tion apparaîtront au cours de la description qui va suivre. Aux dessins annexés, donnés uniquement à titre d'exem- ple nullement limitatif: La Figure 1 est un schéma simplifié d'un dispositif de traitement massif en parallèle selon l'invention, mon- trant l'interconnexion de l'unité de matrice constituée par des éléments de traitement, la Figure 2 est un schéma simplifié d'un élément de traitement constituant un bloc de base de l'unité de ma- trice de la Figure 1, les Figures 3A, 3B, 3C constituent ensemble un schéma du circuit générateur de signaux de commande des éléments de traitement sur une pastille, et comprenant les circuits pyramidaux de somme, OU, et de parité, la Figure 4 est un schéma déta-illé du circuit fonda- mental d'un élément de traitement selon l'invention, les Figures 5A et 5B forment un schéma du circuit de commutation utilisé pour éliminer de l'unité de matrice un élément de circuit qui ne fonctionne pas ou qui fonc- tionne mal. Les figures, et plus particulièrement la Figure 1, représentent donc un processeur de traitement massif en parallèle, désigné globalement par la référence 10. Un élément essentiel du processeur 10 est l'unité de matrice 12 qui, dans un mode de réalisation de l'invention, con- siste en une matrice de 128 x 128 éléments de traitement, soit au total 16 384 éléments qui seront décrits en détail par la suite. L'unité de matrice 12 reçoit des données par son côté gauche et émet des données par son côté droit, sur 128 lignes en parallèles La fréquence maximale de transfert des colonnes de données à 128 bits est 10 MHz pour une lar- geur de bande maximale de 1280 millions de bits par seconde. L'entrée, la sortie ou les deux peuvent se faire simultané- ment avec le traitement. Des commutateurs électroniques 24 sélectionnent l'entrée de l'unité de matrice 12 depuis l'interface 15 à 128 bits du processeur 10, ou depuis le registre d'en- trée 16. De même, la sortie de la matrice 12 peut être aiguillée vers l'interface de sortie 13 à 128 bits du pro- cesseur 10, ou vers le registre de sortie 14 par les commu- tateurs 26. Les commutateurs 24, 26 sont commandés par le programme et l'unité 18 de gestion de données, à la com- mande d'un programme approprié. Des signaux de commande de l'unité de matrice 12 et des bits d'état provenant de l'unité de matrice peuvent être connectés à l'interface de commande extérieure du processeur 10 ou l'unité de commande de matrice 20. Ce transfert est effectué par des commuta- teurs électroniques 22 qui sont commandés par le programme de l'unité 18. L'unité 20 de commande de matrice aiguille les signaux de commande et les adresses de mémoire vers tous les éléments de traitement de l'unité de matrice 12 et en reçoit des bits d'état. Elle est conçue pour effectuer des opérations de servitude, par exemple des calculs d'adresse, des commandes de boucle, des branchements, des appels de sous-programme, etc. Elle fonctionne simultanément avec la commande des éléments de traitement de manière que toute la puissance de traitement de ces éléments constituant l'unité de matrice 12 puisse être appliquée aux données à traiter. L'unité de commande 20 comporte trois unités de commande séparées, l'unité de commande d'éléments de traite- ment exécute des programmes de traitement de vecteursmicro- codés et commande les éléments de traitement et leurs mé- moires associées,l'unité de commande d'entrée/sortie comman- de le décalage des données dans-l'unité de matrice 12; et l'unité de commande principale exécute les programmes d'ap- plication, effectue le traitement interne de mise à l'échel- le, et sollicite l'unité de commande des éléments de traite- ment pour tous les traitements de vecteur. L'unité 18 de gestion de programme des données gère la circulation des données entre les unités du processeur , charge les programmes dans l'unité de commande 20, exé- cute les sous-programmes d'essai et de diagnostic et offre des possibilités de développement de programme. Les détails de cette structure ne sont pas importants pour comprendre l'invention, mais il y a cependant lieu de noter que l'uni- té 18 peut être facilement constituée par un mini-calculateur tel que le PDP-11/34 de Digital Equipment Corporation avec des circuits d'interface vers l'unité de commande 20, l'uni- té de matrice 12 (registres 14, 16) et l'interface de cal- culateur extérieur 17. D'une manière bien connue, l'unité 18 peut aussi comporter un équipement périphérique, par exemple un dérouleur 28 de bande magnétique, des disques , une imprimante 32 ligne par ligne et un terminal alpha- numérique 34. La structure illustrée par la Figure 1 permet d'appré- cier l'ensemble d'un dispositif selon l'invention, et il est bien évident que les détails ne sont pas nécessaires. Il suffit de noter pour le moment que l'unité de matrice 12 constitue l'essentiel de ce qui sera décrit en détail par la suite, et que cette matrice comporte un grand nombre d'éléments de traitement interconnectés entre eux avec cha- cun sa propre mémoire locale, pouvant effectuer chacun des opérations. arithmétiques ainsi que des opérations booléennes et pouvant en outre communiquer avec au moins les éléments de traitement voisins orthogonalement de chaque côté qui seront désignés ci-après par Nord, Sud, Est et Ouest. La Figure 2 représente particulièrement un élément individuel de traitement, désigné globalement par la réfé- rence 36. L'élément de traitement lui-même comporte un re- gistre P 38 qui, avec son circuit logique d'entrée 40, rem- plit toutes les fonctions logiques et d'acheminement pour l'élément de traitement 36. Les registres A, B et C, 42 à 46, le registre à décalage 48 à longueur variable et le circuit logique associé de l'additionneur 50 constituent en- semble l'unité arithmétique de l'élément de traitement 36. Le registre G 52 est prévu pour commander le masquage des opérations arithmétiques et logiques tandis que le registre S 54 est utilisé pour décaler des données dans l'élément de traitement 36 et depuis cet élément, sans en perturber le fonctionnement. Enfin, les éléments précités-sont con- nectés à une mémoire unique 56 à accès direct associée au moyen d'une ligne omnibus bidirectionnelle de données 58. Dans ce mode de réalisation, l'élément de traite- ment 36 est réduit par intégration poussée à des dimensions telles qu'une seule pastille peut en contenir huit, avec le circuit pyramidal de parité, un circuit de somme et de com- binaison OU, et un circuit de décodage de commande associé. Dans le présent mode de réalisation, les huit éléments de traitement d'une pastille sont disposés en deux rangées et quatre col-onnes. Etant donné que la capacité des mémoires à accès direct actuellement disponibles en intégration poussée change rapidement, il est préférable que la mémoire 56, bien que constituant une partie de l'élément de traite- ment 36, soit maintenue séparée du circuit intégré de l'élé- ment de manière que lorsque la technologie le permettra, de plus grandes mémoires pourront être incorporées avec les éléments de traitement sans modifier la conception de l'en- semble. La ligne omnibus de données 58 est le circuit prin- cipal de circulation des données pour l'élément de traite- ment 36. Pendant chaque cycle de machine, il peut transférer un bit de données de l'une quelconque de six sources vers une ou plusieurs destinations. Les sources comprennent un bit lu à la position adressée de la mémoire à accès direct 56, l'état des registres P, C, P ou S, ou l'état de la fonc- tion d'équivalence émise par l'élément 60 et indiquant l'état d'équivalence entre les sorties des registres P et G. La fonction d'équivalence est utilisée comme une source pen- dant une opération d'inversion masquée. Les destinations d'un bit de données sur la ligne omnibus 58 sont la position adressée de la mémoire à accès direct 56, les registres A, G ou S, le circuit logique as- socié avec le registre P, l'entrée du circuit pyramidal de somme et de combinaison OU, et l'entrée du circuit pyrami- dal de parité. Avant la description du circuit détaillé de l'élé- ment de traitement 36, il y a lieu d'examiner les figures 3A, 3B et 3C représentant le circuit 62 générateur de signaux de commande des éléments de traitement. Le circuit des figures 3A, 3B, 3C est formé dans une pastille de cir- cuit d'intégration poussée qui contient huit éléments de traitement, et il a pour tache de commander les éléments associés. Pour l'essentiel, le circuit des figures 3A, 3B, 3C comporte un circuit de décodage qui reçoit des signaux de commande sur les lignes LO-LF à la commande d'un pro- gramme et qui convertit ces signaux en signaux de commande K1-K27 pour les appliquer aux éléments de traitement 36, au circuit de somme et de combinaison OU et au circuit de parité. En outre, le circuit des Figures 3A, 3B, 3C produit à partir du signal principal d'horloge de l'ensemble, tou- tes les autres impulsions d'horloge qui sont nécessaires pour la commande des éléments de traitement 36. Il est facile de déduire des circuits de la Figure 3 la relation entre la fonction d'entrée programmée sur les lignes LO-LF et les signaux de commande K1-K27. Par exemple, les inverseurs 64, 66 produisent Kl = LC. De même, les in- verseurs 78 - 72 et la porte NON-ET 74 produisent K16 = LO. Ll. De la même manière, K18 = L2.L3.L4.L6. Les impulsions d'horlo-ge qui commandent les éléments de traitement 36 sont produites pratiquement de la même manière que les signaux de commande. Cela ressort également de l'examen du circuit 62 des figures 3A, 3B, 3C. Par exem- ple, le signal d'horloge S-CLK = S-CLK-AUT.CLK PRI, en rai- son des inverseurs 76, 78 et de la porte NON-ET 80. De même, le signal d'horloge G-CLK = L8'CLK PRI en raison des inver- seurs 76, 82 et de la porte NON-ET 84. Toujours en ce qui concerne le circuit 62 des Fig. 3A, 3B et3C, il apparait qu'il comporte un circuit destiné à déterminer l'erreur de parité et la somme-OU des données sur la ligne omnibus de données de tous les éléments de traitement. Le bit de données sur la ligne omnibus peut être présenté au circuit pyramidal de somme-OU qui est un circuit d'éléments logiques ou-inclusif -formant la combi- 9 2472784 naison OU-inclusif de tous les états de la ligne omnibus de données des éléments de traitement, et qui présente le résultat à l'unité 20 de commande de matrice. Dans le but de détecter la présence d'éléments de traitement dans certains états, des groupes de huit élé- ments sont combinés par une fonction OU dans un circuit de somme-OU à huit entrées qui est commandé par un cir- cuit pyramidal à 2048 entrées extérieur à la pastille, pour effectuer la somme-OU de tous les 16 384 éléments de traitement. Des erreurs dans la mémoire à accès direct 56 peu- vent être déterminées de la manière habituelle par un cir- cuit d'établissement et de contrôle de parité. Chaque groupe de huit éléments de traitement 36 est associé avec 1.5 un circuit basculeur 86 d'erreur de parité qui est placé à l'état "1" lorsqu'une erreur de parité est détectée dans une mémoire à accès direct 56 associée. Comme cela apparait dans le circuit 62, le circuit pyramidal de somme-OU com- porte les trois portes désignées par 88 tandis que le cir- cuit pyramidal d'erreur de parité comporte sept portes OU- exclusif désignées par 90. Pendant des opérations de lec- ture, le signal de parité est enregistré dans le circuit basculeur 86 à la fin du cycle par le signal d'horloge M. Pendant les opérations d'écriture, la parité est émise vers une mémoire de parité par la Broche de bit de parité de la pastille. La mémoire de parité consiste en une neuvième mémoire à accès direct similaire à celles des éléments-56. L'état de parité mémorisé sous forme du bit de parité pen- dant une opérations d'écriture est combiné par une fonc- tion OU-exclusif avec le signal de sortie du circuit de parité 90 pendant des opérations de lecture, afin de chan- ger l'état du circuit basculeur 86. Le signal de commande K23 détermine si une opération de lecture ou une opération d'écriture est exécutée, tan- dis que le signal K24 est utilisé pour ramener au repos le circuit basculeur 86 d'erreur de parité. Les portes 88 de somme-OU effectuent la combinaison OU de tous les bits de données DO-D7 sur les lignes de données associées des huit éléments de traitement 36 de la pastille. Les signaux de parité et les signaux de somme-OU sont transférés par la même matrice de portes 92 commandée par le signal K27 pour déterminer si le signal de parité ou de somme-OU est trans- féré de la pastille vers l'unité 20 de commande de matrice; Les sorties des circuits basculeurs 86 de tous les éléments de traitement sont connectées au circuit pyramidal de somme- OU à 2048 entrées de manière à détecter la présence d'un circuit basculeur 86 à l'état "1". Grâce à l'utilisation d'un circuit basculeur qui mémorise une erreur, l'unité 20 de commande de matrice peut inhiber séquentiellement des colonnes d'éléments de traitement jusqu'à ce que la colonne qui contient l'élément défectueux soit trouvée. Enfin, et comme cela sera expliqué par la suite, le signal de commande K25 est utilisé pour inhiber les sor- ties de parité et de somme-OU de la pastille quand cette dernière est éliminée et n'est plus utilisée dans l'ensemble. L'utilisation des fonctions de somme-OU et de parité est déjà bien connue, mais son application selon l'invention est importante pour faciliter la localisation des éléments de traitement défectueux afin qu'ils puissent être éliminés de l'ensemble du dispositif. Les circuits 88, 90 commandés avec exclusion mutuelle par le circuit 92, offre la possibi- lité de contrôler la parité des colonnes d'éléments de trai- tement 36 et constituent en outre un circuit de détermination de la présence d'éléments de traitement dans un état logiq particulier, afin de déterminer celui qui répond à une opé- ration de recherche. Le nombre des éléments de circuit qui sont nécessaires dans cette technique doit être maintenu à une valeur minimale en utilisant une seule sortie pour les deux circuits pyramidaux, cette sortie étant multiplexée à la commande de programme. Pour en finir avec les figures 3A, 3B et 3C, il apparait que le signal d'inhibition, utilisé pour éliminer de l'unité de matrice 12 une colonne entière de pastilles d'éléments de traitement produit le signal K25, K26 à cet effet. Comme cela a déjà été indiqué, le signal de commande K25 inhibe les sorties de somme-OU et de parité pour les il éléments de traitement-associés. D'autres fonctions des signaux K25 et K26 se rapportant aux éléments de traite- ment sélectionnés à éliminer seront décrites par la suite en regard des Figures 5A, 5B. En ce qui concerne maintenant la Figure 4, et con- jointement avec la Figure 2, il apparait que l'addition- neur à trois entrées du circuit selon l'invention comporte des portes logiques 94-100. L'additionneur communique avec le registre B comprenant un circuit basculeur 102 qui re- çoit le bit de somme, le registre C qui comporte un cir- cuit basculeur 104 qui reçoit le bit de retenue, et égale- ment avec le registre à décalage 48 à longueur variable -- qui comporte des registres à décalage 106 à 110 à seize bits, huit bits et quatre bits, des circuits basculeurs 112, 114 et des multiplexeurs 116-120. L'additionneur reçoit un signal d'entrée provenant du registre à décalage, de la sortie du registre A 122 ainsi qu'un signal provenant de la sousunité logique et d'aiguillage à la sortie du registre P 124. Quand la ligne de commande K21 est au niveau "1" et que le signal BC-CLK est présent, l'additionneur additionne les deux bits d'en- trée provenant desregistresA et B avec le registre de re- tenue mémorisé dans le registre C 104 pour former une somme à deux bits. Le bit de moindre poids de la somme- est introduit dans le registre B 102 et le bit de plus grand poids de la somme est introduit dans le-registre C 104 pour qu'il devienne le bit de retenue dans le cycle de machine suivant. Si le signal K21 est au niveau "0", le bit B est remplacé par un '0". Comme le montre la figure, la ligne de commande K12 place le registre C 104 à l'état "1" tandis que la ligne de commande K13 ramène le registre C à l'état "0". * La ligne de commande K16 fait passer l'état du registre B 102 sur la ligne omnibus de données bidirectionnelle 58 tandis que la ligne de commande K22 transfère la sor- tie du registre C vers la ligne omnibus de données. En fonctionnement, l'additionneur de la Figure 4 exécute une fonction de retenue exprimée par: 12 2472784 C- AP v PC v AC. Le nouvel état du registre de retenue C, circuit basculeur 104, est équivalent aux états des registres A et B combinés par une fonction ET ou aux états des registres B et C combinés par une fonction ET ou aux états des regis- tres A et C combinés par une fonction ET. Cette fonction de retenue est remplie, indépendamment du fait qu'il n'y a aucune réaction des sorties dû registre C vers les en- trées, car le circuit basculeur JK 104 obéit à la règle: Ce -JC v 5C. Le nouvel état du registre C -est le complément de l'état actuel du registre C combiné par une fonction ET avec l'entrée J ou le complément de l'entrée Kcombiné par une fonction ET avec l'état actuel du registre C. Par con- séquent, dans le circuit de la Figure 4, le circuit bascu- leur 104 obéit à la règle: C'- APC v (AvP)C. Cette expression est équivalente à la fonction de re- tenue donnée en premier. En ce qui concerne l'expression de la somme, le re- gistre B, circuit basculeui, 102, reçoit un bit de somme qui est une fonction OU-exclusive des états des registres A, B et C selon l'expression: B 4-t A 0 P e C. La porte 98 produit A 0 P à partir d'es portes 94 et 96, et la porte 100 combine par une fonction OU-exclusive ce résultat avec C pour obtenir l'expression de somme. Le registre à décalage de l'unité arithmétique de l'élément de traitement 106 comporte trente étages. Ces étages permettent aux registres à décalage d'avoir des-lon- gueurs variables pour recevoir des mots de longueurs diffé- rentes, réduisant ainsi le temps nécessaire pour des opéra- tions arithmétiques dans les calculs bit par bit, comme cela se produit en multiplication. Les lignes de commande Ki, K4 commandent des multiplexeurs 116, 120 de manière que certaines parties du registre à décalage soient court- circuitées permettant que la longueur du registre soit sé- lectivement 2, 6, 10, 14, 18, 22, 26 ou 30 étages. Des bits de données sont introduits dans le registre à décalage par le registre B 102, ces bits étant les bits de somme prove- nant de l'additionneur. Les bits de données quittent le re- gistre à décalage par le registre A 122 et sont remis en circulation par l'additionneur. Les registres A et B addi- tionnent deux étages de retard au circuit aller et retour. Par conséquent, la longueur aller et retour d'une opération arithmétique est 4, 8, 12, 16, 20, 24, 28 ou 32 étages, sui- vant les états des lignes de commande K1 -K4 qui régulent les multiplexeurs 112 - 120. Le registre à décalage émet des données vers le registre A 122 qui comporte deux autres entrées' pouvant être sélectionnées par les lignes de commande K1, K2 et le multiplexeur 120. Une entrée est au niveau "0". Elle est utilisée pour placer le registre à décalage dans l'état tous les "0". L'autre entrée est la ligne omnibus bidirec- tionnelle de données 58. Elle peut être utilisée pour introduire directement les données dans l'additionneur. Le registre A 122 est commandé par le signal A-CLK et les trente autres étages du registre à décalage sont commandés par le signal SR-CLK. Etant donné que le dernier étage du registre à décalage comporte une horloge séparée, des données provenant dela ligne omnibus 58 ou le "0" peuvent être introduites dans l'additionneur sans pertur- ber les données dans le registre à décalage. Comme cela est expliqué ci-dessus, le registre P 124 fournit une entrée à l'additionneur 50, cette entrée étant fournie par l'un des éléments de traitement 36 contigus dans les directions orthogonales, ou par la ligne omnibus de données 58. Des données sont reçues par le registre P 124 en provenance du registre P des éléments de traitement 36 voisins, au moyen du multiplexeur 126 et à la commande des signaux de commande K5, K6. Pour le transfert de don- nées vers le registre P 124 à partir du multiplexeur 126, ce transfert se fait par l'inverseur 128 et les portes ET , 132. Le transfert est effectué à la commande du signal de commande K7 pour appliquer la valeur vraie et le complé- ment des données aux entrées J et K du circuit basculeur 124. Les données sont verrouillées à la commande du signal d'horloge P-CLK. Comme cela a été indiqué, la sortie vraie et la sortie complémentaire du circuit basculeur P 124 sont adaptées pour être transférées aux circuits basculeurs P des éléments de traitement 36 voisins. Le complément est sorti de la pastille qui contient l'élément de traitement voisin, mais il est inversé par un circuit d'attaque à la destination pour obtenir l'état vrai du circuit basculeur P. L'état vrai n'est pas inversé et il est appliqué aux élé- ments de traitement voisin de la même pastille. Le circuit logique 40 est représenté plus en détail sur la Figure 4 et il est commandé par des lignes de commande K8 - Kil. Le circuit logique reçoit des données de la ligne omnibus 58 soit à l'état vrai, soit à l'état complémentaire, par l'in- verseur 130. A la commande des signaux K8 - Kil, le circuit logique 40 peut donc effectuer les seize opérations logiques booléennes qui peuvent être exécutées entre les données pro- venant de la ligne omnibus et cellesmaintenuesdans le re- gistre P 124. Le résultat est ensuite mémorisé dans le re- gistre P 124. Il est bien entendu qu'avec K7 = O, les portes 130, 132 sont fermées. Les lignes de commande K8 et K9 autorisent le passage de "O", "1" D ou D vers l'entrée J du registre P, circuit basculeur 124. D est l'état de la ligne omnibus 58. Indépendamment, les lignes de commande K10 et Kll permettent d'émettre "0", "1" D ou D vers l'entrée K. Suivant la rè- gle du fonctionnement d'un circuit basculeur J, K, le nouvel état du registre P est défini comme suit: P -e JP v KP. Il apparait ainsi que les seize fonctions logiques de P et D peuvent être obtenues en sélectionnant les quatre états de J et les quatre états de K. Comme cela a été indiqué ci-dessus, la sortie du re- gistre P peut être utilisée dans les calculs arithmétiques des éléments de traitement 36, ou elle peut être transférée à la ligne omnibus de données 58. Si K21 est au niveau "1", l'état actuel du registre P est autorisé vers le circuit lo- gique d'additionneur. Si K14 est à l'état "O", la sortie du registre P est autorisée vers la ligne omnibus de données. Si K15 est au niveau "O", la sortie du registre P est com- binée par une fonction OU-exclusive avec le complément du registre G 132 et le résultat est autorisé vers la ligne omnibus de données. Il faut noter que certains transferts vers Ja ligne omnibus de données sont effectués par des portes de transmission bidirectionnelles 134, 136, comman- dées respectivement par les signaux de commande K14 et K15. Ces types de portes sont bien connus dans ce domaine. Le registre de masque G, désigné par 132, consiste en un simple circuit basculeur du type D. Le registre G lit l'état de la ligne omnibus dedonnées bidirectionnelles sur la transition positive du signal G-CLK. La ligne de com- mande K19 commande le masquage des signaux d'horloge de sous-unité arithmétique (A-CLK, SR-CLK, et BC-CLK). Quand K19 est égal à "1", ces signaux d'horloge ne sont émis que vers les sous-unités arithmétiques des éléments de traite- ment dans lesquels G=1. Les sous-unités arithmétiques des éléments de traitement dans lesquels G=O ne reçoivent pas de signaux d'horloge et aucun registre, et aucune sous- unité ne changent d'état. Quand K19 = O, les sous-unités arithmétiques de tous les éléments de traitement participent à l'opération. La ligne de commande K20 commande le masquage du cir- cuit logique et de la sous-unité d'aiguillage. Quand K20=1, le signal d'horloge P-CLK n'est émis que vers lescircuits logiques et les sousunités des éléments de traitement dans lesquels G=1. Les sous-unités logiques et d'aiguillage des éléments de traitement pour lesquels G=O ne reçoivent pas de signal d'horloge et leurs registres P ne changent pas d'état. Les opérations de translation sont masquées quand la ligne de commande K20 = 1. Dans les éléments de traitement dans lesquels G = 1, le registre P est commandé par un sig- nal d'horloge P-CLK et reçoit. l'état du voisin. Dans ceux pour lesquels G=O, le registreP n'est pas commandé, il ne change pas d'état. Indépendamment que G=O ou G=1, chaque élément de traitement émet l'état de son registre P vers ses voisins. Il y a lieu d'examiner rapidement la fonction d'équivalence remplie par la porte OU-inclusif 138 qui délivre une sortie "1" quand ses entrées provenantdes registresP et G sont dans les mêmes états logiques. Autrement dit, la porte 138 rem- plit la fonction de sortie P 5 G. Ce résultat est appliqué sur la ligne omnibus de données. Le registre S consiste en un circuit basculeur 140 du type P dont l'entrée est commandée par le multiplexeur 142. La sortie du registre S est transmise à la ligne omni- bus 58 par la porte de transmission bidirectionnelle 144. Le circuit basculeur 140 lit l'état de son entrée sur la transition de l'impulsion d'horloge S-CLK-IN. Quand la ligne de commande K17 est au niveau "O", le multiplexeur 142 re- çoit l'état du registre S de l'élément de traitement qui se trouve côté Ouest. Dans ce cas, chaque impulsion S-CLK-IN décale les données dans le registre S d'une position vers l'Est. Pour mémoriser l'état-du registre S 14È dans la mé- moire locale, la ligne de commande K18 est placée à "O", afin d'autoriser la porte de transmission 144 à passer la sortie complémentaire du registre S 140, par l'inverseur 146 vers la ligne omnibus 58. Le registre S 140 peut être chargé avec un-bit de données provenant de la mémoire locale 56, en plaçant K17 à l'état "1" et en autorisant la ligne om- nibus de données 58 vers l'entrée du circuit basculeur lnO. Comme cela a été indiqué ci-dessus, une caractéris- tique particulière du processeur 10 à traitement massif en parallèle est que l'unité de matrice 12 peut éliminer un groupe de colonnes d'éléments de traitement 36 si une erreur ou une faute apparait dans ce groupe. Comme cela a déjà été indiqué, chaque pastille comporte deux éléments de traitement 36 dans chacune de quatre colonnes de l'unité de matrice. L'invention permet d'inhiber les colonnes de pastilles et par conséquent, des groupes de colonnes d'éléments de trai- tement. Pour l'essentiel, les colonnes sont éliminées du fonctionnement en sautant simplement le groupe de colonnes par l'interconnexion des entrées et sorties des éléments de traitement côté Est et côté Ouest sur les pastilles défi- nissant le groupe de colonnes. Le procédé d'inhibition des sorties du circuit pyramidal de somme-OU et du circuit pyramidal de parité des pastilles a déjà été décrit. Mais il est également nécessaire de courtcircuiter les sorties des registres P et S qui communiquent entre les pastilles voisines à l'Est et à l'Ouest. Comme le montre la Figure 5A, une pastille comporte huit éléments de traitement PEO-PE7, agencésde la manière déjà décrite. Le registre S de chaque élément de traitement peut recevoir des données provenant du registre S de l'élé- ment de traitement qui se trouve immédiatement à l'Ouest et il peut transférer les données vers le registre S de l'élément de traitement qui se trouve immédiatement à l'Est. Lorsqu'elle y est autorisé, la pastille laisse cir- culer les données depuis S-EO par les registres S de PEO- PE3 et par S-S3 vers la pastille voisine. De même, les don- nées circulent depuis S-E7 vers S-o4. L-orsqu'il y a lieu d'interdire une colonne de pastilles, les portes de sortie de la colonne, laissant passer des données du registre S vers la pastille voisine à l'Est sont fermés. Autrement dit, le signal de commande K25 peut inhiber les portes de sortie 148, 150 tout en autorisant simultanément les por- tes de court-circuit 152, 154. Cela interconnecte S-EO avec S-S3 et S-E7 avec S-S4 pour toutes les pastilles de la colonne. La Figure 5b montre que les communications entre les registres P des pastilles voisines à l'Est et à l'Ouest peuvent aussi être court-circuitées. Les données du re- gistre P sont reçues de la pastille à l'Ouest par des in- verseurs 156 et 158 et lui sont transmises par des portes et 162. De même, des données de registre P sont reçues de la pastille à l'Est par des inverseurs 164, 166 et lui sont transmises par des portes 168, 170. Si la pastille est autorisée et si les données du registre P doivent être aiguillées vers l'Ouest, la ligne de commande K6 est pla- cée à "1" et la ligne K26 à l'état "O" de sorte que les portes 160, 162 sont ouvertes tandis que les portes 168, sont fermées. Quand l'aiguillage se fait vers l'Est, K6 est placé à "O" et K26 à "1". Pour inhiber la pastille, K6 et K26 sont tous deux placés à "O" pour interdire toutes les sorties Est-Ouest des registres P de la pastille, et K25 est placé à "1" pour permettre aux portes de court- circuit bidirectionnelles 172, 174 d'interconnecter 0-0 avec E-3 et 0-7 avec E-4. Cela connecte les registres P de PE3 de la pastille à l'Ouest avec PE02 de la pastille à l'Est et PE4 à la pastille à l'Ouest avec PE7 de la pas- tille à l'Est. Grâce à l'inhibition des circuits de parité et de somme-OU et en sautant les entrées et sorties des re- gistres P et S sur lesbords des pastilles d'une colonne, une colonne entière de pastilles peut être éliminée du service si une faute est détectée. Bien entendu, les élé- ments de traitement des pastilles inhibées ne cessent pas de fonctionner à ce moment, mais leurs signaux de sortie sont simplement éliminés de l'ensemble. Il faut en outre noter qu'en éliminant des colonnes, aucuneaction n'a à être entreprise en ce qui concerne l'interconnexion entre les éléments voisins au Nord et au Sud. Enfin, en élimi- nant des pastilles entières plutôt que des colonnes d'éléments de traitement, la quantité des circuits d'éli- mination est considérablement réduite. Dans le présent mode de réalisation de l'invention, l'unité de matrice 12 comporte 128 rangées et 132 colonnes d'éléments de traitement 136. Autrement dit, l'unité com- porte 64 rangées et 33 colonnes de pastilles. Par consé- quent, il existe une colonne de pastilles en plus de celles qui sont nécessaires pour obtenir la matrice carrée souhai- tée. Cela permet de maintenir une matrice carrée même si une pastille défectueuse est trouvée et si une colonne de pastilles doit être éliminée du service. Il apparait ainsi que les objets de l'invention sont satisfaits par la structure décrite ci-dessus. Un processeur à traitement massif en parallèle comportant une seule unité de matrice d'un grand nombre d'éléments de traitement interconnectés et communiquant entre eux permet d'obtenir un traitement rapide en parallèle. Un registre à décalage de longueur variable permet d'effectuer rapide- ment des calculs arithmétiques bit par bit, tout en rédui- sant le prix. Chaque élément de traitement est capable d'effectuer tous les calculs mathématiques voulus et de remplir toutes les fonctions logiques et il peut en outre communiquer non seulement avec les élémentsde traitement voisins mais également avec sa propre mémoire à accès di- rect qui lui est associée. Des dispositions sont prises pour éliminer une colonne entière de pastilles de traite- ment lorqu'au moins un élément de traitement s'avère défec- tueux. Toutes les caractéristiques conduisent à un proces- seur de données d'une haute fiabilité, susceptible de trai- ter de grands volumes de données, avec rapidité. Bien entendu, de nombreuses modifications peuvent être apportées au mode de réalisation décrit et illustré à titre d'exemple nullement limitatif sans sortir du cadre ni de l'esprit de l'invention. REVENDICATIONS 1 - Matrice d'éléments de traitement interconnectés entre eux, matrice caractérisée en ce que chaque élément de traitement (36) comporte un additionneur (50), des pre- mier et second registres de données (42, 38) connectés au- dit additionneur et lui fournissant des bits de données, un registre de retenue (46) connecté audit additionneur et en recevant desdites données résultant d'opérations arith- métiques, une mémoire (56) et une ligne omnibus de données (58) interconnectant lesdits premier et second registres, le registre de retenue et ladite mémoire pour le transfert de données entre eux. 2 - Matrice selon la revendication 1, caractérisée en ce que chaque élément de traitement comporte en outre un registre à décalage (48) de longueur variable sélecti- vement, interconnecté entre ledit premier registre de données et ledit additionneur. 3 - Matrice selon la revendication 2, caractérisée en ce que ledit registre de retenue (46) consiste en un circuit basculeur du type JK qui fonctionne selon la règle: C4- AP v PC v AC o A est l'état dudit premier registre (42), P est l'état dudit second registre (38) et C est l'état dudit registre de retenue (46). 4 - Matrice selon la revendication 3, caractérisée en ce que chaque élément de traitement comporte en outre un registre de somme (44) interconnecté entre ledit registre à décalage (48) et ledit additionneur (50), ledit registre de somme fonctionnant selon la règle Be- A 0 P 0 C, 3o o B, A, P et C sont respectivement les états du registre de somme (44) , du premier registre (42) du second registre (38) et du registre de retenue (46). - Matrice selon la revendication 1, caractérisé en ce que chaque élément de traitement (36) comporte un circuit logique (40) interconnecté avec ledit second re- gistre et destiné à effectuer les seize opérations logiques possibles entre les données dudit second registre et un bit de données provenant de la ligne omnibus de données. 6 - Matrice selon la revendication 1, caractérisée en ce que ledit second registre (38) de chaque élément de traitement est interconnecté de manière à communiquer avec ledit second registre des éléments de traitement voisins dans les directions orthogonales dans la matrice.