FR2472784A1 - Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite - Google Patents

Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite Download PDF

Info

Publication number
FR2472784A1
FR2472784A1 FR8027884A FR8027884A FR2472784A1 FR 2472784 A1 FR2472784 A1 FR 2472784A1 FR 8027884 A FR8027884 A FR 8027884A FR 8027884 A FR8027884 A FR 8027884A FR 2472784 A1 FR2472784 A1 FR 2472784A1
Authority
FR
France
Prior art keywords
register
data
circuit
matrix
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR8027884A
Other languages
English (en)
Inventor
Kenneth E Batcher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Goodyear Aerospace Corp
Original Assignee
Goodyear Aerospace Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Goodyear Aerospace Corp filed Critical Goodyear Aerospace Corp
Publication of FR2472784A1 publication Critical patent/FR2472784A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/005Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels altimeters for aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/006Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

L'INVENTION CONCERNE UNE MATRICE DE TRAITEMENT DE DONNEES EN PARALLELE COMPORTANT DES ELEMENTS DE TRAITEMENT. CHAQUE ELEMENT DE TRAITEMENT 36 COMPORTE DES REGISTRES D'OPERANDES 38, 42, UN REGISTRE DE SOMME 44, UN REGISTRE DE RETENUE 46, UN REGISTRE A DECALAGE 48 DE LONGUEUR VARIABLE ET UN ADDITIONNEUR 50. DES CIRCUITS LOGIQUES PERMETTENT D'ELIMINER UN ELEMENT DE TRAITEMENT DEFECTUEUX SANS NUIRE A L'INTEGRITE DE L'ENSEMBLE. L'INVENTION S'APPLIQUE NOTAMMENT AU TRAITEMENT EN MASSE DES DONNEES PROVENANT DE SATELLITES.

Description

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.

Claims (5)

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.
FR8027884A 1979-12-31 1980-12-31 Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite Withdrawn FR2472784A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/108,883 US4314349A (en) 1979-12-31 1979-12-31 Processing element for parallel array processors

Publications (1)

Publication Number Publication Date
FR2472784A1 true FR2472784A1 (fr) 1981-07-03

Family

ID=22324619

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8027884A Withdrawn FR2472784A1 (fr) 1979-12-31 1980-12-31 Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite

Country Status (7)

