FR2602891A1 - Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise - Google Patents

Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise Download PDF

Info

Publication number
FR2602891A1
FR2602891A1 FR8711676A FR8711676A FR2602891A1 FR 2602891 A1 FR2602891 A1 FR 2602891A1 FR 8711676 A FR8711676 A FR 8711676A FR 8711676 A FR8711676 A FR 8711676A FR 2602891 A1 FR2602891 A1 FR 2602891A1
Authority
FR
France
Prior art keywords
signal
processor
instruction
error
execute
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
FR8711676A
Other languages
English (en)
Other versions
FR2602891B1 (fr
Inventor
Akihisa Makita
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of FR2602891A1 publication Critical patent/FR2602891A1/fr
Application granted granted Critical
Publication of FR2602891B1 publication Critical patent/FR2602891B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream
    • 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/2038Error 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 a single 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/2043Error 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 a common memory address space
    • 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
    • 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/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

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

Abstract

A.SYSTEME DE CORRECTION D'ERREUR D'UN SYSTEME A MULTIPROCESSEURS POUR CORRIGER UNE ERREUR DANS UN PROCESSEUR EN METTANT LE PROCESSEUR EN CONDITION DE CONTROLE APRES ACHEVEMENT DU REDEMARRAGE DU MICROPROGRAMME A PARTIR D'UN POINT DE REPRISE. B.DANS UN SYSTEME A MULTIPROCESSEURS TRAITANT DES INSTRUCTIONS SOUS COMMANDE D'UN MICROPROGRAMME, UN SYSTEME DE CORRECTION D'ERREUR 20 EST ACTIVE LORS DE LA SURVENANCE D'UNE ERREUR INTERMITTENTE DANS L'UN DES PROCESSEURS 11, 12 POUR REDEMARRER LE MICROPROGRAMME A PARTIR D'UN POINT DE REPRISE DANS LE PROCESSEUR DEFAILLANT SI CELA EST POSSIBLE; ET EST ACTIVE, LORS DE LA SURVENANCE D'UNE ERREUR PHYSIQUE, POUR QU'UN AUTRE PROCESSEUR PRENNE LA RELEVE DE L'EXECUTION DE L'INSTRUCTION EN COURS DE TRAITEMENT. APRES ACHEVEMENT DU REDEMARRAGE DU MICROPROGRAMME, LE PROCESSEUR DEFAILLANT PRODUIT UN SIGNAL D'ERREUR PHYSIQUE POUR AMENER L'AUTRE PROCESSEUR A PRENDRE LA RELEVE. C.L'INVENTION CONSTITUE UNE AMELIORATION DES SYSTEMES A PROCESSEURS SANS PANNE.

Description

TITRE: Système de correction d'erreur d'un système à multiprocesseurs pour
corriger une erreur dans un processeur en mettant le processeur en condition de contrôle après achèvement du redémarrage du microprogramme à partir d'un point de reprise La présente invention se rapporte à un système de correction d'erreur pour employer dans un système d'ordinateur numérique élec5 tronique comportant une pluralité de processeurs et, en particulier, à un tel système de correction d'erreur pour emploi dans un système à
multiprocesseurs étroitement couplés.
Comme système d'ordinateur numérique électronique, on connaît dans l'art antérieur un système à multiprocesseurs étroitement cou10 plus qui comporte une mémoire principale pour mémoriser une pluralité de programmes et une,pluralité de processeurs pour traiter les programmes. Chaque programme comporte une succession d'instructions. En tant que l'un des systèmes connus à multiprocesseurs étroitement couples, le système ACOS 1500 fabriqué par NEC Corporation est décrit 15 par M. Baba et collaborateurs dans NIKKEI ELECTRONICS N 373 édité
par NIKKEI Mc Graw-Hill co. le 15 juillet 1985 sous le titre: "A large computer ACOS 1500 having an increased processing speed by use of twolevel cashe and an improvement of pipeline processing/Un grand ordinateur ACOS 1500 à vitesse de traitement augmentée par l'emploi 20 de caches à deux niveaux et une amélioration du traitement par pipeline" (Référence 1) .
Lors de la survenahce d'une erreur ou d'une faute au cours de
l'exécution de l'une des instructions dans l'un des processeurs de l'ordinateur ACOS 1500, le processeur est mis en mesure de faire une 25 nouvelle tentative d'exécution de l'instruction pour corriger l'er-
reur qui est dans l'un des processeurs, comme décrit dans la Référence 1. Si l'erreur est intermittente ou transitoire, cette nouvelle tentative se traduit par un succès. On continue alors à utiliser le processeur dans le système de l'ordinateur. Si l'erreur provient de 5 l'usure, de l'état du matériel ou s'il s'agit d'une erreur physique, cette nouvelle tentative ne se termine pas bien ou se termine par une défaillance. On met alors le processeur en condition de contrôle et on fait appel à un autre des processeurs pour prendre la relève pour poursuivre l'exécution de l'instruction en transférant dans un autre 10 processeur, par l'intermédiaire de la mémoire principale, les données
de statut qui sont dans le processeur défaillant.
Une instruction appelée dans l'un des processeurs est exécutée par un moyen d'exécution du processeur mentionné sous la commande d'un microprogramme comprenant une succession de micropas. Dans l'or15 dinateur ACOS 1500, le microprogramme a au moins un point de reprise prédéterminé dans les micropas. Si une erreur se produit dans l'un des processeurs, le microprogramme est redémarré à partir du dernier point de reprise avant la survenance de l'erreur, comme décrit dans
la Référence 1.
Si le redémmarage du microprogramme se termine par un succès, on continue à utiliser le processeur mentionné comme processeur
normal dans le système.
Toutefois, lorsqu'un processeur a donné lieu une fois à une erreur, une autre erreur tend àse produire à nouveau dans le proces25 seur même après que la nouvelle tentative se soit bien terminée, ce
qui se traduit par le fait que le système tombe en panne.
La spécification de brevet britannique N 1 163 859 (Référence 2) par J.A. Arulpragasam décrit un système de correction d'erreur pour, lors de la survenance d'une erreur dans l'un des pro30 cesseurs, faire en sorte que l'autre processeur prenne la relève pour assurer l'exécution de l'instruction exécutée dans le processeur défaillant en transférant dans un autre processeur, par l'intermédiaire de la mémoire principale, les données de statut qui sont dans le
processeur défaillant.
Le brevet U.S. N 4 443 849 (Référence 3) par Ohwada attri-
bué à Nippon Electrics Co., Ltd, décrit un système de correction d'erreur pour transférer dans un autre processeur les données de statut qui sont dans le processeur défaillant, par l'intermédiaire
non pas de la mémoire principale mais d'une mémoire supplémentaire. S Par contre, ces références 2 et 3 ne parlent pas du redémarrage du microprogramme.
Un but de la présente invention est de proposer un système de correction d'erreur pour emploi dans un sytème à multiprocesseurs qui, lors de la survenance d'une erreur dans l'un des processeurs, 10 est capable de mettre le processeur mentionné en condition de contr8le après achèvement du redémarrage du microprogramme à partir du
point de reprise, réduisant ainsi l'effet d'une panne d'un système.
Un système de correction d'erreur auquel cette invention peut s'appliquer est prévu pour emploi en combinaison avec un système 15 d'ordinateur électronique comportant une mémoire principale pour mémoriser une pluralité de programmes, ainsi qu'une pluralité de processeurs pour traiter les programmes. Chaque programme comporte une succession d'intructions. Chaque processeur comporte des moyens d'exécution pour appeler celles des instructions qui ont été choisies 20 et pour exécuter, sous la commande du microprogramme, chacune des instructions choisies, au cours d'une première période de temps durant laquelle il est possible de faire une nouvelle tentative d'exécution de l'instruction choisie, et une seconde période de temps au cours de laquelle il n'est pas possible de faire une nouvelle ten25 tative d'exécution de l'instruction choisie, pour obtenir de nombreuses informations. Le microprogrammme comporte une succession de micropas et présente un premier intervalle au cours duquel il est possible de redémarrer le microprogramme à partir d'un point de reprise à un micropas prédéterminé. Chaque processeur comporte en 30 outre des moyens de surveillance pour surveiller l'opération que font
des moyens d'exécution pour produire un signal d'erreur lorsqu'une erreur est détectée au cours de l'exécution de l'une, particulière, des instructions choisies et pour suspendre l'exécution de l'instruction particulière; comporte également des moyens de production d'un 35 signal de validation d'une nouvelle tentative d'exécution de l'ins -
truction opérationnellement couplés aux moyens de surveillance pour produire un signal de validation d'une nouvelle tentative d'exécution de la solution au cours de la première période de temps; et comporte également des moyens de production d'un signal de validation du redE5 marrage du microprogramme opérationnellement couplés aux moyens de surveillance pour produire un signal de validation du redémarrage du microprogramme au cours du premier intervalle. Le système de correction d'erreur est sensible au signal d'erreur provenant des moyens de surveillance qui sont dans un premier des processeurs et il accède 10 aux moyens de production du signal de validation du redémarrage du microprogramme qui sont dans le premier processeur pour produire un signal de redémarrage du microprogramme lorsque le signal de validation du redémarrage du microprogramme est détecté, en provenance des moyens de production du signal de validation du redémarrage du micro15 programme. En réponse au signal de redémarrage du microprogramme, le
premier processeur procède au redémarrage du microprogramme à partir du point de reprise. Le système de correction d'erreur est active lors de la survenance d'une erreur physique dans le premier processeur pour faire en sorte qu'un second des processeurs prenne la relè20 ve pour l'exécution de l'instruction particulière.
Selon la présente invention, le premier processeur comporte en outre des moyens de génération d'un signal d'erreur physique opérationnellement couplés aux moyens de surveillance qui y sont pour, après achèvement du redémarrage du microprogramme, détecter le 25 signal de validation de nouvelle tentative d'exécution de l'instruction provenant des moyens de production du signal de validation de nouvelle tentative d'exécution de l'instruction qui sont dans le premier processeur pour produire un signal d'erreur physique. Le système de correction d'erreur comporte des moyens sensibles au signal 30 d'erreur physique pour produire un signal de prise de relève pour
mettre ainsi le premier processeur dans une condition de contrôle.
La Figure 1 est un diagramme par blocs d'un système de correction d'erreur en combinaison avec un système à multiprocesseurs selon une réalisation de la présente invention; la Figure 2 est un ordinogramme pour illustrer l'exécution d'une instruction typique dans un processeur; la Figure 3 est un ordinogramme pour illustrer, à titre d'exemple, un intervalle de redémarrage du microprogamme en liaison avec un microprogramme pour commander l'exécution d'une instruction de sauvegarde des données pour groupage; les Figures 4A, 4B, 4C sont des vues de différentes sections d'un ordinogramme illustrant le fonctionnement d'une unité de correction d'erreur représentée sur la Figure 1, A et B sur la Figure 4A étant connectés à A sur la Figure 4B et à B sur la Figure 4C, respec10 tivement;
la Figure 5 est un ordinogramme pour illustrer le fonctionnement d'un générateur d'erreur physique représenté sur la Figure 1.
En se rapportant à la Figure 1, un système d'ordinateur numérique électronique ou un système à microprocesseurs étroitement 15 couplés, en combinaison avec un sytème de correction d'erreur conforme à une réalisation de la présente invention, comporte une mémoire principale 10 qui mémorise une pluralité de programmes. Chaque programme comporte une succession d'instructions. Le système d'ordinateur présente une pluralité de processeurs (le premier et le second 20 processeurs 11 et 12 sont indiqués à titre d'exemple sur la figure)
pour traiter celles des instructions qui ont été choisies. Le premier et le second processeurs 11 et 12 sont couplés avec la mémoire principale 10 par l'intermédiaire d'une unité de commande du système 13.
La mémoire principale 10 présente un sytème d'exploitation (OS) 14 25 pour prendre en charge les activités du système d'ordinateur luimeme.
La mémoire principale 10 présente une zone de mémoire 15 qui
a un premier et un second indicateurs d'activité 151 et 152 de cellules de mémoire pour indiquer les conditions d'activité du premier et 30 du second processeurs 11 et 12, respectivement.
L'unité de commande du système 13 comporte un premier et un second indicateurs de connexion 131 et 132 tels que des bascules électroniques pour indiquer la connexion du premier et du second processeurs 11 et 12 avec le système d'ordinateur, respectivement. 35 Lorsque les processeurs 11 et 12 ne sont pas connectés au système d'ordinateur, les bascules 131 et 132 sont invalidées respectivement. Les bascules 131 et 132 sont validées lors de la réalisation de
la connexion des processeurs respectifs au système.
L'unité de commande du système 13 présente en outre un premier et un second indicateurs 136 et 137 de condition de contrôle des processeurs tels que des bascules électroniques pour indiquer les conditions de contrôle du premier et du second processeurs 11 et 12, respectivement. Si l'un du premier et du second processeurs 11 et 12 10 rencontre une erreur physique, le processeur mentionné se trouve dans une condition de contrôle et l'indicateur correspondant, parmi le premier et le second indicateurs 136 et 137 de condition de contrôle
des processeurs, est validé.
Le premier processeur 11 comporte un circuit d'exécution 111 15 pour appeler en mémoire principale 10 celle des instructions qui
était choisie et pour exécuter, sous la commande du microprogramme, l'instruction choisie pour produire de nombreuses informations.
L'exécution de l'instruction choisie par le circuit d'exécution 111 se fait sur une durée de temps constituée d'une première période de 20 temps au cours de laquelle il est possible de tenter une nouvelle exécution de l'instruction choisie et d'une seconde période de temps au cours de laquelle il n'est pas possible de tenter une nouvelle exécution de l'instruction choisie, comme ceci sera expliqué plus loin en détail en se référant à la figure 2. Le circuit d'exgcu25 tion 111 présente des registres (non représentés) tels qu'un registre général, un compteur d'instructions, et autres, qui sont appelés
registres visibles du logiciel.
Le premier processeur 111 comporte en outre un circuit de surveillance 112 pour surveiller l'activité du circuit d'execu30 tion 111. Le circuit de surveillance 112 comporte un circuit de détection d'erreur (non représenté) tel qu'un circuit de contrôle de parité, un circuit de décision logique concernant la coïncidence de résultats arithmétiques, un circuit de contrôle de la légalité de séquence, et/ou d'autres circuits. Chaque circuit de détection d'er35 reur produit un signal d'erreur (ER) lorsqu'il détecte une erreur au cours de l'exécution de l'instruction choisie par le circuit d'exécution 111. En réponse à un signal d'erreur, le circuit de surveillance 112 suspend l'exécution de l'instruction choisie, comme
décrit dans la Référence 3.
En se rapportant à la Figure 2, l'exécution de l'instruction
choisie par le circuit d'exécution 111 comporte une pluralité de pas successifs Sl-S5, comme cela est bien connu de l'homme de l'art.
Après le démarrage du circuit d'exécution 111, celle des instructions qui se trouvent dans la mémoire principale 10 qui a été choisie est 10 appelée au premier pas S1 et l'instruction appelée est alors interprétée au second pas S2. Puis l'exécution, par exemple arithmétique, se fait au troisième pas S3 et le résultat exécuté est mémorisé, au quatrième pas S4, dans un zone prédéterminée, par exemple un registre dans le processeur. Le pas final S5 est un pas pour actualiser 15 l'adresse d'instruction en passant à l'adresse suivante.
Dans un processeur exécutant une instruction habituelle, s'il se produit une erreur à l'intérieur d'un intervalle allant d'un pas S1 à un point intermédiaire dans le pas S4 juste avant achèvement de la mémorisation du résultat exécuté, on peut procéder à une 20 nouvelle tentative à partir du début de l'instruction habituelle. Par conséquent, l'intervalle est la première période de temps telle que décrite ci-dessus. Toutefois, lorsqu'il survient une erreur dans un autre intervalle allant du point d'achèvement de la mémorisation des résultats exécutés, au pas S4, jusqu'au pas S5, il est impossible de 25 tenter à nouveau d'exécuter l'instruction. La seconde période de temps décrite ci-dessus, est l'intervalle allant du point d'achèvement de la mémorisation des résultats exécutés, au pas S4, jusqu'au
pas S5.
En liaison avec certaines des instructions, telles que des 30 instructions pour actualiser le contenu des registres visibles du logiciel et pour actualiser les données mémorisées dans la mémoire principale 10, une nouvelle tentative d'exécution de l'instruction est impossible après actualisation de l'information qui est dans les registres visibles du logiciel et/ou dans la mémoire principale 10 au 35 pas S3, du fait que l'information nécessaire pour l'exécution de
l'instruction est modifiée par l'actualisation. Par conséquent, pour les instructions en question, la première période de temps est un intervalle allant du pas S1 a un point intermédiaire du pas S3, juste avant achèvement de l'actualisation, tandis que la seconde période de 5 temps est un intervalle allant du point d'achèvement de l'actualisation, au pas S3, jusqu'au pas S5.
En se rapportant à nouveau à la Figure 1, le premier processeur 11 présente un circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction, circuit qui est 10 couplé op6rationnellement avec le circuit de surveillance 112. Le circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction produit, au cours de la premiere période de temps, un signal de validation de nouvelle tentative d'exécution de l'instruction. Une bascule électronique sert également 15 comme circuit 113 de production du signal de validation de nouvelle
tentative d'exécution de l'instruction et cette bascule est validée au cours de la premiere période de temps mais invalidée au cours de la seconde période de temps, sous la commande du matériel informatique ou du microprogramme.
En liaison avec certaines des instructions décrites cidessus, il y a des cas o, même si une erreur se produit après le point d'achèvement de l'actualisation au cours de l'exécution des instructions, il est possible d'achever l'exécution de l'instruction par redémarrage du microprogramme. C'est à dire que, si l'information 25 actualisée n'est absolument pas en relation avec la suite de l'exécution de l'instruction, ou s'il est possible de récupérer l'information modifiée en redémarrant à partir d'un micropas prédéterminé, ou d'un point de reprise dans le microprogramme, l'exécution de l'instruction se poursuit par redémarrage du microprogramme à partir du 30 point de reprise, comme décrit dans la Référence 1.
Le redémarrage du microprogramme n'est pas possible si une erreur se produit après que l'on soit parvenu au point d'achèvement de la mémorisation du résultat exécuté, au pas S4. Un intervalle allant du point de reprise jusqu'au point d'achèvement de la mémori35 sation du résultat à exécuter, au pas S4, est appelé un intervalle de
Z602891
validation de redémarrage du microprogramme.
En se rapportant à nouveau à la Figure 1, le circuit 114 de production du signal de validation du redémarrage du microprogramme, tel qu'une bascule ilctronique 114, est opgrationnellement couplé 5 avec le circuit de surveillance 112 et il est validé pour produire un signal de validation de redémarrage du microprogramme au cours de l'intervalle de validation du redémarrage du microprogramme, sous la
commande du matériel informatique ou du microprogramme.
En se rapportant à la Figure 3, elle donne, à titre d'exem10 ple, une description des micropas d'exécution d'une instruction de
sauvegarde des données pour groupage.
Un micropas A0 est est un pas préparatoire pour groupage, dans lequel sont rangées en mémoire principale, selon une adresse donnée par le contenu (T) du registre d'adresses T, les données indi15 quant la pluralité des registres de base et la pluralité des registres généraux dont il faut sauvegarder le contenu dans la mémoire principale 10. Au micropas suivant A1, la somme (T + 4) de "4" et du contenu (T) du registre d'adresses T est rangée dans un registre de
travail y.
Le micropas A1 est prédéterminé commrne étant le point de reprise décrit ci-dessus. Par conséquent le signal de validation de redémarrage du microprogramme (MRE) est produit par le circuit 114 de production du signal de validation de redémarrage du microprogramme (Figure 1), c'est-àdire que la bascule électronique est validée à ce 25 micropas A1. Au même instant, une adresse de microprogramme (A1)
correspondant au micropas A1 est conservée dans un registre Z invisible au logiciel.
Ensuite, "4" est ajouté au contenu (y) du registre de travail y et le résultat (y + 4) est rangé dans le registre de tra30 vail y, de sorte que (y) = (y + 4) et le contenu (BRO) (à 4 multiplets) du registre de base BR0 est alors rangé en mémoire principale selon une adresse donnée par le contenu (y) du registre de travail y
au micropas A2.
Du fait que l'information qui est en mémoire principale est 35 actualisée au micropas A2, il n'est pas possible de tenter d'exécuter nouveau l'instruction après le micropas A2. Par conséquent le circuit 113 de production du signal de validation de nouvelle tentative
d'exécution de l'instruction (Figure 1) est invalidé.
Ensuite, des opérations semblables, correspondant à des 5 micropas, sont effectuées pour sauvegarder les contenus des registres de base et des registres généraux. Au micropas Am, un contenu final (GRn) du registre général final GRn, à sauvegarder en mémoire principale, est rangé dans la mémoire principale. C'est-à-dire que la somme de "4" et du contenu (y) du registre de travail y est rangée dans le 10 registre du travail, puis que le contenu (GRn) du registre général est rangé dans la mémoire principale selon une adresse indiquée par
le contenu du registre de travail y.
Au micropas suivant B, le contenu (y) du registre de travail est rangé dans le registre d'adresses T qui est l'un des registres 15 visibles pour le logiciel. Du fait que le registre d'adresses est
actualisé, il n'est pas possible de redémarrer le microprogramme à partir du point de reprise et le circuit 114 de production du signal de redémarrage du microprogramme (Figure 1) est invalidé au micropas B et pour les micropas suivants.
Par conséquent le redémarrage du microprogramme à partir du
point de reprise A1 est possible au cours d'un intervalle allant du micropas A1 au micropas Am. Lorsque le microprogramme redémarre, le contenu (z) du registre Z est écrit dans un compteur d'adresses du microprogamme (non représenté) et les micropas sont exécutés à nou25 veau à partir du micropas A1.
A un micropas C qui suit =le micropas B, une longeur d'instruction (IL) est ajoutée au contenu (IC) d'un compteur d'instructions IC et le résultat est rangé dans le compteur d'instructions IC. De cette façon l'adresse d'instruction est actualisée. Ce micro30 pas C est le pas S5 de la Figure 2.
En revenant à la Figure 1, le premier processeur 11 présente
un indicateur 115 de demande de nouvelle tentative d'exécution, tel qu'une bascule électronique, pour conserver une demande de nouvelle tentative d'exécution qui a été entrée manuellement par un opérateur, 35 par exemple, pour mettre au point un programme.
Le premier processeur 11 comporte également un générateur d'erreur physique 116 pour générer une erreur physique, qui sera
décrit plus loin en détail avec référence à la Figure 5.
Le processeur 12 présente une disposition semblable à la 5 disposition, décrite ci-dessus, de processeur 11. Le détail du processeur 12 est omis sur le dessin et dans la description pour les
simplifier. Pour corriger une erreur qui apparaît dans l'un du premier et du second processeurs 11 et 12, une unité de correction d'erreur 10 20 est couplée avec ces processeurs 11 et 12 par l'intermédiaire de l'unité de commande du système 13. L'unité de correction d'erreur 20
est connectée à un processeur de service 30.
En supposant qu'une erreur se produise dans le premier processeur 11, la connexion de l'unité de correction d'erreurs 20 et du 15 premier processeur 11 est représentée sur la Figure 1, mais la connexion de l'unité 20 et du second processeur 12 est omise sur la
figure pour la simplifier.
L'unité de correction d'erreur 20 comporte un détecteur de connexion 21 pour accéder à l'indicateur de connexion 132 pour detec20 ter une condition de connexion du second processeur 12, un détecteur d'activité 22 pour accéder à l'indicateur d'activité 152 pour détecter si le second processeur 12 est actif ou inactif, ainsi qu'un circuit 23 de production du signal de prise de relève pour produire un signal de prise de relève (TO) pour écrire la condition de contrôle 25 du premier processeur 11 dans l'indicateur 136 de contrôle du premier processeur. L'unité de correction d'erreur 20 comporte également un premier circuit d'accès 24 pour accéder au circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction, pour obtenir le signal de validation de nouvelle tentative 30 d'exécution de l'instruction (IRE), un second circuit d'accès 25 pour accéder au circuit 114 de production du signal de validation de redémarrage du microprogramme, pour obtenir le signal de validation du redémarrage du microprogramme (MRE) et un détecteur de demande de nouvelle tentative d'exécution 26 pour accéder à l'indicateur 115 de 35 demande de nouvelle tentative d'exécution pour détecter la demande de
nouvelle tentative d'exécution (RR) désirée par l'opérateur. Ces circuits 21-26 sont commandés par un circuit de commande 27 de l'unité 20.
On va maintenant décrire le fonctionnement de l'unité de 5 correction d'erreur 20 en se référant à l'ordinogramme représenté sur la Figure 4A à 4C en plus de la Figure 1.
Lorsqu'une erreur survient dans le premier processeur 11, l'unité de correction d'erreur 20 démarre l'opération de correction d'erreur dans le premier processeur 11 en réponse au signal d'erreur 10 ER provenant du premier processeur 11. Le circuit de commande 27 valide le détecteur de connexion 21 pour lire le contenu du second indicateur de connexion 132 au stade Sa1. Le circuit de comamnde 27 prend une décision logique au sujet du contenu lu au stade Sa2. Si le contenu lu indique que le second processeur 12 est connecté au systè15 me d'ordinateur, l'opération passe du stade Sa2 au Sa3 et le circuit de commande 27 valide le détecteur d'activité 22 pour détecter le contenu du second indicateur d'activité 152. Puis le circuit de commande 27, au stade Sa4, décide logiquement si le second processeur 12 est actif ou inactif. Si le second processeur est actif, l'opéra20 tion se poursuit jusqu'au stade Sa5 et le détecteur de demande de nouvelle tentative d'exécution 26 est validé pour lire l'indicateur de demande de nouvelle tentative d'exécution 115. Si la demande de nouvelle tentative d'exécution est décidée logiquement au stade suivant Sa6, l'opération passe du stade Sa6 au stade Sa7 (Figure 4B) . Au 25 stade Sa7, le circuit de commande 27 valide le premier circuit d'accès 24 pour accèder au circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction. Si le signal de validation de nouvelle tentative d'exécution de l'instruction (IRE) est lu dans le circuit 113 de production du signal de valida30 tion de nouvelle tentative d'exécution de l'instruction, l'opération
passe à un stade Sa9, en passant par un stade Sa8. Au stade Sa9, le circuit de commande 27 valide le circuit 23 de production du signal de prise de relève pour produire le signal de prise de relève (TO) qui valide l'indicateur de contrôle 136 du premier processeur pour y 35 écrire que le premier processeur 11 est en condition de contrôle.
Si, au stade Sa8, il n'y a pas de décision logique en faveur
du signal de validation de nouvelle tentative d'exécution de l'instruction (IRE), l'opération passe du stade Sa8 au stade SalO, o le second circuit d'accès 25 accède au circuit 144 de production de 5 signal de validation de redémarrage du microprogramme. Si le signal de validation de redémarrage du microprogramme (MRE) n'est pas détecté au stade Sa11, l'opération passe du stade Sall au stade Sa9.
Comme on le voit à partir de la description ci-dessus, le
circuit de commande 27 valide l'indicateur de contrôle 136 du premier 10 processeur si le signal de validation de nouvelle tentative d'exécution de l'instruction (IRE) est détecté et également si ni le signal de validation de nouvelle tentative d'exécution de l'instruction (IRE) ni le signal de validation de redémarrage du microprogramme
(MRE) ne sont détectés.
En réponse au signal de prise de relève (TO), les signaux de statut qui sont dans le premier processeur 11 sont transférés dans le second processeur 12 de façon connue et comme décrit dans les références 1-3 et l'instruction qui était en cours de traitement dans le premier processeur11 lors de la survenance de l'erreur est à nouveau 20 exécutée depuis le début de l'instruction, dans le second processeur 12. De façon plus précise, si l'indicateur de contrôle 136 du premier processeur est validé par le signal de prise de relève (TO), l'unité de commande du système 13 informe le processeur 12 et le pro25 cesseur de service 30 du fait que le premier processeur 11 passe en condition de contrôle. Le second processeur 12 alerte alors un programme de traitement exceptionnel rangé dans le système d'exploitation (OS) 14. Entre temps, le processeur de service 30 transfère dans une zone prédéterminée de la mémoire principale 10 les signaux 30 de statut ou les contenus des registres visibles pour le logiciel qui
étaient dans le premier processeur 11.
De ce point de vue, les signaux de statut peuvent être
transférés dans une mémoire décrite dans la Référence 3.
Ensuite le programme de traitement exceptionnel est exécuté 35 dans le second processeur 12. C'est-à-dire que les signaux de sta -
tut sont lus dans la mémoire principale 10 ou dans d'autres zones de mémoire et qu'une décision logique est prise pour savoir si, oui ou non, il est possible d'effectuer une nouvelle tentative d'exécution de l'instruction qui était en cours de traitement dans le premier 5 processeur 11 lors de la survenance de l'erreur. Si cette nouvelle tentative d'exécution est possible, l'exécution de l'instruction fait
l'objet d'une nouvelle tentative dans le second processeur.
En revenant au stade Sall, s'il y a décision logique que le signal de validation de redémarrage du microprogramme (MRE) est lu, 10 le premier processeur 11 est ramené à un stade Sal2. Ensuite le circuit de commande 27 génère un signal de redémarrage du microprogramme (MR1) qui est appliqué au premier processeur 11 à un stade Sa13. Puis le premier processeur 11 redémarre le microprogramme à partir du
point de reprise.
En se reportant à la Figure 5 et à la Figure 1, on va décrire comment fonctionne le premier processeur 11 après redémarrage du microprogramme. En réponse au signal de redémarrage du microprogramme (MR1), le générateur d'erreur physique 116 collabore avec le circuit de sur20 veillance 112 et décide logiquement si, oui ou non, le redémarrage du microprogramme se termine par un succès (stade Sa14 sur la Figure 5). S'il y a décision logique en faveur du succès, le générateur d'erreur physique 116 produit un signal informant du succès (SI) pour informer par là l'unité de correction d'erreur 20 du succès du redé25 marrage du microprogramme (Sa1JS). Le générateur d'erreur physique 116 accède également au circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction. Ensuite, lorsque le circuit 113 de production de signal de validation de nouvelle tentative d'exécution de l'instruction est validé par exécution d'une 30 instruction nouvellement appelée dans le premier processeur 11 en provenance de la mémoire principale 10, le générateur d'erreur physique 116 génère un signal d'erreur physique (PE) à un stade Sa 16En revenant maintenant à la Figure 4B, lors de la réception du signal d'erreur physique (PE) à un stade Sa17, le circuit de 35
commande 27 de l'unité de correction d'erreur 20 effectue l'opération au stade Sag pour valider l'indicateur de contrôle 136 du premier processeur 11. Puis l'exécution de l'instruction nouvellement appelée dans le premier processeur 11 est assurée, en relève, par le second 5 processeur 12 de la même fagon que le transfert du signal de statut décrit ci-dessus.
Sur la Figure 5, si, au stade Sa14, il n'y a pas de décision logique en faveur du succès du redémarrage du microprogramme, le générateur d'erreur physique 116 génère le signal d'erreur physique 10 (PE) à un stade Sa18. Alors le circuit de commande 27 de l'unité de correction d'erreur 20 effectue également l'opération prévue au stade Sa17 et Sag, de sorte que l'indicateur de contrôle 136 du premier
processeur est validé.
En revenant au stade Sa2 (Figure 4A), s'il n'y a pas de 15 décision logique concernant la connexion du second processeur 12, le circuit de commande 27 effectue l'opération prévue au stade Sa19 (Figure 4C) pour accéder au circuit 113 de production du signal de validation de nouvelle tentative d'exécution de l'instruction, par
l'interm6diaire du premier circuit d'accès 24.
Si, au stade Sa4, il y a décision logique que le second processeur 12 est inactif, ou si une demande de nouvelLe tentative est détectée au stade Sa6, le déroulement du circuit de commande 27 passe
également au stade Sa19.
Si le signal de validation de nouvelle tentative d'exécution 25 de l'instruction (IRS) fait l'objet d'une décision logique au stade
Sa20 après le stade Sa19, le circuit de commande 27 valide à nouveau le premier processeur 11 à un stade Sa21 et envoie un signal de nouvelle tentative d'exécution de l'instruction (IR) au premier processeur 11 à un stade Sa22. Par conséquent le premier processeur 11 30 effectue une nouvelle tentative d'exécution de l'instruction.
Si le signal de validation de nouvelle tentative d'exécution de l'instruction (IRS) n'est pas détecté au stade Sa20, c'est le seconde circuit d'accès 25 qui accède au circuit 114 de production du signal de validation de redémarrage du microprogramme à un stade 35 Sa23. Si le signal de validation de redémarrage du microprogramme (MRE) est détecté à un stade Sa24, le circuit de commande 27 valide à nouveau le premier processeur 11 à un stade Sa25 puis envoie un signal de redémarrage du microprogramme (MR2) au premier processeur 11. Le redémarrage du microprogramme s'effectue alors à partir du point de reprise dans le premier processeur 11. Si le signal de validation de redémarrage du microprogramme (MRE) n'est pas détecté au stade Sa24, le circuit de commande 27 valide à nouveau le premier processeur 11 à un stade Sa27. Alors le circuit de commande 27 produit un signal de commande d'information 10 d'erreur (EIC) pour que le premier processeur 11 informe de la faute
le système d'exploitation (SO) 14 à un stade Sa28.

Claims (4)

REVENDICATIONS
1) Système de correction d'erreur prévu pour emploi en combinaison avec un système d'ordinateur électronique comportant une mémoire principale (10) pour mémoriser une 5 pluralité de programmes, ainsi qu'une pluralité de processeurs (11,12) pour traiter lesdits programmes, chaque programme comportant une succession d'instructions, chaque processeur comportant des- moyens d'exécution (111) pour appeler celles des instructions qui ont été choisies et 10 pour exécuter, sous la commande du microprogramme, chacune des instructions choisies, au cours d'une première période de temps durant laquelle il est possible de faire une nouvelle tentative d'exécution de l'instruction choisie et au cours d'une seconde période de temps durant laquelle il 15 n'est pas possible de faire une nouvelle tentative d'exécution de ladite instruction choisie, pour obtenir de nombreuses informations, ledit microprogramme comportant une succession de micropas et présentant un premier intervalle au cours duquel il est possible de redémarrer le micropro20 gramme à partir d'un point de reprise (A1) à un micropas prédéterminé, des moyens de surveillance (112) pour surveiller l'activité desdits moyens d'exécution (111) pour produire un signal d'erreur (ER) lorsqu'une erreur est détectée au cours de l'exécution de l'une, particulière, 25 des instructions choisies, et pour suspendre l'exécution de l'instruction particulière; comportant également des moyens (113) de production d'un signal de validation d'une nouvelle tentative d'exécution de l'instruction opérationnellement couplés auxdits moyens de surveillance (112) pour 30 produire un signal de validation de nouvelle tentative d'exécution de l'instruction (IRE) au cours de ladite première période de temps; et comportant également des moyens (114) de production du signal de validation du redémarrage du microprogramme opgrationnellement couplés auxdits moyens 35 le surveillance (112) pour produire un signal de validation de redémarrage du microprogramme au cours dudit premier intervalle, ledit système de correction d'erreur (20) étant sensible au signal d'erreur provenant desdits moyens de surveilance (112) qui sont dans un premier (11) desdits 5 processeurs (11,12) pour accéder auxdits moyens (114) de production du signal de validation de redémarrage du microprogramme qui sont dans ledit premier processeur (11) pour produire un signal de redémarrage du microprogramme lorsque ledit signal de validation de redémarrage du microprogramme 10 (MRE) est détecté en provenance desdits moyens (114) de production du signal de validation de redémarrage du microprogramme, ledit premier processeur (11) procédant, en réponse audit signal de redémarrage du microprogramme, au redémarrage du microprogramme à partir dudit point de 15 reprise (A1), ledit système de correction d'erreur (20) étant activé lors de- la survenance d'une erreur physique dans ledit premier processeur (11) pour faire en sorte qu'un second (12) desdits processeurs (11,12) prenne la relive de l'exécution de l'instruction particulière, systè20 me caractérisé en ce que: ledit premier processeur (11) comporte en outre des moyens (116) de production d'un signal d'erreur physique couplés opgrationnellement auxdits moyens (112) de surveillance pour y détecter après achèvement du redémarrage dudit 25 microprogramme, le dit signal de validation de la nouvelle tentative d'exécution de l'instruction (IRE) en provenance desdits moyens (113) de production du signal de validation de la nouvelle tentative d'exécution de l'instruction qui se trouvent dans ledit premier processeur (11) pour produi30 re un signal d'erreur physique (PE); et en ce que ledit système de correction d'erreur (20) comporte
des moyens (23) sensibles audit signal d'erreur physique (PE) pour produire un signal de prise de relève (TO) pour mettre ainsi ledit premier processeur (11) dans une condi35 tion de contrôle.
2) Système de correction d'erreur selon la revendication 1, caractérisé en ce qu'il comporte en outre un premier moyen d'accès (24) sensible audit signal d'erreur (ER) provenant dudit premier processeur (11) pour accéder 5 auxdits moyens (113) de production du signal de validation de la nouvelle tentative d'exécution de l'instruction qui se trouvent dans ledit premier processeur (11) pour produire un premier signal de validation lorsque le signal de validation de la nouvelle tentative d'exécution de l'ins10 truction (IRE) est détecté en provenance dudit moyen (113) de production du signal de validation de la nouvelle tentative d'exécution de l'instruction qui se trouve dans ledit premier processeur (11), et en ce que ledit moyen (23) de production du signal de prise en relève est couplé avec 15 ledit premier moyen d'accès (24) et produit ledit signal de prise en relève (TO) en réponse audit premier signal de validation. 3) Système de correction d'erreur selon la revendication 2, caractérisé en ce que ladite mémoire principale 20 (10) comporte en outre des moyens (151,152) indicateurs d'activité pour indiquer une condition active dudit second processeur (12), ledit système de correction d'erreur (20) comportant en outre des moyens (22) de détection d'activité sensibles audit signal d'erreur pour accéder auxdits moyens 25 indicateurs d'activité pour produire un signal d'inactivité si aucune condition d'activité dudit second processeur (12) n'est détectée dans ledit moyen (152) indicateur d'activité, ledit moyen (23) de production du signal de prise en relève étant également couplé avec ledit moyen (22) de 30 détection d'activité et étant mis en condition inactive par
ledit signal d'inactivité.
4) Système de correction d'erreur selon la Revendication 3, caractérisé en ce que ledit système de correction d'erreur (20) comporte en outre des moyens de données ins35 truction, d'effectuer une nouvelle tentative d'exécution
de l'instruction, moyens sensibles audit premier signal de validation et audit signal d'inactivité pour envoyer dans ledit premier processeur (11) un signal de nouvelle tentative de l'exécution de l'instruction, ledit premier proces5 seur (11) effectuant une nouvelle tentative d'exécution de l'instruction particulière en réponse audit signal de nouvelle tentative d'exécution de l'instruction.
) Système de correction d'erreur selon la Revendication 2, caractérisé en ce que ledit premier processeur 10 (11) comporte en outre un moyen (115) indicateur d'une demande de nouvelle tentative d'exécution d'une instruction, pour conserver une demande de nouvelle tentative d'exécution de l'instruction entrée manuellement; et en ce que ledit système de correction d'erreur (20) comporte en 15 outre des moyens de détection d'une demande d'une nouvelle tentative d'exécution d'une instruction, moyens sensibles audit signal d'erreur pour accéder audit moyen indicateur d'une demande de nouvelle tentative d'exécution d'une instruction pour produire un second signal de validation lors20 que la dite demande de nouvelle tentative d'exécution de l'instruction est détectée en provenance dudit moyen indicateur d'une demande de nouvelle - tentative d'exécution de l'instruction, ledit moyen (23) de production du signal de prise en relève étant couplé avec ledit moyen de détection 25 de la demande de nouvelle tentative d'exécution de l'instruction et étant mis en condition inactive par ledit second signal de validation, et le moyen de donner instruction d'effectuer une nouvelle tentative d'exécution de l'instruction étant sensible audit premier signal de vali30 dation et audit second signal de validation pour envoyer
audit premier processeur (11) un signal de nouvelle tentative d'exécution de l'instruction, ledit premier processeur (11) effectuant une une nouvelle tentative d'exécution de l'instruction particulière en réponse audit signal de nou35 velle tentative d'exécution de l'instruction.
2602891 21
6) Système de correction d'erreur selon la Revendication 1, caractérisé en ce qu'il comporte en outre des moyens (136,137) indicateurs de la condition de contrôle du processeur, moyens sensibles audit signal de prise en relè5 ve (TO) pour indiquer que ledit premier processeur (11) se trouve dans une condition o il doit être contrôlé.
FR878711676A 1986-08-18 1987-08-18 Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise Expired - Fee Related FR2602891B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP19354986 1986-08-18
JP19355086 1986-08-18

