FR2606184A1 - Dispositif de calcul reconfigurable - Google Patents

Dispositif de calcul reconfigurable Download PDF

Info

Publication number
FR2606184A1
FR2606184A1 FR8615241A FR8615241A FR2606184A1 FR 2606184 A1 FR2606184 A1 FR 2606184A1 FR 8615241 A FR8615241 A FR 8615241A FR 8615241 A FR8615241 A FR 8615241A FR 2606184 A1 FR2606184 A1 FR 2606184A1
Authority
FR
France
Prior art keywords
processors
processor
calculator
bus
calculator according
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.)
Granted
Application number
FR8615241A
Other languages
English (en)
Other versions
FR2606184B1 (fr
Inventor
Patrick De Corlieu
Michel Prevost
Arnaud Du Chene
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.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR8615241A priority Critical patent/FR2606184B1/fr
Priority to US07/114,109 priority patent/US4891810A/en
Priority to DE8787402431T priority patent/DE3781873T2/de
Priority to EP87402431A priority patent/EP0272165B1/fr
Priority to JP62277239A priority patent/JPS63141139A/ja
Publication of FR2606184A1 publication Critical patent/FR2606184A1/fr
Application granted granted Critical
Publication of FR2606184B1 publication Critical patent/FR2606184B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

L'INVENTION CONCERNE PRINCIPALEMENT UN DISPOSITIF DE CALCUL RECONFIGURABLE. L'INVENTION A PRINCIPALEMENT POUR OBJET UN CALCULATEUR COMPORTANT DES ELEMENTS REDONDANTS. LE CALCULATEUR SELON LA PRESENTE INVENTION EST SUSCEPTIBLE DE FONCTIONNER EN PRESENCE D'UNE PANNE D'UN DES ELEMENTS QUI LE CONSTITUENT. DANS CE CAS, UN ELEMENT REDONDANT VIENT SE SUBSTITUER A L'ELEMENT DEFAILLANT. DANS LE CAS OU LE CALCULATEUR SELON LA PRESENTE INVENTION SE TROUVE DANS UNE PHASE CRITIQUE, C'EST-A-DIRE QUE TOUTE INTERRUPTION DE CALCUL AURAIT DES CONSEQUENCES GRAVES LA RECONFIGURATION DU SYSTEME EST REPORTEE A UNE DATE ULTERIEURE CORRESPONDANT A LA FIN DE LA PHASE CRITIQUE. L'INVENTION S'APPLIQUE PRINCIPALEMENT A LA REALISATION DES CALCULS NUMERIQUES.

Description

DISPOSITIF DE CALCUL RECONFIGURABLE
L'invention a principalement pour objet un dispositif de
caleul reconfigurable.
Les calculateurs deviennent de plus en plus complexes. Les tendances actuelles de la construction de calculateur consistent notamment en des développements des calculateurs comportant une pluralité de processeurs traitant simultanément la même instruction (SIMD en terminologie anglosaxonne). Un calculateur moderne est susceptible d'être en panne de façon partielle, c'est-à-dire qu'une partie des résultats délivrée par le calculateur est erronée, une autre partie des calculs n'étant pas affectée par la panne. Le dispositif objet de la présente invention est un calculateur susceptible de fonctionner même dans le cas o une partie de ces constituants présente des défauts de fonctionnement. Par exemple, si la panne survient au niveau d'un processeur il est possible de ne pas l'utiliser dans
la suite des calculs.
Dans le premier cas, o l'on dispose d'un nombre de processeurs supérieur au nombre nécessaire pour effectuer les calculs, le processeur défectueux est désactivé; un processeur libre reprend le calcul qui devait être effectué par le
processeur défectueux.
Dans le second cas, les processeurs en ordre de marche se répartissent le travail du processeur défectueux, celui-ci étant
mis hors circuit.
Ainsi, dans les deux cas on a effectué une reconfiguration du calculateur. Or, on utilise de plus e.n plus le calculateur pour la supervision, en temps réel des machines. Une reconfiguration à un moment critique, dans la mesure o une partie des résultats délivrés par le calculateur reste valable, peut avoir des conséquences bien plus néfastes que n'aurait la poursuite des calculs par le calculateur partiellement défectueux. En effet, une reconfiguration risque de faire perdre au calculateur les résultats des calculs en cours ainsi que les
résultats intermédiaires.
Le calculateur objet de la présente invention détecte les défaillances éventuelles de ces divers composants, détermine le moment le plus favorable pour effectuer une reconfiguration du
système et effectue ladite reconfiguration.
L'invention a principalement pour objet un calculateur comportant une pluralité de processeurs de calcul, caractérisé en ce qu'il comporte des dispositifs redondants -susceptibles, en
cas de panne de remplacer un dispositif défectueux.
L'invention sera mieux comprise au moyen de la description
ci-après.et des figures annexées données comme des exemples non limitatifs parmi lesquels: - la figure 1 est un schéma d'un calculateur selon l'invention - la figure 2 est le schéma d'un processeur du calculateur de la figure 1; - la figure 3 est un schéma d'une unité arithmétique et logique et des indicateurs d'un processeur du calculateur de la figure 1; - la figure 4 est un schéma du processeur du calculateur de la figure 1; la figure 5 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 6 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 7 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 8 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 9 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 10 est un organigramme illustrant un procédé mis en oeuvre dans le dispositif selon l'invention; - la figure 11 est un organigramme Illustrant un procédé mis en oeuvre dans le dispositif selon l'invention - la figure 12 est un organigramme illustrant un procédé mis en
oeuvre dans le dispositif selon l'invention.
Sur les figures 1 à 12 on a utilisé les mêmes références
pour désigner les mêmes éléments.
Sur la figure 1, on peut voir un exemple de réalisation d'un calculateur parallèle (SIMD) selon l'invention. Le calculateur comporte N processeurs 100. Les processeurs 100 sont par exemple des processeurs numériques de grande puissance nécessaires au traitement du signal. Un exemple du processeur
100 est Illustré sur la figure 2.
Les processeurs 100 sont connectés à une mémoire de
données 3.
Avantageusement, chaque processeur 100 est relié par un
bus 41 à un banc de mémoire privée 3.
Avantageusement, chaque processeur 100 est relié par deux
bus 41 à une mémoire 3 partagée en deux bancs mémoire.
Avantageusement, les processeurs 100 sont susceptibles de
communiquer entre eux par un bus 50.
Avantageusement, le bus 50 est un bus en anneaux.
Avantageusement, les calculateurs selon l'invention comportent un séquenceur 502 fournissant par un bus 501 les
instructions nécessaires au fonctionnement des processeurs 100.
Le séquenceur 502 est relié à une mémoire de programme 31 par
un bus 45.
Avantageusement, les données susceptibles d'être traitées par le processeur 100 sont chargées dans le banc de mémoire 3 durant l'exécution de calcul par le processeur 100. Le chargement des mémoires 3 en ce qui concerne les données transitant par le bus 51 est supervisé par un séquenceur d'accès direct mémoire 504. Le séquenceur accès direct mémoire est relié
à une mémoire programme 30 par l'intermédiaire d'un bus 53.
Dans une première variante de réalisation du dispositif selon l'invention, les bancs de mémoire 3 disposent d'un bus de
donnée réservé à l'accès direct mémoire.
Avantageusement, les échanges avec les bancs de mémoire 3
sont effectués au travers des processeurs 100 par le bus 41.
260 6 184
Cette solution présente l'avantage de simplifier la connectique
du calculateur selon l'invention.
Avantageusement, le séquenceur accès direct mémoire 504 est relié par un bus 47 au processeur 100. Le bus 47 permet au séquenceur accès direct mémoire 504 de sélectionner le mode d'accès direct mis en oeuvre et les adresses des mémoires 3 en
ce qui concerne les données transmises par le bus 51.
Avantageusement, les processeurs 100 reçoivent une pluralité
de bus 54 à large bande les données à stocker en mémoire 3.
L'utilisation d'une pluralité de bus permet d'augmenter les
débits des données transmises.
Avantageusement, les calculateurs selon la présente invention comportent des circuits d'accueil 480 permettant de transmettre sur un bus unique l'entrée sortie 51 au processeur 100 les données arrivant sur une pluralité de bus 54. Le bus 51 étant de faible longueur sa bande passante est par exemple égale à la somme de bande passante totale des bus 54. Dans une
variante de réalisation sa bande passante est inférieure.
Avantageusement, les circuits d'accueil 480 permettent d'autre part, de faire l'adaptation électrique des bus 54 ce qui
permet d'augmenter le débit desdits bus.
Avantageusement, les circuits d'accueil 480 permettent, par exemple en utilisant une électronique trois états, d'isoler le processeur 100 des bus 54. Cette isolation électrique permettra si tous les circuits d'accueil 480, sauf un, sont en haute impédance au processeur 100 dont le circuit d'accueil est en basse impédance de mettre les données sur le bus 54. Les circuits d'accueil 480 reçoivent en partie les commandes de fonctionnement à partir du séquenceur d'accès direct mémoire 504 par l'intermédiaire d'un bus 55. L'autre partie des commandes
provient directement du processeur 100 associé par le chemin 56.
Avantageusement, le calculateur selon l'invention comporte un processeur maître 101 supervisant le bon fonctionnement du caleulateur. Le processeur maître 101 est par exemple un
processeur d'usage général.
Dans un exemple de réalisation du dispositif selon la présente invention le processeur maître 101 appartient à la famille des microprocesseurs d'usage général 68000 commercialisée par la Société MOTOROLA. Par exemple, le processeur maître 101 est un microprocesseur 68020 commercialisé par la Société MOTOROLA. On peut remarquer, que la puissance de caleul du processeur maître 101 est de plusieurs ordres inférieure à celle du processeur 100. Toutefois, cette puissance de calcul est suffisante pour superviser le bon fonctionnement du calculateur selon l'invention. Le processeur maître 101 est relié par un bus 42 au dispositif de commande, par exemple à un calculateur frontal, duquel il reçoit les ordres des calculs à exécuter. Le processeur maître 101 est relié d'autre part, par un bus 43 à des dispositifs de traitement amont et aval. Par dispositif de traitement amont on désigne les dispositifs de prétraitement analogique et/ou numérique du signal comme par exemple des échantillonneurs, des calculateurs de transformée de Fourier rapide, les dispositifs aval étant susceptible d'utiliser le calcul réalisé par le calculateur selon l'invention. Les dispositifs aval sont par exemple des calculateurs d'usage général. D'autre part, le processeur maître 101 est relié par un bus de donnée 48 et le bus 53 à la mémoire 30. Le processeur maître 101 est relié par un bus 44 et le bus 45 à la mémoire 31. Le processeur maître peut ainsi charger les programmes nécessaires au fonctionnement du calculateur les mémoires 30 et 31 reliées respectivement au séquenceur d'accès direct mémoire 504 et au séquenceur 502. Ces programmes sont chargés à partir des mémoires de masse, par exemple disque magnétique ou bande magnétique, non représentés sur la
figure 1.
D'autre part, le processeur maître 101 est relié par un bus
de commande 49 au séquenceur d'accès direct mémoire 504.
Avantageusement, le séquenceur d'accès direct mémoire 504 va répartir le flot de données à traiter arrivant, des dispositifs de traitement amont par le bus 54 entre les divers
* 2606184
processeurs 100 en fonctionnement. Simultanément, le séquenceur 502 va numéroter les processeurs 100 en leur assignant une tâche. Dans la mesure o tous les processeurs 100 reçoivent par l'intermédiaire du bus 501 la même commande ils exécutent simultanément le même traltement. Toutefois, chaque processeur comporte un bus de commande 56 le reliant au circuit d'accueil 480. Ainsi, chaque processeur 100 peut agir sur son circuit d'accueil 480 d'une façon qui est déterminée par le
résultat de calculs qu'il effectue.
Le calculateur selon la présente invention tel que décrit sur la figure 1 est un calculateur de très grande puissance et de très grande complexité. Ainsi, il est possible que des fautes de calcul soient commises par des fautes de matériel. Pour
éviter que des erreurs ne se propagent le calculateur selon la.
présente invention comporte notamment sur certains bus des codeurs et correcteurs de parité. Par exemple on dispose de détection et correction d'erreur sur le bus 54, 51, 47, 50, 41
et 501.
Avantageusement, quand une erreur est détectée sur un bus cette erreur est stockée dans un registre d'état appelé status dans la suite de ce brevet. Par exemple, tant qu'aucune erreur n'a été détectée le registre des status ne comporte que des zéros. Quand une erreur est détectée la valeur correspondant au
bus surveillé dans un registre de status passe à 1.
Avantageusement, un résumé du contenu des registres de status des processeurs est émis de façon permanente sur un bus
46 vers le séquenceur 502.
Avantageusement, pour réduire la bande passante nécessaire tous les processeurs 100 émettent simultanément sur le même bus 46. La réduction de la bande passante est effectué en reliant les fils des résultats de test à une porte logique OU. De plus, le bus 46 est un bus véhiculant un seul bit. Cette disposition permet de réduire au minimum le matériel nécessaire mais ne permet au séquenceur 502 que de savoir qu'une panne est survenue sans en connaître l'origine et la gravité. Ce n'est que si une panne est survenue et si le séquenceur 502 le juge nécessaire qu'il pourra lire par exemple par l'intermédiaire du bus 50 le contenu du registre de status de chacun ou partie des
processeurs 100.
Avantageusement, le calculateur selon la présente invention comporte en plus des H processeurs nécessaires à l'exécution correcte des calculs des processeurs 100 redondants. Ces processeurs 100 redondants sont susceptibles de remplacer un
processeur 100 qui exécutait un calcul s'il s'avérait que celui-
ci était défectueux. Par exemple, le calculateur selon la présente invention comporte dix-huit processeurs 100 (N=18), seize processeurs étant utilisés simultanément pour exécuter des calculs. Lors des réalisations des calculs par le calculateur selon la présente invention le séquenceur 502 assigne un numéro à chacun des H processeurs 100 devant être utilisés pour les
1 5 calculs.
Avantageusement, les processeurs sont numérotés dans un ordre dépendant de leurs positions physiques à l'intérieur du calculateur. De plus, les H processeurs devant effectuer des caleuls reçoivent par le bus 50 un signal de commande, par exemple sur un bit, d'activation du processeur. Ce bit est. alors mémorisé
dans le processeur 100.
Les N-H processeurs 100 redondants ne sont pas utilisés
pour les calculs.
Dans une première variante de réalisation du calculateur selon la présente invention, ces processeurs 100 redondants sont à l'arrêt ou dans une configuration à faible consommation
électrique (low power en terminologie anglo-saxonne).
Dans une seconde variante de réalisation tu calculateur selon la présente invention, les processeurs 100 redondants effectuent un calcul quelconque permettant de les maintenir en activité. Les résultats de ces caleuls ne sont ni transmis ni utilisés. Dans une troisième variante de réalisation du calculateur selon la présente invention, les processeurs 100 redondants effectuent les mêmes calculs que les H processeurs 100 effectuant des calculs utiles. Les résultats de ces calculs effectués par les processeurs 100 redondants ne sont pas pris en compte. Les processeurs inactifs reçoivent une commande de désactivation, par exemple sur un bit. Cela permet notamment dans le cas des réalisations assignant un numéro à chaque processeur d'assigner un même numéro à un processeur actif et
à un processeur inactif.
Dans l'exemple de réalisation d'un calculateur selon la présente invention illustrée sur la figure 1 seul le processeur présente une redondance matérielle. Cela est justifié, d'une part par le fait que dans un exemple de réalisation les processeurs 100 ont une puissance de calcul bien supérieure à celle des autres dispositifs utilisés, et par suite une complexité de réalisation et une probabilité des pannes supérieures, d'autre part du fait que le calculateur selon la présente invention comportant de toute manière une pluralité (H) de processeurs 100, il n'est pas nécessaire de doubler le
matériel mis en oeuvre.
Par exemple, dans le calculateur comportant seize (H=16) processeurs susceptibles d'être actifs simultanément, on dispose
de 1 (N=17), ou 2 (N=18) processeurs 100 redondants.
De même, dans une variante de réalisation d'un calculateur selon la présente invention comportant trente-deux processeurs 100 susceptibles de fonctionner simultanément (H=32) on dispose
de trois (N=35), ou quatre (N=36) processeurs 100 redondants.
Il est bien entendu que doubler les autres composants du calculateur selon la présente invention, à l'exception du processeur maître 101, ne sort pas du cadre de la présente invention. Le processeur maître 101 supervisant la détection des défaillances ainsi. que le redémarrage du système doit nécessairement être unique. Cela n'est pas gênant dans la mesure o on utilise des processeurs réalisés sous la forme d'un
circuit intégré du commerce de bonne fiabilité.
Avantageusement, le processeur maître 101 a subi des tests
exhaustifs ainsi qu'un rodage préalable A son utilisation (burn-
in en terminologie anglo-saxonne).
La variante de réalisation du calculateur selon la présente invention comportant, par exemple, un séquenceur d'accès direct mémoire 504, une mémoire 30 ou une partie de mémoire 30, un séquenceur 502, une mémoire 31, ou une partie de mémoire 31 redondant, les N-H processeurs 100, ces dispositifs sont reliés par les bus 46, puis 45 et 44 au processeur maître 101. Celui-cl peut ainsi déterminer l'origine de la panne et effectuer la
reconfiguration du système s'il le juge nécessaire.
Avantageusement, le processeur maître 101 détermine, à partir des informations reçues sur le bus 42 si l'on se trouve ou non dans une phase critique, c'est-à-dire si l'interruption momentanée des calculs serait extrêmement préjudiciable à cet instant. Si l'on se trouve dans une phase critique, le processeur maître 101 peut si cela est possible effectuer une reconfiguration partielle du système dans la mesure o cela est possible. Par exemple, si un processeur 100 émet des résultats erronés ce processeur est isolé des bus 54 par son circuit d'accueil 480. Les tâches normalement exécutées par ce
processeur 100 ne sont pas prises en compte du tout.
Si, d'autre part, le bus en anneaux 50 est coupé, le processeur maître 101 fait circuler les informations nécessaires dans l'autre sens sur le bus en anneaux 50 jusqu'à ce qu'elles
atteignent leur destinataire.
Les N-H processeurs 100 inactifs sont transparents pour le
bus 50..
Sur la figure 2, on peut voir un exemple de réalisation d'un processeur 100 selon l'invention. Pour la clarté de la figure seuls les bus de donnée ont été représentés. L'exemple de réalisation du processeur 100 selon l'invention -illustré sur la figure 2 comporte une unité arithmétique et logique 13, un multiplieur 14, un banc de registre 2. Un dispositif de communication 16 permet de fournir aux entrées de l'unité arithmétique et logique 13, du multiplieur 14 du banc de registre 2 et du processeur d'adresse 11 des données nécessaires aux calculs. De même, le dispositif de communication 16 permet de recueillir le résultat des calculs de l'unité arithmétique et logique 13 et du multiplieur 14 ainsi que de lire les données stockées dans le registre 20 du banc de registres 2. D'autre part, le dispositif de communication 16 est relié par un bus bidirectionnel (ou deux bus) 43 à l'interface mémoire 5, par un bus 52 à un dispositif, non illustré, susceptible de fournir des constantes nécessaires aux calculs et aux dispositifs de communication externes 15 par un bus bidirectionnel (ou deux bus) 48. Le dispositif de communication externe 15 est par exemple un interface de communication permettant de relier en anneaux une pluralité de processeurs 100 selon l'invention. Par exemple chaque processeur 100 est relié à son voisin de gauche et de droite. L'information peut se propager de proche en proche jusqu'au processeur auquel elle est destinée. Un tel
dispositif est décrit dans le brevet français N0 83 15649.
Le processeur 100 selon la présente invention comporte avantageusement un circuit d'accès direct mémoire 12, un processeur d'adresse 11. Un interface mémoire 5 permet
d'accéder à une mémoire vive 3 (RAM en terminologie anglo-
saxonne). La mémoire 3 est avantageusement composée de deux bancs mémoire reliés par des bus 41 à l'interface 5. Chacun des bancs mémoire est avantageusement partagé en pages mémoire, le nombre total des pages de mémoire étant avantageusement égal au nombre d'étages pipe-lines du processeur 100. Dans l'exemple Illustré sur la figure 2, le processeur 100 comportant quatre étages pipe-lines étant équivalent à quatre processeurs virtuels, chaque banc mémoire 3 comporte deux pages mémoire 30
et 32 d'une part, 31 et 33 d'autre part.
Pour pouvoir accéder à une donnée en mémoire 3, le processeur d'adresse 11 transmet par le bus d'adresse, non représenté, l'adresse de la donnée à lire ou à écrire. La donnée est transmise par l'intermédiaire du bus 41 de l'interface mémoire des bus 43 au dispositif de communication 16. Le dispositif de communication 16 transmet la donnée vers l'unité arithmétique et logique 13, le multiplieur 14, un des registres 20 du banc de registre 2 et/ou le dispositif de communication externe 15. L'interface mémoire 5 est d'autre part relié à un bus
d'entrée sortie 51.
Le dispositif d'accès direct mémoire 12 permet par l'intermédiaire du bus 51 de l'interface mémoire 5 de lire ou d'écrire en mémoire 3 sans passer par le dispositif de communication 16. Le partage de la mémoire vive 3 en deux bancs de, mémoire permet d'effectuer les accès directs mémoire dans un bane de mémoire pendant que l'autre bane de mémoire est en train d'échanger des informations par l'intermédiaire du
dispositif de communication 16.
Avantageusement le dispositif de communication 16 est relié à deux entrées de l'unité arithmétique et logique 13, à deux entrées du multiplieur 14, à une entrée du dispositif de communication extérieure. 15, à deux entrées du banc 2 du registre, à une entrée de l'interface mémoire 5, à une sortie de l'interface mémoire 5, à une sortie du bus de constante 52, à une sortie de l'unité arithmétique et logique 13, à une - sortie du multiplieur 14, à deux sorties du bane 2 du registre, à une sortie du dispositif de communication extérieure 15. Le dispositif de communication 16 permet, selon les instructions
qu'il reçoit, d'obtenir les diverses interconnexions désirées.
Dans un exemple de réalisation le dispositif de communication 16 comporte des multiplexeurs. Par exemple le dispositif de communication 16 cminporte huit multiplexeurs, 7 vers 1 c'est-à-dire pouvant choisir une sortie sur sept entrées possibles. Le dispositif de communication 16 permet ainsi au processeur selon l'invention d'exécuter divers calculs désirés. Les instructions sur les interconnexions à réaliser sont reçues soit à partir d'une mémoire de programme, soit à partir d'un séquenceur, non représentés. Le processeur d'adresse 11 est relié au bus 41 reliant l'interface mémoire 5 à la mémoire 3. Le processeur d'adresse 11 est relié par un bus d'adresse à la
mémoire vive 3.
Dans une variante de réalisation du calculateur selon l'invention, les divers éléments du calculateur comportent des dispositifs de test en lignes. En cas de détection d'un défaut
de fonctionnement le contenu du registre de status est modifié.
Sur la figure 3, on peut voir une variante du dispositif selon l'invention comportant des registres indicateurs ainsi que des registres de status. Ces registres reçoivent les données sur l'état du processeur 100 selon la présente invention permettant ou interdisant certaines opérations. Le dispositif indicateur 72 reçoit les indications I à partir de l'unité arithmétique et logique 13. Il les transmet aux registres de status 71. D'autre part le registre indicateur 72 et le registre de status 71 reçoivent les données provenant de l'extérieur nécessaires au bon fonctionnement du système. Les indications contenues dans le registre de status et le registre indicateur peuvent être lus directement soit sur un bus de 28 bits multiplexé par un
multiplexeur 63 avec l'unité arithmétique et logique 13.
Avantageusement, le registre indicateur 72 comporte un compteur commandable par l'unité arithmétique et logique 13 et par l'extérieur du processeur 100. Le compteur est par exemple un
compteur d'événements.
Certains accès du, ou au, registre indicateur 72, registre de status 71 et unité arithmétique et logique 13 sont inversés
par des opérateurs inverseurs 73.
Sur la figure 4, on peut voir la connexion du registre de status aux divers bus du processeur 100 selon l'invention. Bien qu'il ne soit pas possible de ne pas en tenir compte, la probabilité des pannes du dispositif selon la présente invention est très faible. Ainsi, dans la variante de réalisation illustrée sur la figure 4 on compacte au maximum toutes les informations concernant la panne pour consacrer au stockage et transmission de signaux d'erreur un minimum de matériel. Par exemple, le registre de status 71 stocke uniquement les informations sur un bit concernant le défaut de parité constaté
sur divers bus.
Avantageusement, le registre des status 71 stocke aussi les informations concernant le nombre total de processeurs 100, le nombre de processeurs 100 actifs, le fait que le calculateur 100
est lui-même ou non actif etc...
Par exemple le bus 47 comporte vingt-cinq bits plus un bit de parité, le bus 51 comporte vingt-quatre bits plus quatre bits de parité, le bus 501 comporte cinquante et un bits plus un ou trois bits de parité (selon l'instant de la période de réception), le bus 52 comporte douze bits plus quatre bits de parité, chacun des bus 50 comporte douze bits plus quatre bits de parité, les bus 41 comportent chacun vingt-quatre bits plus quatre bits de parité. Chacun desdits bus est relié à un boîtier de validation 80. Le boîtier de validation inscrit une information par exemple d'un bit dans le registre de status 71 au cas ou une erreur de parité a été détectée. Le contenu du registre de status 71 est susceptible d'être lu en parallèle par le séquenceur 502 de la figure 1 grâce au bus 50. Les séquenceurs 502 stockent par exemple dans la mémoire 31 le
contenu des registres de status 71 des divers processeurs 100.
Ainsi le processeur maître 101 peut venir consulter dans la mémoire 31 en utilisant les bus 45 et 44 le contenu des
registres de status de tous les processeurs 100.
Avantageusement, chaque fois qu'un des signaux issu des dispositifs de validation 80 est égal à 1, un bit est émis sur le bus 46 pour avertir le séquenceur 502 de l'existence d'un problème de fonctionnement dans le calculateur selon la présente invention. Sur la figure 5, on peut voir l'organigramme du programme exécuté par le processeur maître 101 et/ou le séquenceur 502 permettant la reconfiguration du calculateur selon la présente invention. En 60 on détermine si une erreur de fonctionnement a été
détectée.
Si non par la boucle 61 on retourne en 60.
14 2 2606184
Si oui on va en 63.
En 63 on détermine la source et la gravité de l'erreur.
On va en 64.
En 64 on effectue la reconfiguration du système par élimination du dispositif défectueux.
On va en 65.
En 65 la reconfiguration du dispositif selon. la présente
invention est terminée.
Sur la figure 6, on peut voir une variante de réalisation du
programme de la figure 5.
En 66 on détermine si on est en phase critique.
Si oui on va en 65.
En 65 on arrête la reconfiguration.
Si non on va en 60.
En 60 on détermine si une erreur a été détectée.
Si non par la boucle 61 on retourne en 60.
Si oui on va en 63.
En 63 on détermine la source et la gravité des erreurs constatées.
On va en 64.
En 64 on effectue la reconfiguration du système.
On va en 65.
En 65 la reconfiguration du dispositif selon la présente
invention est terminée.
Sur la figure 7, on peut voir une variante de réalisation du
programme de la figure 5.
En 60 on détermine si une erreur de fonctionnement a été détectée.
Si non on retourne en 60.
Si oui on va en 66.
En 66 on détermine si le calculateur selon la présente
invention se trouve dans une phase critique.
Si oui on retourne en 60.
Si non on va en 63.
En 63 on effectue la détermination de la source et de lagravité des erreurs constatées.
On va en 64.
En 64 on effectue la reconfiguration du système.
On va en 65.
En 65 l'exécution du programme est terminée.
Sur la figure 8, on peut voir une variante de réalisation du
programme de la figure 5.
En 60 on détermine si une erreur de fonctionnement a été détectée.
Si non on retourne en 60.
Si oui on va en 63.
En 63 on effectue la détermination de la source et de la
gravité des erreurs constatées.
On va en 66.
En 66 on détermine si le calculateur selon la présente
invention se trouve dans une phase critique.
Si oui on va en 60.
Si non on va en 64.
En 64 on effectue la reconfiguration du système.
On va en 65.
En 65 l'exécution du programme est terminée.
Dans une variante de réalisation non illustrée il est
possible d'avoir plusieurs seuils de gravité de phase critique.
La détection de ces seuils se trouve par exemple entre la détection d'erreur 60 et la détermination de la source et de la gravité d'erreur 63, d'une part, entre la détermination de la source de la gravité d'erreur 63 et la reconfiguration du
système 64 d'autre part.
Sur la figure 9, on peut voir l'organigramme du sous programme de détermination de source et de la gravité d'erreur
correspondant au bloc 63 des figures 7 et 8.
En 631 on effectue l'arrêt des calculs du calculateur selon
la présente invention.
On va en 632.
En 632 on effectue la lecture par exemple par l'intermédiaire du bus 50 du registre de status de tous les
dispositifs sous test par exemple des processeurs 100.
On va en 633.
En 633, le processeur maître 101 de la figure 1 effectue la lecture dans la mémoire 31 des valeurs contenues dans la
mémoire 31.
On va en 634. En 634 le processeur maître 101 détermine la source et la gravité des pannes survenues dans les calculateurs selon la
présente invention.
Sur la figure 10, on peut voir une variante de réalisation î0 des reconfigurations du calculateur selon la présente invention
ceci correspond au bloc 64 de la figure 5.
En 641 on effectue l'arrêt des calculs.
On va en 642.
En 642 on effectue une activation des processeurs 100.
On va en 643.
On 643 on effectue l'écriture des informations sur les interfaces des processeurs 100 permettant le redémarrage du processeur.
On va en 644.
En 644 on effectue l'écriture dans le registre de status des
processeurs 100.
Sur la figure 11, on peut voir une variante. de réalisation de la procédure de reconfiguration du calculateur selon la
présente invention. Ceci correspond au bloc 64 de la figure 5.
En 645 le processeur maître lit le nombre des processeurs
disponibles dans le calculateur.
On va en 646.
En 646 on effectue la renumérotation des processeurs 100 du calculateur. Avantageusement, tous les processeurs en état de marche sont numérotés dans l'ordre de leur position physique dans le calculateur. Ceci permet de simplifier les algorithmes de fonctionnement du calculateur. Toutefois, pour ne pas perdre les calculs présents dans les divers registres et mémoires du calculateur, il est possible de garder les numéros précédents des processeurs 100 en état de marche. Les processeurs 100
17 2606184
redondants venant remplacer en prenant le numéro du ou des
processeurs défaillants.
On va en 647.
En 647 on détermine si le nombre de processeurs en état de marche valide (N) est inférieur au nombre de processeurs
susceptibles d'être utilisés (H).
Si oui on va en 648.
En 648 on effectue le changement d'algorithme permettant de fonctionner au calculateur en mode dégradé avec un nombre de processeurs 100 disponibles réduit. Dans ce cas fi est possible que le processeur maître 101 soit obligé de recharger par l'intermédiaire des bus 44 et 45 de la mémoire 31 et par
l'intermédiaire des bus 48 et 53 de la mémoire 30.
On va en 649.
Si non on va en 649.
En 649 on effectue la réinislalisatlon des processeurs 100.
On va en 650.
En 650 on effectue le redémarrage du calculateur.
On va en 651.
En 651 la reconfiguration du dispositif selon la présente
invention est terminée.
Sur la figure 12, on peut voir un exemple de réalisation du sousprogramme de détermination de la source et de la gravité d'erreur, correspondant au bloc 63 de la figure 5 adapté à une structure de calculateur dans lequel la lecture du mot de status
* est effectuée par l'intermédiaire du bus en anneau 50.
En 641 on effectue l'arrêt des calculs.
En 647 on effectue l'émission sur le bus 46 d'un bit
indiquant e mauvais fonctionnement du système.
On va en 648. En 648 on effectue le décalage d'une unité
des valeurs du registre de status 71 sur le bus en anneau 50.
On va en 649.
En 649 on effectue la lecture sur le bus 50 d'une valeur du
registre de status 71.
On va en 650.
En 650 on incrémente le compteur d'une unité.
En 650 on va en 651.
En 651 on vérifie que la valeur des registres de status 71
de tous les processeurs 100 n'a pas encore été lue.
Si oui on va en 648.
Si non on va en 652. En 652 le processeur maître 51 détermine les éléments du calculateur qui présentent un défaut et détermine la gravité de
ces défauts.
La présente invention s'applique A la réalisation de
calculateur vectoriel de grande puissance de traitement.
L'invention s'applique notamment au calcul d'images bidimensionnelles -et tridimensionnelles, au traitement du signal notamment au radar et sonar, au calcul scientifique ainsi qu'à
la surveillance de processus industriel.

Claims (16)

REVENDICATIONS
1. Calculateur comportant une pluralité de processeurs (100) de calcul, caractérisé par le fait qu'il comporte des dispositifs redondants susceptibles, en cas de panne de
remplacer un dispositif défectueux.
2. Calculateur selon la revendication 1, caractérisé par le fait qu'il comporte un séquenceur (502) susceptible de fournir simultanément à tous les processeurs (100) en fonctionnement les
instructions à exécuter.
3. Calculateur selon la revendication 1 ou 2, caractérisé par le fait que lors de l'initialisation des calculs à chaque
processeur (100) est assigné un numéro.
4. Calculateur selon la revendication 1, 2 ou 3, caractérisé par le fait qu'il comporte un bus en anneau (50) reliant les
processeurs (100).
5. Calculateur selon la revendication 3 ou. 4, caractérisé par le fait qu'en cas de panne d'un processeur (100), les processeurs (100) en état de marche sont renumérotés en
fonction de leur position physique dans le calculateur.
6. Calculateur selon la revendication 3 ou 4, caractérisé par le fait qu'en cas de panne d'un processeur (100), on assigne à un processeur redondant le numéro du processeur (100) en parne.
7. Calculateur selon l'une quelconque des revendications
précédentes, caractérisé par le fait qu'il comporte un processeur (101) d'usage général susceptible d'assurer l'initialisation du système lors du démarrage des calculs, de renuméroter les processeurs (100) et assurer le redémarrage du
calculateur après une panne.
2606184
8. Calculateur selon la revendication 7, caractérisé par le fait que le processeur d'usage général (101) est un microprocesseur.
9. Calculateur selon l'une quelconque des revendications
précédentes, caractérisé par le fait que le processeur d'usage général (101) est susceptible de déterminer l'instant à partir duquel la reconfiguration du système sera moins gênante que la poursuite des calculs avec un calculateur partiellement défaillant.
10. Calculateur selon la revendication 9, caractérisé par le fait que le processeur d'usage général (101) est susceptible d'effectuer une reconfiguration partielle du calculateur minimisant les effets de la panne d'au moins un dispositif du calculateur suivi par la reconfiguration complète du calculateur à un instant o cette reconfiguration complète est moins gênant
pour les taches assignées audit calculateur.
11. Calculateur selon l'une quelconque des revendications
précédentes, caractérisé par le fait qu'il est susceptible de fonctionner en mode dégradé, en répartissant les calculs à effectuer aux processeurs (100) en bon état de fonctionnement, dans le cas o le nombre de processeurs en panne est supérieur
au nombre de processeurs (100) redondants.
12. Calculateur selon l'une quelconque des revendications
précédentes, caractérisé par le fait que le dispositif susceptible d'être remplacé en cas de panne comporte un registre (71) susceptible de stocker des informations concernant le
mauvais fonctionnement du dispositif.
13. Calculateur selon la revendication 12, caractérisé par le fait que l'information concernant le mauvais fonctionnement du dispositif est l'inversion d'un bit en cas de détection d'une
erreur de parité lors d'une transmission.
14. Calculateur selon la revendication 12 ou 13, caractérisé par le fait que chaque erreur détectée provoque l'envoi sur un
bus (46) d'une information au séquenceur (502).
15. Calculateur selon la revendication. 12, 13 ou 14, caractérisé par le fait que le contenu du registre (71) susceptible de stocker des informations concernant le défaut de fonctionnement est susceptible d'être lu par le processeur d'usage général (101) et/ou le séquenceur (502) par
l'intermédiaire d'un bus série (46).
16. Calculateur selon l'une quelconque des revendications
précédentes, caractérisé par le fait que les processeurs (100) sont susceptibles de recevoir une commande de désactivation du processeur.
FR8615241A 1986-10-31 1986-10-31 Dispositif de calcul reconfigurable Expired - Lifetime FR2606184B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR8615241A FR2606184B1 (fr) 1986-10-31 1986-10-31 Dispositif de calcul reconfigurable
US07/114,109 US4891810A (en) 1986-10-31 1987-10-27 Reconfigurable computing device
DE8787402431T DE3781873T2 (de) 1986-10-31 1987-10-28 Rekonfigurierbare rechenanordnung.
EP87402431A EP0272165B1 (fr) 1986-10-31 1987-10-28 Dispositif de calcul reconfigurable
JP62277239A JPS63141139A (ja) 1986-10-31 1987-10-31 構成の変更が可能なコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8615241A FR2606184B1 (fr) 1986-10-31 1986-10-31 Dispositif de calcul reconfigurable

Publications (2)

Publication Number Publication Date
FR2606184A1 true FR2606184A1 (fr) 1988-05-06
FR2606184B1 FR2606184B1 (fr) 1991-11-29

Family

ID=9340434

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8615241A Expired - Lifetime FR2606184B1 (fr) 1986-10-31 1986-10-31 Dispositif de calcul reconfigurable

Country Status (5)

Country Link
US (1) US4891810A (fr)
EP (1) EP0272165B1 (fr)
JP (1) JPS63141139A (fr)
DE (1) DE3781873T2 (fr)
FR (1) FR2606184B1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997022046A2 (fr) * 1995-11-29 1997-06-19 Texas Micro Inc. Systeme de memoire a points de reprise eloigne et protocole pour systeme informatique insensible aux defaillances
US5787243A (en) * 1994-06-10 1998-07-28 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US8868975B2 (en) 2011-07-26 2014-10-21 International Business Machines Corporation Testing and operating a multiprocessor chip with processor redundancy

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0358785B1 (fr) * 1988-09-12 1993-11-24 Siemens Aktiengesellschaft Dispositif pour la mise en fonctionnement d'un système multiprocesseur répondant destiné à la commande d'une cabine à signaux électronique dans la technique des signaux de chemin de fer
EP0365905B1 (fr) * 1988-10-28 1994-05-11 Siemens Aktiengesellschaft Procédé pour contrôler centralement des centraux de télécommunication
US5689647A (en) * 1989-03-14 1997-11-18 Sanyo Electric Co., Ltd. Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
US5133073A (en) * 1990-05-29 1992-07-21 Wavetracer, Inc. Processor array of N-dimensions which is physically reconfigurable into N-1
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
US5333274A (en) * 1991-10-15 1994-07-26 International Business Machines Corp. Error detection and recovery in a DMA controller
US5313628A (en) * 1991-12-30 1994-05-17 International Business Machines Corporation Component replacement control for fault-tolerant data processing system
US5271014A (en) * 1992-05-04 1993-12-14 International Business Machines Corporation Method and apparatus for a fault-tolerant mesh with spare nodes
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5574914A (en) * 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
US5513313A (en) * 1993-01-19 1996-04-30 International Business Machines Corporation Method for generating hierarchical fault-tolerant mesh architectures
US5515501A (en) * 1994-01-21 1996-05-07 Unisys Corporation Redundant maintenance architecture
US5491609A (en) * 1994-02-28 1996-02-13 Telepad Portable electronic platform system
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US7266725B2 (en) * 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5675768A (en) * 1996-02-01 1997-10-07 Unisys Corporation Store software instrumentation package instruction
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
EP1329816B1 (fr) * 1996-12-27 2011-06-22 Richter, Thomas Procédé pour le transfert dynamique automatique de processeurs à flux de données (dfp) ainsi que de modules à deux ou plusieurs structures cellulaires programmables bidimensionnelles ou multidimensionnelles (fpga, dpga ou analogues)
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
CA2206737C (fr) * 1997-03-27 2000-12-05 Bull S.A. Architecture en reseau de machine informatique
US5890008A (en) * 1997-06-25 1999-03-30 Sun Microsystems, Inc. Method for dynamically reconfiguring a processor
US6219467B1 (en) * 1997-07-15 2001-04-17 Fuji Photo Film Co. Ltd. Image processing device
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
EP1342158B1 (fr) 2000-06-13 2010-08-04 Richter, Thomas Protocoles et communication d'unites de configuration de pipeline
US8058899B2 (en) * 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
AU2002220600A1 (en) 2000-10-06 2002-04-15 Pact Informationstechnologie Gmbh Cell system with segmented intermediate cell structure
US6990555B2 (en) 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US6449209B1 (en) * 2001-01-19 2002-09-10 Samsung Electronics Co., Ltd. Semiconductor memory device comprising more than two internal banks of different sizes
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) * 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
WO2005045692A2 (fr) * 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Dispositif et procede de traitement de donnees
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
EP1402382B1 (fr) * 2001-06-20 2010-08-18 Richter, Thomas Procede de traitement de donnees
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
AU2003214046A1 (en) * 2002-01-18 2003-09-09 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
US8281108B2 (en) * 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
ATE402446T1 (de) 2002-02-18 2008-08-15 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US7017074B2 (en) * 2002-03-12 2006-03-21 Sun Microsystems, Inc. System architecture providing redundant components to improve die yields and system reliability
US20060075211A1 (en) * 2002-03-21 2006-04-06 Martin Vorbach Method and device for data processing
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (fr) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Procede et dispositif de traitement de donnees
AU2003289844A1 (en) * 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
EP1634182A2 (fr) * 2003-06-17 2006-03-15 PACT XPP Technologies AG Dispositif et procede de traitement de donnees
US7272813B2 (en) * 2004-09-15 2007-09-18 Omnivision Technologies, Inc. Transparent re-mapping of parallel computational units
EP1849095B1 (fr) * 2005-02-07 2013-01-02 Richter, Thomas Dispositif de traitement de donnees massivement parallele a faible latence
US7281942B2 (en) * 2005-11-18 2007-10-16 Ideal Industries, Inc. Releasable wire connector
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
WO2008047179A1 (fr) * 2006-10-20 2008-04-24 Freescale Semiconductor, Inc. Dispositif doté d'un noyau redondant et procédé permettant de fournir une redondance de noyaux
US8266476B2 (en) * 2006-11-09 2012-09-11 Sony Computer Entertainment Inc. Multiprocessor system, its control method, and information recording medium
US7856562B2 (en) * 2007-05-02 2010-12-21 Advanced Micro Devices, Inc. Selective deactivation of processor cores in multiple processor core systems
US20100272811A1 (en) * 2008-07-23 2010-10-28 Alkermes,Inc. Complex of trospium and pharmaceutical compositions thereof
US10802929B2 (en) * 2018-01-03 2020-10-13 Tesla, Inc. Parallel processing system runtime state reload

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2343379A1 (fr) * 1976-03-04 1977-09-30 Post Office Equipement de traitement des donnees
GB2079997A (en) * 1980-07-11 1982-01-27 Raytheon Co Data processing apparatus
EP0062463A1 (fr) * 1981-03-31 1982-10-13 British Telecommunications Systèmes à calculatrices et processeurs de commande
EP0139069A2 (fr) * 1983-09-08 1985-05-02 Hitachi, Ltd. Système de traitement réparti avec diagnostic d'erreur
FR2569071A1 (fr) * 1983-09-30 1986-02-14 Thomson Csf Dispositif de traitement numerique de signal

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4231015A (en) * 1978-09-28 1980-10-28 General Atomic Company Multiple-processor digital communication system
US4347563A (en) * 1980-06-16 1982-08-31 Forney Engineering Company Industrial control system
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
US4562575A (en) * 1983-07-07 1985-12-31 Motorola, Inc. Method and apparatus for the selection of redundant system modules
EP0140712B1 (fr) * 1983-10-31 1989-08-23 Beale International Technology Limited Système et procédé de transmission de données
US4654846A (en) * 1983-12-20 1987-03-31 Rca Corporation Spacecraft autonomous redundancy control
DE3486257T2 (de) * 1984-01-09 1994-04-21 Hitachi Ltd Synchrones dezentralisiertes Verarbeitungssystem.
US4635184A (en) * 1984-12-17 1987-01-06 Combustion Engineering, Inc. Distributed control with mutual spare switch over capability

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2343379A1 (fr) * 1976-03-04 1977-09-30 Post Office Equipement de traitement des donnees
GB2079997A (en) * 1980-07-11 1982-01-27 Raytheon Co Data processing apparatus
EP0062463A1 (fr) * 1981-03-31 1982-10-13 British Telecommunications Systèmes à calculatrices et processeurs de commande
EP0139069A2 (fr) * 1983-09-08 1985-05-02 Hitachi, Ltd. Système de traitement réparti avec diagnostic d'erreur
FR2569071A1 (fr) * 1983-09-30 1986-02-14 Thomson Csf Dispositif de traitement numerique de signal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE PROCEEDINGS OF THE ANNUAL SYMPOSIUM ON COMPUTER ARCHITECTURE, University of Florida, 9-11 décembre 1973, Symposium 1, pages 141-145, IEEE, New York, US; B.PARHAMI et al.: "Design of fault-tolerant associative processors" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787243A (en) * 1994-06-10 1998-07-28 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
WO1997022046A2 (fr) * 1995-11-29 1997-06-19 Texas Micro Inc. Systeme de memoire a points de reprise eloigne et protocole pour systeme informatique insensible aux defaillances
WO1997022046A3 (fr) * 1995-11-29 1997-09-25 Sequoia Systems Inc Systeme de memoire a points de reprise eloigne et protocole pour systeme informatique insensible aux defaillances
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US8868975B2 (en) 2011-07-26 2014-10-21 International Business Machines Corporation Testing and operating a multiprocessor chip with processor redundancy