Country Link
US (1) US4314349A (fr)
JP (1) JPS56101262A (fr)
CA (1) CA1154168A (fr)
DE (1) DE3049437C2 (fr)
FR (1) FR2472784A1 (fr)
GB (2) GB2062915B (fr)
IT (1) IT1134924B (fr)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA811458B (en) * 1980-03-28 1982-03-31 Int Computers Ltd Data processing system
US4507726A (en) * 1982-01-26 1985-03-26 Hughes Aircraft Company Array processor architecture utilizing modular elemental processors
JPS59501183A (ja) * 1982-06-25 1984-07-05 ヒユ−ズ・エアクラフト・カンパニ− 機能プログラマブル短絡プレーン
US4745546A (en) * 1982-06-25 1988-05-17 Hughes Aircraft Company Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability
GB2129589B (en) * 1982-11-08 1986-04-30 Nat Res Dev Array processor cell
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
JPS59172064A (ja) * 1983-03-18 1984-09-28 Fujitsu Ltd ビデオ・システムにおける並列処理方式
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
US4616330A (en) * 1983-08-25 1986-10-07 Honeywell Inc. Pipelined multiply-accumulate unit
NL192637C (nl) * 1984-02-27 1997-11-04 Nippon Telegraph & Telephone Stelselprocessor.
CA1233260A (fr) * 1985-03-13 1988-02-23 Chuck H. Ngai Processeur vectoriel parallele a haute performance a configuration de registre vectoriel/processeur d'elements modifiee
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4852048A (en) * 1985-12-12 1989-07-25 Itt Corporation Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion
US4797852A (en) * 1986-02-03 1989-01-10 Intel Corporation Block shifter for graphics processor
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
JPS6364178A (ja) * 1986-08-29 1988-03-22 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 画像処理システム
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US5146606A (en) * 1986-09-18 1992-09-08 Digital Equipment Corporation Systems for interconnecting and configuring plurality of memory elements by control of mode signals
US6108763A (en) * 1986-09-18 2000-08-22 Grondalski; Robert S. Simultaneous parity generating/reading circuit for massively parallel processing systems
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
JPS63192153A (ja) * 1987-02-05 1988-08-09 Agency Of Ind Science & Technol 並列デ−タ処理装置
US5163133A (en) * 1987-02-17 1992-11-10 Sam Technology, Inc. Parallel processing system having a broadcast, result, and instruction bus for transmitting, receiving and controlling the computation of data
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
JPH0727515B2 (ja) * 1987-03-05 1995-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 2次元メッシュ・アレイの処理要素
JPH0833842B2 (ja) * 1987-05-01 1996-03-29 株式会社日立製作所 論理演算装置
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
US5023606A (en) * 1988-01-13 1991-06-11 Plus Logic, Inc. Programmable logic device with ganged output pins
USRE34444E (en) * 1988-01-13 1993-11-16 Xilinx, Inc. Programmable logic device
US4847612A (en) * 1988-01-13 1989-07-11 Plug Logic, Inc. Programmable logic device
US5179705A (en) * 1988-03-23 1993-01-12 Dupont Pixel Systems, Ltd. Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource
US5038282A (en) * 1988-05-11 1991-08-06 Massachusetts Institute Of Technology Synchronous processor with simultaneous instruction processing and data transfer
EP0390907B1 (fr) * 1988-10-07 1996-07-03 Martin Marietta Corporation Processeur de donnees en parallele
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US4967107A (en) * 1989-05-12 1990-10-30 Plus Logic, Inc. Programmable logic expander
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
CA2021192A1 (fr) * 1989-07-28 1991-01-29 Malcolm A. Mumme Processeur maille synchrone simplifie
US5297289A (en) * 1989-10-31 1994-03-22 Rockwell International Corporation System which cooperatively uses a systolic array processor and auxiliary processor for pixel signal enhancement
GB8925723D0 (en) * 1989-11-14 1990-01-04 Amt Holdings Processor array system
EP0509058A4 (en) * 1990-01-05 1993-11-18 Maspar Computer Corporation Router chip with quad-crossbar and hyperbar personalities
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
EP0509055A4 (en) * 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
IT1247640B (it) * 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
US5247613A (en) * 1990-05-08 1993-09-21 Thinking Machines Corporation Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
US5101371A (en) * 1990-06-04 1992-03-31 The United States Of America As Represented By The Director Of The National Security Agency Apparatus for performing a bit serial orthogonal transformation instruction
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
EP0485690B1 (fr) * 1990-11-13 1999-05-26 International Business Machines Corporation Système à processeur associatif parallèle
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
JPH06103599B2 (ja) * 1990-11-16 1994-12-14 三菱電機株式会社 半導体集積回路装置
US6378061B1 (en) * 1990-12-20 2002-04-23 Intel Corporation Apparatus for issuing instructions and reissuing a previous instructions by recirculating using the delay circuit
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
WO1993014459A1 (fr) * 1992-01-17 1993-07-22 Caelum Research Corporation Systeme de traitement parallele modulaire
US5506992A (en) * 1992-01-30 1996-04-09 Saxenmeyer; George Distributed processing system with asynchronous communication between processing modules
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5542074A (en) * 1992-10-22 1996-07-30 Maspar Computer Corporation Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount
US5450604A (en) * 1992-12-18 1995-09-12 Xerox Corporation Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units
US5428804A (en) * 1992-12-18 1995-06-27 Xerox Corporation Edge crossing circuitry for SIMD architecture
KR940022276A (ko) * 1993-03-11 1994-10-20 오오가 노리오 병렬연산 처리장치
US6073185A (en) * 1993-08-27 2000-06-06 Teranex, Inc. Parallel data processor
US5557734A (en) * 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
JPH0830577A (ja) * 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simdプロセッサ
US5590356A (en) * 1994-08-23 1996-12-31 Massachusetts Institute Of Technology Mesh parallel computer architecture apparatus and associated methods
WO1996008778A1 (fr) * 1994-09-13 1996-03-21 Lockheed Martin Corporation Processeur parallele de donnees
US7050329B2 (en) * 1995-04-21 2006-05-23 Johnson Mark B Magnetic spin based memory with inductive write lines
US6064083A (en) * 1995-04-21 2000-05-16 Johnson; Mark B. Hybrid hall effect memory device and method of operation
US6140838A (en) 1995-04-21 2000-10-31 Johnson; Mark B. High density and high speed magneto-electronic logic family
US6741494B2 (en) * 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
US6185667B1 (en) 1998-04-09 2001-02-06 Teranex, Inc. Input/output support for processing in a mesh connected computer
US6212628B1 (en) 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer
US6173388B1 (en) 1998-04-09 2001-01-09 Teranex Inc. Directly accessing local memories of array processors for improved real-time corner turning processing
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for a mesh connected computer
DE19837101C2 (de) * 1998-08-17 2000-11-23 Philips Corp Intellectual Pty Programmierbare 1-Bit Datenverarbeitungsanordnung
US6498817B1 (en) 1998-09-30 2002-12-24 Koninklijke Philips Electronics N.V. Circuit for processing data signals
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
GB2349484A (en) * 1999-04-09 2000-11-01 Pixelfusion Ltd Parallel data processing system with SIMD array
US8174530B2 (en) 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US8171263B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US8762691B2 (en) 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
EP1181648A1 (fr) 1999-04-09 2002-02-27 Clearspeed Technology Limited Appareil de traitement de donnees parallele
US8169440B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US6307774B1 (en) 2000-03-22 2001-10-23 Mark B. Johnson Magnetoelectronic memory array
US6728862B1 (en) 2000-05-22 2004-04-27 Gazelle Technology Corporation Processor array and parallel data processing methods
US7142669B2 (en) * 2000-11-29 2006-11-28 Freescale Semiconductor, Inc. Circuit for generating hash values
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US7409488B2 (en) * 2002-07-23 2008-08-05 International Business Machines Inc Data processing system
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
HUP0500482A2 (en) * 2005-05-11 2006-12-28 Mta Szamitastech Autom Kutato System and method for sensing and processing electromagnetic signals
JP6511937B2 (ja) * 2015-04-24 2019-05-15 富士通株式会社 並列計算機システム、演算方法、演算プログラム、及び情報処理装置
US11200186B2 (en) * 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
WO2021108090A1 (fr) * 2019-11-26 2021-06-03 Mythic, Inc. Systèmes et procédés de mise en œuvre de redondance pour une architecture informatique de traitement d'intelligence basée sur des tuiles
US12086080B2 (en) 2020-09-26 2024-09-10 Intel Corporation Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3296426A (en) * 1963-07-05 1967-01-03 Westinghouse Electric Corp Computing device
US3364472A (en) * 1964-03-06 1968-01-16 Westinghouse Electric Corp Computation unit
US3313926A (en) * 1965-04-26 1967-04-11 Stanford Research Inst Microelectronic cellular array
GB1220089A (en) * 1966-12-29 1971-01-20 James Hughson Case Improvements in or relating to digital computing and information processing machine and system
US3602886A (en) * 1968-07-25 1971-08-31 Ibm Self-checking error checker for parity coded data
US3701976A (en) * 1970-07-13 1972-10-31 Bell Telephone Labor Inc Floating point arithmetic unit for a parallel processing computer
US4037094A (en) * 1971-08-31 1977-07-19 Texas Instruments Incorporated Multi-functional arithmetic and logical unit
GB1445714A (en) * 1973-04-13 1976-08-11 Int Computers Ltd Array processors
ZA742069B (en) * 1973-04-13 1975-03-26 Int Computers Ltd Improvements in or relating to array processors
JPS5521222B2 (fr) * 1973-07-31 1980-06-07
JPS5334986B2 (fr) * 1974-05-31 1978-09-25
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
US4051354A (en) * 1975-07-03 1977-09-27 Texas Instruments Incorporated Fault-tolerant cell addressable array
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4207556A (en) * 1976-12-14 1980-06-10 Nippon Telegraph And Telephone Public Corporation Programmable logic array arrangement
JPS5485647A (en) * 1977-12-21 1979-07-07 Hitachi Ltd Operation unit