Publications (2)

Publication Number Publication Date
FR2602891A1 true FR2602891A1 (fr) 1988-02-19
FR2602891B1 FR2602891B1 (fr) 1990-12-07

Family

ID=26507941

Family Applications (1)

Application Number Title Priority Date Filing Date
FR878711676A Expired - Fee Related FR2602891B1 (fr) 1986-08-18 1987-08-18 Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise

Country Status (2)

Country Link
US (1) US4852092A (fr)
FR (1) FR2602891B1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2613852A1 (fr) * 1987-04-07 1988-10-14 Nec Corp Systeme de traitement de l'information comportant une unite de traitement arithmetique du type commandee par un microprogramme
EP0505706A1 (fr) * 1991-03-26 1992-09-30 International Business Machines Corporation Continuation de la tâche d'un processeur défaillant par un processeur alternatif
CN113687986A (zh) * 2021-08-31 2021-11-23 上海商汤阡誓科技有限公司 一种芯片和处理单元的恢复方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
US5043866A (en) * 1988-04-08 1991-08-27 International Business Machines Corporation Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
US4912707A (en) * 1988-08-23 1990-03-27 International Business Machines Corporation Checkpoint retry mechanism
KR930001056B1 (ko) * 1988-11-10 1993-02-13 미쯔비시덴끼 가부시끼가이샤 하드웨어 소터유니트 및 그의 에러수집방법
JPH07113898B2 (ja) * 1989-05-09 1995-12-06 株式会社日立製作所 障害検出方式
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5247447A (en) * 1990-10-31 1993-09-21 The Boeing Company Exception processor system
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5321698A (en) * 1991-12-27 1994-06-14 Amdahl Corporation Method and apparatus for providing retry coverage in multi-process computer environment
GB2263988B (en) * 1992-02-04 1996-05-22 Digital Equipment Corp Work flow management system and method
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
CA2106280C (fr) * 1992-09-30 2000-01-18 Yennun Huang Appareil et methodes de traitement insensible aux defaillances faisant appel a un processus de surveillance par demon et une bibliotheque insensible aux defaillances en vue d'offrir differents degres d'insensibilite aux defaillances
US5715386A (en) * 1992-09-30 1998-02-03 Lucent Technologies Inc. Apparatus and methods for software rejuvenation
US5504859A (en) * 1993-11-09 1996-04-02 International Business Machines Corporation Data processor with enhanced error recovery
JP2685712B2 (ja) * 1994-03-30 1997-12-03 株式会社サンポウロック ハンドルロック
JP2774770B2 (ja) * 1994-05-19 1998-07-09 株式会社東芝 デバッグ方式
US5551043A (en) * 1994-09-07 1996-08-27 International Business Machines Corporation Standby checkpoint to prevent data loss
CA2152329C (fr) * 1994-09-08 1999-02-09 N Dudley Fulton Iii Appareil et methodes de rajeunissement de logiciels
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5678003A (en) * 1995-10-20 1997-10-14 International Business Machines Corporation Method and system for providing a restartable stop in a multiprocessor system
US5884021A (en) * 1996-01-31 1999-03-16 Kabushiki Kaisha Toshiba Computer system having a checkpoint and restart function
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
JP3648892B2 (ja) * 1996-12-16 2005-05-18 富士通株式会社 計算機システム
US6115829A (en) * 1998-04-30 2000-09-05 International Business Machines Corporation Computer system with transparent processor sparing
US6189112B1 (en) * 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
DE102004037713A1 (de) * 2004-08-04 2006-03-16 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
CN101416163B (zh) * 2006-03-31 2013-10-16 英特尔公司 通过选择重新执行来检测瞬态错误
US20140223062A1 (en) * 2013-02-01 2014-08-07 International Business Machines Corporation Non-authorized transaction processing in a multiprocessing environment
US9858151B1 (en) 2016-10-03 2018-01-02 International Business Machines Corporation Replaying processing of a restarted application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2402132A1 (fr) * 1977-09-01 1979-03-30 Eaton Corp Distributeur thermosensible a quatre orifices
FR2481831A1 (fr) * 1980-05-05 1981-11-06 Westinghouse Electric Corp Systeme de detection et de recuperation automatique d'erreur pour un multiprocesseur de commande industrielle
EP0105710A2 (fr) * 1982-09-28 1984-04-18 Fujitsu Limited Méthode de restauration après erreur d'une unité commandée par microprogramme

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
JPS594054B2 (ja) * 1979-04-17 1984-01-27 株式会社日立製作所 マルチプロセツサ障害検出方式
DE3207633A1 (de) * 1982-02-26 1983-09-15 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur ueberwachung eines mikroprozessors
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus
US4641305A (en) * 1984-10-19 1987-02-03 Honeywell Information Systems Inc. Control store memory read error resiliency method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2402132A1 (fr) * 1977-09-01 1979-03-30 Eaton Corp Distributeur thermosensible a quatre orifices
FR2481831A1 (fr) * 1980-05-05 1981-11-06 Westinghouse Electric Corp Systeme de detection et de recuperation automatique d'erreur pour un multiprocesseur de commande industrielle
EP0105710A2 (fr) * 1982-09-28 1984-04-18 Fujitsu Limited Méthode de restauration après erreur d'une unité commandée par microprogramme

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE MICRO, vol. 3, no. 3, juin 1983, pages 24-39, IEEE, New York, US; D. MacGREGOR et al.: "Virtual memory and the MC68010" *
MICROCOMPUTER ARCHITECTURES - PROCEEDINGS OF THE 3RD EUROMICRO SYMPOSIUM ON MICROPROCESSING AND MICROPROGRAMMING, 3-6 octobre 1977, pages 233-242, North-Holland Publishing Co., Amsterdam, NL; R. BEAUFILS et al.: "A method to eliminate transient faults in digital systems: micro-rollback" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2613852A1 (fr) * 1987-04-07 1988-10-14 Nec Corp Systeme de traitement de l'information comportant une unite de traitement arithmetique du type commandee par un microprogramme
EP0505706A1 (fr) * 1991-03-26 1992-09-30 International Business Machines Corporation Continuation de la tâche d'un processeur défaillant par un processeur alternatif
WO1992017841A1 (fr) * 1991-03-26 1992-10-15 International Business Machines Corporation Processeur de remplacement reprenant les fonctions d'un processeur hors service
CN113687986A (zh) * 2021-08-31 2021-11-23 上海商汤阡誓科技有限公司 一种芯片和处理单元的恢复方法