Also Published As

Publication number Publication date
EP0272165A1 (fr) 1988-06-22
DE3781873D1 (de) 1992-10-29
DE3781873T2 (de) 1993-02-11
US4891810A (en) 1990-01-02
JPS63141139A (ja) 1988-06-13
EP0272165B1 (fr) 1992-09-23
FR2606184B1 (fr) 1991-11-29

Similar Documents

Publication Publication Date Title
FR2606184A1 (fr) Dispositif de calcul reconfigurable
EP0699997B1 (fr) Procédé et dispositif pour l'identification de pannes dans un système complexe
EP1116116B1 (fr) Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques
FR2486682A1 (fr) Systeme de traiteme
FR2704341A1 (fr) Dispositif de protection des clés d'une carte à puce.
FR2480458A1 (fr) Dispositif pour transferer des informations entre des unites d'un systeme de traitement de donnees
FR2938358A1 (fr) Interface de memoire securisee
FR2737030A1 (fr) Procede de transfert de messages dans un systeme informatique multinodal
FR2730074A1 (fr) Architecture de calculateur tolerante aux fautes
EP0102434B1 (fr) Dispositif pour signaler à l'unité de commande centrale d'un équipement de traitement de données, les erreurs se produisant dans les adaptateurs
FR2926377A1 (fr) Circuit et procede de traitement d'erreurs dans des systemes fonctionnant en temps reel
CA2770955A1 (fr) Dispositif pour l'amelioration de la tolerance aux fautes d'un processeur
EP0032862B1 (fr) Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information
FR2889005A1 (fr) Integrite materielle permanente des donnees
EP2836913B1 (fr) Dispositif pour générer une signature à l'exécution d'une tâche de programme et méthode de comparaison de flots d'exécution
EP0032864B1 (fr) Dispositif pour décentraliser la gestion du bus de transfert de données commun à plusieurs unités d'un système de traitement de l'information
WO2003107185A1 (fr) Procede et systeme de gestion des evenements____________________
FR2611052A1 (fr) Dispositif de test de circuit electrique et circuit comportant ledit dispositif
EP0426531B1 (fr) Système de test d'un microprocesseur
FR2688902A1 (fr) Unite d'automate ou d'automatisme programmable.
FR2717921A1 (fr) Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.
US11809323B1 (en) Maintaining real-time cache coherency during distributed computational functions
FR2894694A1 (fr) Procede et dispositif de mise au point d'un programme execute par un processeur multitache
EP1340147B1 (fr) Dispositif et procede de codage pour un sous-ensemble de detection et correction d'erreurs memoire dans un systeme electronique
FR2558633A1 (fr) Appareil d'emmagasinage de donnees

Legal Events

Date Code Title Description
CL Concession to grant licences
ST Notification of lapse