Also Published As

Publication number Publication date
GB2062915A (en) 1981-05-28
GB2140589A (en) 1984-11-28
GB2062915B (en) 1985-01-03
JPS56101262A (en) 1981-08-13
US4314349A (en) 1982-02-02
GB2140589B (en) 1985-06-05
DE3049437C2 (de) 1984-11-15
DE3049437A1 (de) 1981-09-24
CA1154168A (fr) 1983-09-20
IT8027013A0 (it) 1980-12-30
IT1134924B (it) 1986-08-20
GB8324470D0 (en) 1983-10-12

Similar Documents

Publication Publication Date Title
FR2472784A1 (fr) Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite
EP0558125B1 (fr) Processeur neuronal à cellules synaptiques reparties
FR2667706A1 (fr) Antememoire hierarchique a circuits integres.
EP0597028B1 (fr) Architecture de systeme en tableau de processeurs a structure parallele
EP1668530A2 (fr) Composant a architecture reconfigurable dynamiquement
EP0104293A1 (fr) Dispositif pour le chargement et la lecture de différentes chaînes de bascules dans un système de traitement de données
EP1116116B1 (fr) Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques
WO2010037570A1 (fr) Dispositif de traitement en parallele d'un flux de donnees
FR2636152A1 (fr) Processeur d'images en pipeline
FR2479508A1 (fr) Dispositif de traitement de donnees a elements groupes et circuits de commutation reduisant le nombre des connexions entre elements
EP0626760A2 (fr) Système électronique organisé en réseau matriciel de cellules
FR2583904A1 (fr) Systeme d'ordinateur du type a trains multiples de donnees et instruction unique (simd), avec traitement selectif des donnees
EP0039635B1 (fr) Procédé d'arbitration centralisée, et arbitreur centralisé
FR2617621A1 (fr) Memoire de transposition pour circuit de traitement de donnees
FR2558614A1 (fr) Appareil de traitement de donnees
EP1803061B1 (fr) Systeme de processeur parallele reconfigurable, modulaire et hierarchique
EP0317413B1 (fr) Dispositif de traitement de données relatives à des éléments d'image
EP1772808B1 (fr) Dispositif et procédé de lecture d'informations dans un ensemble de composants électroniques reliés à un bus de communication, appliqué à la lecture d'une matrice de pixels
FR3085075A1 (fr) Controleur memoire
EP0344052B1 (fr) Mémoire modulaire
FR2573562A1 (fr) Memoire vive et circuit d'interpolation lineaire en comportant application
FR2933826A1 (fr) Reseau logique programmable, commutateur d'interconnexion et unite logique pour un tel reseau
EP0109337A2 (fr) Dispositif informatique à multi micro-ordinateur pour le traitement d'images
FR2556902A1 (fr) Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable
EP0237425B1 (fr) Circuit intégré d'architecture nouvelle et procédé de fabrication

Legal Events

Date Code Title Description
ST Notification of lapse