Brevet FR2602891A1 — publié le 19880219

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. 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é.