Also Published As

Publication number Publication date
FR2602891B1 (fr) 1990-12-07
US4852092A (en) 1989-07-25

Similar Documents

Publication Publication Date Title
FR2602891A1 (fr) Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise
EP0479230B1 (fr) Procédé de restauration et appareil pour une unité de traitement en pipeline d'un système à multiprocesseur
JP4395425B2 (ja) 破損データ値を処理するためのデータ処理装置と方法
EP1659494B1 (fr) Procédé et appareil pour le classement des erreurs de mémoire
US6076183A (en) Method of memory error correction by scrubbing
FR2649224A1 (fr) Systeme de traitement de l'information capable de prendre facilement en charge le traitement d'un processeur defaillant
JPS638835A (ja) 障害回復方法
US4231089A (en) Data processing system with apparatus for correcting microinstruction errors
FR2643993A1 (fr) Procede pour remplacer des modules memoire dans un systeme informatique et systeme informatique pour la mise en oeuvre du procede
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
US7603609B2 (en) Method and system for optimized instruction fetch to protect against soft and hard errors
US7127643B2 (en) Method and apparatus for fixing bit errors encountered during cache references without blocking
US5898867A (en) Hierarchical memory system for microcode and means for correcting errors in the microcode
JPH07120292B2 (ja) 情報処理システム
JP3450132B2 (ja) キャッシュ制御回路
EP0128353A2 (fr) Recouvrement d'erreur dans une antémémoire non inscriptible au travers
JP3555847B2 (ja) キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム
JP3977694B2 (ja) リセット装置
JP3262094B2 (ja) メモリ制御装置及びメモリ制御方法
JP2000172449A (ja) ディスク装置
JPS6155744A (ja) エラ−のリカバリ処理方式
JPH0353660B2 (fr)
JPH01169647A (ja) Nmi処理方法
JPH058452B2 (fr)
JPS60176159A (ja) ストアデ−タエラ−の自動リカバリ−方式

Legal Events

Date Code Title Description
ST Notification of lapse