FR 2492132 A1 19820416 FR 8118984 A 19811008 1. La présente invention concerne un système de redres- sement d'erreur destiné à un système d'ordinateur électroni- que numérique comprenant une pluralité de processeurs. Dans un système d'ordinateur électronique classique décrit dans le brevet des Etats-Unis d'Amérique n0 3.248.697, on utilise une pluralité de processeurs qui permettent chacun une tentative de relance de chaque instruction de façon à ef- fectuer un redressement d'erreur dans l'un des processeurs.Ce système est efficace pour éliminer les erreurs transitoires là mais est impuissant contre l'apparition d'erreurs physiques ou persistantes. Dans un autre système d'ordinateur électronique clas- sique décrit par J. A. Arulpragasam dans le brevet anglais na 1.163.859, une paire d'unités de redressement dlerreur sont couplées à une paire de processeurs et à une mémoire principale. Lors de l'apparition d'une erreur dans l'un des processeurs, ce système transfère de l'un des processeurs à la mémoire principale par l'intermédiaire d'une des unités de redressement d'erreur, les données d'état qui apparaissent 29 dans ledit processeur. Ensuite, lautre processeur prend la relève du fonctionnement du premier processeur en accédant aux données d'état stockées dans la mémoire principale, Il est possible pour ce système de procéder aussi au redresse- 2. 249-2132 ment d'une erreur persistante dans chaque processeur en fai- sant prendre la relève du fonctionnement d'un processeur par l'autre processeur. Avec ce système, les données d'état doivent inévi- tablement être accompagnées de signaux de commande particu- liers à ces données dtétat lorsque celles-ci sont envoyées du premier processeur à la mémoire principale. Autrement, l'autre processeur ne pourrait exécuter l'opération de re- dressement. Cela est dû au fait qu'il niy a pas de prise de relève des données d'état stockées par l'autre processeur sans signaux de commande. Cependant, les signaux de commande ne peuvent pas toujours être produits par chaque processeurs Plus particulièrement, chaque processeur traite une pluralité de programmes dont certains concernent des ta- ches exécutées dans chaque processeur et les autres le coeur du système d'ordinateur. Dans les derniers programmes, un programme de distribution et un programme d'interruption font en sorte qu'aucune interruption ne se produise à moins que le système soit lui-même en panne. Cela veut dire qu'aucun si- gnal de commande ne peut être produit dans chaque processeur lors de l'apparition d'une erreur dans la mesure o le pro- gramme de répartition et le programme d'interruption sont en cours. Par conséquent, lerreur ne peut être reprise avec le système d'ordinateur classique lorsqu':elle se produit pen- dant l'exécution du programme de répartition ou le programme d'interruption. - Un objet de la présente invention est un système de redressement qui est capable de redresser une erreur même pen- dant l'exécution d'un programme de répartition ou d'un pro- gramme d'interruption sans production d'un signal.de comman- de. Un système de redressement d'erreur auquel la pré- sente invention s'applique èst destiné à être utilisé en combinaison avec un système d'ordinateur numérique électro- nique comprenant une mémoire principale pour le stockage d'une pluralité de programmes et une pluralité de processeurs pour le traitement des programmes. Chaque programme comprend 3. 2492132 une succession d'instructions. Chaque processeur comprend un moyen d'exécution pour l'extraction des instructions sélec- tionnées et pour l'exécution des instructions sélectionnées de façon qu'elles produisent des masses d'informations, un moyen de détection pour surveiller le fonctionnement du moyen d'exécution et produire un signal d'erreur lorsqu'une erreur est détectée pendant l'exécution d"une instruction particulière parmi les instructions sélectionnées et suspen- dre l'exécution de cette instruction particulière, et un moyen de production d'un signal de validation de tentative de relance pendant une période au cours de laquelle la ten- tative de relance de l'exécution de chacune des instruc- tions sélectionnées est permise. Le moyen dlexécution com- prend un moyen de registre répondant au signal d'erreur pour maintenir, comme signaux d'état, une masse d'informations résultant de l'exécution de l'instruction particulière. Le système de redressement d'erreur est mis en oeuvre lors de l'apparition de l'erreur dans un premier processeur de façon à ce qu'un second processeur prenne la relève de l'exécu- tion de l'instruction particulière. Selon la présente inven- tion, un système de redressement d'erreur comprend un moyen de stockage couplé au moyen de production du signal de va- lidation de la tentative de relance et au moyen de registre du premier processeur et répondant au signal de validation de la tentative de relance produit dans le premier proces- seur pour la prise de relève du stockage des signaux d'état maintenus dans le premier processeur, directement en prove- nance de celui-ci, sans passage par la mémoire principale, Le second processeur comprend un moyen de suspension mis en oeuvre lors de l'apparition de l'erreur dans le premier pro- cesseur pour suspendre le fonctionnement de son moyen d'exé- cution à l'issue de l'exécution de l'une des instructions qu'il a extraites et qui est en cours d'exécution et un moyen de production de signal de disponibilité couplé au moyen de suspension pour produire un signal de disponibi- lité à l'issue de l'exécution de cette instruction. Le sys- tème de redressement d'erreur comprenden outre un moyen de 4. 2492132 délivrance répondant au signal de validation de tentative de relance produit dans le premier processeur et au signal de disponibilité pour fournir les signaux d'état directe- ment au moyen de registre du second processeur à partir du moyen de stockage sans passer par la mémoire principale,ce qui permet au second processeur de prendre la relève de l'exécution de l'instruction particulière, La présente invention sera bien comprise lors de la description suivante faite en liaison avec les dessins-ci- joints dans lesquels: La figure 1 est un schéma sous forme de blocs d'un système d'ordinateur numérique électronique auquel la présente invention est applicable; La figure 2 est un schéma sous forme de blocs de chaque processeur qui est utilisé dans le système d'ordina- teur représenté en figure 1 et qui peut être couplé à un, système de redressement d'erreur selon 'un mode de réalisa- tion de la présente invention; La figure 3 est un schéma détaillé sous forme de blocs d'une partie du processeur de la figure 2; La figure 4 est un schéma sous forme de blocs d'une bascule représentée dans la partie de processeur de la figure 3; La figure 5 est un schéma sous forme de blocs d'une unité de diagnostic utilisée dans le système de redres- sement d'erreur selon la présente invention; La figure 6 est un schéma sous forme de blocs d'une interface de diagnostic couplée à ltunité de diagnos- tic représentée en figure 5; La figure 7 est un organigramme d'une partie dtune opération de redressement d'erreur exécutée par le système de redressement dterreur selon la présente invention; La figure 8 est un organigramme d'une autre par- tie d'une opération de redressement d'erreur représentée en figure 7; La figure 9 est un schéma détaillé sous forme de blocs d'une partie de l'unité de diagnostic représentée en 5. figure 5; La figure 10 est un organigramme d'une opération de lecture exécutée dans la partie de l'unité de diagnostic représentée en figure 9; La figure ll est un organigramme d'une opération d'introduction par décalage apparaissant en figure 10; La figure 12 est un organigramme d'une opération de sortie apparaissant également en figure 10; La figure 13 est un organigramme d'une opération de stockage utilisée dans l'opération de lecture illustrée en figure 10; La figure 14 est un organigramme de l'opération d'écriture exécutée dans la partie de l'unité de diagnostic représentée en figure 9; La figure 15 est un organigramme d'une opération de chargement de registre apparaissant en figure 14; et La figure 16 est un diagramme sous forme de blocs d'un système de redressement d'erreur selon un second mode de réalisation de la présente invention. En liaison avec la figure 1, un système d'ordina- teur numérique électronique auquel la présente invention est applicable comprend une mémoire principale 20 pour sto- cker une pluralité de programmes, chaque programme compre- nant une succession ou un groupe d'instructions. Certains des programmes ont pour but de commander le système dans son ensemble et d'autres de spécifier des travaux d'utilisateur, chaque travail pouvant être divis6 en une suite de taches. Dans le premier, un programme de répartition est inclus pour décider l'opération suivante et sert à spécifier un noyau du système d'ordinateur. Un système classique d'ordinateur est invalide lors de l'apparition dtune erreur pendant l'exécu- tion du programme de répartition, comme cela a été décrit dans le préambule de la présente invention. Dans la figure 1, le système dtordinateur comprend une pluralité de processeurs pour le traitement des pro- grammes. A titre d'exemple, des premier et second processeurs 21 et 22 sont décrits dans cette figure. Au moins un proces- seur supplémentaire peut être incorporé dans ce système d'or- 6. dinateur. Chacun des premier et second processeurs 21 et 22 est couplé à la mémoire principale 20 par l'intermédiaire d'une unité de commande de système 24 dont la fonction est de commander l'ensemble du système d'ordinateur. Le système d'ordinateur représenté comprend en outre une paire de processeurs dtentrée/sortie 26 et 27 cou- plés à des dispositifs périphériques (non représentés) tels qu'une unité de disques magnétiques, une unité de bandes ma- gnétiques, un lecteur de cartes, une imprimante, et analo- gue. Les processeurs d'entrée/sortie 26 et 27 sont égale- ment couplés à la mémoire principale 20 par l'intermédiaire de l'unité de commande 24. Chaque processeur 26 et 27 sert à exécuter les programmes de canaux provenant du premier ou du second processeur 21 ou 22 et à transférer les résultats de l'exécution de ces programmes des dispositifs périphéri- ques à la mémoire principale 20. Répondant à des ordres provenant des premier et second processeurs 21 et 22 et des processeurs d'entrée/sor- tie 26 et 27, l'unité de commande du système 24 délivre les ordres à la mémoire principale 20 en conformité avec un or- dre de priorité prédéterminé. Une unité de diagnostic 30 est incorporée dans l'unité de commande 24 et couplée à la mémoire principale , aux premier et second processeurs 21 et 22 et aux proces- seurs d'entrée/sortie 26 et 27 par l'intermédiaire d'inter- faces de diagnostic 31 représentées en pointillé. Les inter- faces de diagnostic 31 sont mises en oeuvre lors de la mise à jour et du diagnostic du système d'ordinateur. L'unité de diagnostic 30 sert de système de redressement d'erreur en coopération avec les interfaces de diagnostic 31 comme cela apparaîtra au fur et à mesure de la description. En bref, l'unité de diagnostic représentée 30 sert à redresser une erreur dans l'un ou l'autre des premier et second proces- seurs 21 et 22, bien que couplée aux processeurs d'entrée/ sortie 26 et 27 aussi. Par consèquentles processeurs d'en- trée/sortie 26 et 27 ne seront pas pris en considération ci-après. En liaison avec la figure 1 de nouveau et mainte- nant avec la figure 2, chacun des premier et second proces- seurs 21 et 22 (représentés par un seul processeur 21 ou 22 dans la figure 2) comprend une section dtexécution 33 com- prenant, dans l'ordre, une unité de circuits logiques 34 et une unité de commande 35 pour récupérer les instructions sélectionnées dans la mémoire principale 20 afin de comman- der l'unité 34. Les instructions sélectionnées sont fournies à l'unité de commande 35 par l'inteDmédiaire de l'unité de circuits logiques 34, d'un registre d'instructions 36 et d'un décodeur 37.- L'unité de circuits logiques 34 sert à l"exécu- tion des instructions sélectionnées afin de produire des mas- ses d'informations. Plus particulièrement, l'unité 34 com- prend un grand nombre d'unités,de blocs logiques qui sont chacun un aggrégat d'éléments logiques comme cela sera dé- crit ultérieurement. Une première unité de blocs logiques 41 peut fonctionner comme unité d'exécution pour exécuter réel- lement les instructions sélectionnées alors qu'une seconde unité 42 peut fonctionner en unité de commande d'tune anté- mémoire (non représentée), Chacune des instructions sélec- tionnées est fournie par l'intermédiaire de la seconde unité 42 au registre d'instructions 36. Une troisième unité 43 des unités de blocs logiques est mise en fonctionnement com- me unité de production d'un signal d'adresse, Dans un mode normal o aucune-erreur n'est présen- te dans les premier et second processeurs 21 et 22, les pre- mière, seconde et troisième unités 41 à 43 fonctionnent en unité d'exécution, en unité duantémémoire, et en unité de préparation d'adresses, respectivement, toutes ces unités étant décrites par John Et Wilhite en liaison avec la figure 2 dans le brevet des Etats-Unis nu 4,156,278. Le fonction- nement des première,seconde et troisième unités 41 à 43 dans le mode normal ne sera par conséquent pas décrit avec davan- tage de détails, Les unités de blocs logiques, en particulier,la première unité 41, comprennent une pluralité de registres visibles de programme ou delogiciel comprenant un accumula_ 7. 8. 2492132 teur, un registre d'index, un compteur d'instruction et un registre de quotient, tous ces élément's ayant fait l'objet d'une description dans le brevet cité ci-dessus. Par conséquent le fonctionnement de ces registres ne sera pas décrit ici avec davantage de détails. On comprendra que les registres visibles de logiciel peuvent être mis en oeuvre par utilisation du logiciel. En figure 2, le fonctionnement de l'unité de cir- cuits logiques 34 est contrôlée par une unité de détection d'erreur 45 dans son ensemble. Plus particulièrement, les pre- mière, seconde et troisième unités 41, 42 et 43 sont cou- plées à des premier, second et troisième circuits de détec- tion d'erreur 46, 47 et 48, respectivement, de façon à sur- veiller le fonctionnement de chaque unité de blocs logiques, Chacun des circuits 46 à 48 effectue un contrôle de parité ou analogue d'une manière bien connue et produit un signal d'erreur ER par l'intermédiaire d'une première porte OU 51 quand une erreur est détectée dans chaque unité de blocs lo- giques pendant l'exécution d'une instruction particulière parmi les instructions sélectionnées. Le signal d'erreur ER de chaque unité de blocs logiques est fourni à toutes les uni- tés de blocs logiques 41 à 43 à partir de la première porte OU 51 par l'intermédiaire d'une seconde porte Ou 52. Répon- dant au signal d'erreur ER, chaque unité de blocs logiques suspend l'exécution de l'instruction particulière comme ce- la sera décrit ultérieurement. Ainsi, tous les circuits de détection d'erreur 46, 47 et 48 peuvent fonctionner en coopé- ration avec la première porte OU 51 pour détecter une er- reur dans la section- d'exécution 34, La première porte OU 51 est connectée à une pre- mière interface de diagnostic représentée en 31a. Par con- séquent, le signal d'erreur ER est envoyé à l'unité de diag- nostic 30 par la première porte OU 51 par l'intermédiaire de la première interface de diagnostic 31a, La seconde porte OU 52 est connectée au décodeur 37. Lorsqutune instruction pré- déterminée parmi les instructions sélectionnées qui sera ap- pelée instruction de permutation et de départ (en abrégé ins- 9. 2 92492132 truction SAF), est récupérée dans la mémoire principale 20 de façon à être maintenue dans le registre d'instruction 35, le décodeur 37 fournit un signal de chargement (SW) à l'unité de diagnostic 30 par l'intermédiaire d'une seconde interface de diagnostic référencée 3lb et à la seconde porte OU 52. Tou- tes les unités de blocs logiques 41, 42 et 43 sont aussi suspendues en réponse au signal de permutation SW fourni par l'intermédiaire de la seconde porte OU 52. Toujours en liaison avec la figure 2, chaque pro- cesseur 21 et 22 comprend une unité de mémoire de commande 53 comprenant une mémoirede commande 54 pour le stockage d'une suite de micro-instructions destinées au traitement de cha- cune des instructions sélectionnées. Cela veut dire que cha- cune des instructions sélectionnées est traitée étape par étape en conformité avec les micro-instructions, ctest-à-di- re dans les étapes suivantes: récupération, interprétation, exécution et stockage. Entre temps,une erreur peut stêtre produite dans cha- que processeur à l'une des étapes du traitement de l'ins- truction particulière. L'homme de l'art sait que l'erreur peut être redressée à moins qutelle ne se soit produite pen- dant l'étape de stockage ou dernière étape, Cela est dû au fait que les registres visibles de logiciel de chaque proces- seur ne sont pas effacés avant létape de stockage et la ten- tative de relance pa l'istruction particulière est possible grâce à!lutilisstivr, de signaux de'état restant dans le re- gistre visible de logiciel, Ln figure 2, lunité d mmoire de commande 53 com- prend un indicateur 55 eouplê à la méonire de commande 54 de façon à indiquer si oui ou non la tentative de relance de chacune des instructions sélectionnées est possible dans le processeur 21 ou 22. Ltindicateur 55 est constitué d'une bas- cule et est remis à lPétet initial à l'étape de récupération ou première étape de chaque instruction sélectionnée. Dans l'état de remise à l'état initial, l'indicateur 55 produit un signal de validation de tentative de relance représenta- tif d'un état o la tentative de relance est possible. Dtau- 10. 2492132 tre part, l'indicateur 55 est chargé lors de la dernière éta- pe ou étape de stockage de chaque instruction pour faire dis- paraltre le signal de tentative de relance. A ce moment là, tous les registres visibles de logiciel sont effacés de façon à traiter l'instruction sélectionnée suivante; Ainsi, le signal de validation de tentative de relance a une durée tel- le que la tentative de relance de l'exécution de chaque ins- truction sélectionnée est possible. A partir de cela, on peut facilement comprendre que l'unité de stockage de commande 53 sert à produire le signal de validation de tentative de re- lance. Une telle commande de l'indicateur 55 est possible en définissant un bit de commande de seuil de tentative de relance dans une microinstruction présélectionnée, mémorisée dans la mémoire de commande 54. Dans le brevet des Etats-Unis d'Amérique au nom de Wilhite cité précédemment, il est pos- sible d'utiliser le 47ème bit dc"une micro-instruction repré- sentée en figure 6b, comme bit de commande du seuil de tenta- tive de relance. En liaison avec la figure 3 en même temps qu'avec la figure 2, chacune des unités de blocs logiques 41 à 43 comprend, comme éléments logiques, une pluralité d"éléments de bascule 56, 57 et 58, pouvant fonctionner en composant de chaque registre dans le mode normal, En dehors des éléments séquentiels du circuit tels que les bascules 56 à 58, un grand nombre d'éléments de circuits de combinaison, tels que des circuits à portes, sont inclus dans chaque unité de blocs logiques, mais ils ne figurent pas en figure 3 de façon à ne pas compliquer Pillustration- Dans un mode "erreur" o une erreur se produit dans l'une des unités de blàcs logiques, chaque élément de bascu- le 56, 57 et 58 conserve l'état le plus récent comme si- gnal d'état et est actionné dans chaque unité en registre à un seul décalage pour décaler une chaîne de données en coopé- ration avec l'unité de diagnostic 30 comme cela apparaîtra au fur et à mesure de la description.. Pour permettre le fonctionnement dans le mode normal 11. 2492132 et dans le mode "erreur", chacun des éléments de bascule 56, 57 et 58 a une borne de charge S pour un signal d'entrée provenant de l'autre partie de chaque unité de blocs logiques pendant le mode normal, une borne de maintien H connectée à la seconde porte OU 52 de façon à maintenir ou geler le der- nier état de chaque élément lors de la production des signaux d'erreur et de permutation ER et SW,et une borne d'horloge CK alimentée avec une suite d'impulsions dl-horloge (repré- sentées par le symbole de référence CK). En outre, chaque élément de bascule, tel que l'élément 56, comporte une borne "mode de décalage" SM pour une impulsion dans le mode décalage SM (repré- sentée par le symbole SM) provenant de l'unité du diagnostic 30,une borne d'introduction par décalage SI pour une chaîne de données d'instructions par décalage (représenté par le symbole SI) provenant de l'unité de diag- nostic 30,etunebornedesortieZ pour fournir un signal de sortie à l'au- tre partie du circuit de chaque unité de-blocs logiques (non représentée) dans le mode normal et pour sortir le signal de sortie vers l'unité de diagnostic 30. L'indicateur 53 a également une structure similaire à celle de chaque élément de bascule 56, 57 et 58. Par conséquent, l'indicateur 53 peut être considéré comme l'un des registres. Ainsi, la section d'exécution 33 comprend les registres répondant au signal d'erreur ER pour maintenir,. comme signaux d'état, une masse d'informations provenant de l'exécution de l'instruction par- ticulière. En liaison temporairement avec la figure 4, l'élé- ment de bascule (représenté typiquement par l'élément de bascule 56) comprend une cellule de bascules 56 connectée à la borne de sortie Z et formée par quatre portes NON ET.Sur la borne SM reliée à la cellule 61 par l'intermédiaire d'une porte ET/NON ET 62, apparalt un niveau logique "0'5 dans le mode normal, alors qu'un niveau logique "1" apparalt lorsque l'impulsion SM se trouve dans le mode "erreur"..Sur la borne H, le niveau logique "1" apparaît lors de la production du signal d'erreur ER ou du signal de permutation SW. Les bor- nes S et H sont reliées à la cellule 61 par l'intermédiaire 12. 2492132 de quatre portes 63, 64, 65 et 66 alors que la borne SI est directement reliée à la cellule 61, De plus, deux des portes * ET/NON ET 67 et 68 et une paire de portes ET 69 sont connec- tées entre la borne d'horloge CK et la cellule 61. Une com- binaison de ces portes 66, 67 et 68 sert à différencier cha- cune des impulsions d'horloge à son front, Lorsque le niveau logique "O" est appliqué à la bor- ne SM et à la borne H, les portes 63, 64 et 65 connectent sélectivement la borne S à la cellule 61. En d'autres termes, le signal d'entrée est envoyé de la borne S à La cellule 61 dans le mode normal.Lorsque le niveau logique el'1 apparaît à la borne H- la cellule 61 conserve le dernier état, même lorsque la borne SM reçoit le niveau logique "0". Lorsque le niveau logique "1" apparaît à la borne SM, la chaîne de données d'introduction par décalage est appliquée à la cellu- le 61 par l'intermédiaire de la borne SI. De nouveau, en liaison avec les figures 2 et 3, cha- que processeur 21 et 22 comprend un adaptateur d'interface de commande de décalage 71 qui est utilisé pour connecter chacune des unités de blocs logiques 41 à 43 à des troisièmes interfaces de diagnostic, représentées en 31c, lorsque l'erreur se produit dans chaque processeur. Comme on le voit le mieux en figure 3, chaque élément de bascule 56, 57 et 58 de la première unité 41 est connecté à l'adaptateur 71 à la borne SM et à la borne CK. La borne SI de l'élément de bascule 56 du premier étage et la borne de sortie Z de l'élément de bas- cule 58 du dernier étage sont également connectées à l'adap- tateur 71. Les bornes de sortie restantes Z sont connectées aux bornes SI des éléments de bascule suivants. Ainsi,les éléments 56, 57 et 58 fonctionnent en registre de décalage unique pendant la présence de l'impulsion SM, Les éléments de bascule de chacune des unités de blocs logiques restantes 42 et 43 sont connectés à l'adaptateur 71 d'une manière si- milaire. L'adaptateur 71 sert à échanger l'impulsion SM, la chaîne SI, la chaîne SO, et tout autre signal entre les uni- tés respectives 41 à 43 et l'unité de diagnostic 30 par llin- 13. termédiaire des interfaces de diagnostic 31a, 31b,et 31c, comme cela sera décrit ultérieurement avec davantage de dé- tails. En liaison avec la figure 5, l'unité de diagnotic 30 est mise en oeuvre lors de l'apparition de l'erreur dans l'un des processeurs 21 et 22 et fait en sorte que lautre processeur 22 prenne la relève de 1 'exécution de l'instruc- tion particulière. En figure 5, l'unité de diagnostic 30 comprend un microprocesseur 75 (dont le fonctionnement sera décrit ulté- rieurement) et une mémoire d'unité de diagnostic 76 pour m6- moriser les programmes devant être tnaités dans le micropro- cesseur 75 et les données deaccompagnement. La mémoire 76 est couplée par l'intermédiaire d"un bus commun 77 au micro- processeur 75 et à un adaptateur dtinterface de processeur 78 pouvant fonctionner comme dispositif dtentrée/sortie pour le microprocesseur 75. La mémoire 76 est chargée avec les signaux d'état et avec le signal de validation de tentative de relance provenant du premier processeur 21 lors de ltappa- rition d'une erreur dans ce microprocesseur pour prendre la relève des signaux de statut maintenus dans le premier pro- cesseur 21 en provenant directement au lieu dt&tre envoyés par l'intermédiaire de la mémoire principale 20, comme cela est le cas des dispositifs de l'art antérieur De fait, les signaux d'état et le signal de validnt"on de tentative de re- lance sont envoyis co:mme chaine de donnes de sortie SO de chaque unité de blocs logiques 41 à 43 à l'adaptateur dUin- terface de commande de décalage 71, à l'interface de diag- nostic 31c, et à l'adaptateur d'interface de processeur 78 39 sans l'utilisation de la mémoire principale 20, Ltadapta- teur 78 sert à commander l'interface de diagnostic 31 d'une manière qui sera décrite ultérieurement et à délivrer les signaux de statut. De plus, le microprocesseur 75 comprend des premier, second et troisième registres généraux 79a, 79b et 79c (GR) qui sont couples au bus commun 77. En liaison avec les figures 6 et 7 en même temps qu'avee les figures 2, 3 et 5. la commande de l"unité de 14. diagnostic 30 sera décrite en supposant que l'erreur se produit dans le premier processeur 21 pendant l'exécution d'une instruction particulière. En figure 2, lorsque l'erreur est détectée dans l'un des circuits de détection 46 à 48 à la suite de l'apparition de l'erreur dans l'une des unités de blocs logiques 41 à 43,, le signal d'erreur ER est produit par le circuit de détection en question et est envoyé à chaque unité de blocs logiques pour que chacune des bascules conserve le dernier état comme signal d'état. En outre, le signal d'erreur ER est appliqué par le premier processeur 21 à l'unité de diagnostic 30 par l'intermédiaire de l'interface de diagnostic 31a. Répondant au signal d'erreur ER, l'unité de diag- nostic 30 démarre l'opération de redressement d "erreur pour le premier processeur 21. Au début, l'unité de diagnostic 30 lit les signaux d'état sortant dans les bascules respecti- ves de chaque unité de blocs logiques, comme représenté par le premier stade S1 en figure 7. Une telle opération sera appelée ci-après opération de lecture des registres. A cette fin, lzunité de diagnostic 30 coopère avec le premier processeur 21 pour commander simultanément l'impulsion de mode de décalage SN, un signal d'adresse de blocs logiques PKA de huit bits, et une impulsion "toute sélection" ALSEL d'un seul bit, qui sont tous représentés en figure 6 et sont fournis à l'adaptateur 71 représenté en figure 3. Le signal PKA et 1 impulsion SM ont pour but de spécifier chacune des adresses préIiminairement attribuées à chacune des unités de blocs logiques et à Jl'indicateur 56 et de mettre les registres respectifs de chaque unité de blocs logiques dans un mode de décalage pendant la présence de l'impulsion SM, respectivement, Le signal PKA et le si- gnal SM sont envoyés de l'unité de diagnostic 30 au premier processeur 21 pour accéder à chacune des unités de blocs logiques du premier processeur 21 après fourniture du signal d'erreur ER par le premier processeur 21 à l'unité de dia- gnostic 30. L'impulsion ALSEL sert à fournir les impulsions d'horloge CK à toutes les unités de blocs logiques pendant 15. 2 4 9 21 32 leur présence. En d'autres termes, l'impulsion ALSEL dispa- rait lors de la fourniture sélective des impulsions d'horlo- ge CK à l'une des unités de blocs logiques. Maintenant, lorsque l'opération de lecture est exé- cutée, l'unité de diagnostic 30 met l'impulsion SM au niveau logique "1" et l'impulsion ALSEL au niveau logique "O", en même temps qu'il y a production du signal PKA, De plus, un signal d'arrêt d'horloge CSTOP est également produit par l'unité de diagnostic 30 pour arrêter la fourniture des impul- sions d'horloge CK au premier processeur 21,. Dans ces circonstances, l'adaptateur 71 (figure 3) du premier processeur 21 est mis en oeuvre lors de l'opéra- tion de lecture de la manière suivante, En figurez3, le signal CSTOP est fourni à une bascule 80 pour y être mainte- nu. L'impulsion de mode de décalage SM est reçue par un grou- pe de portes ET 81 de façon à être fournie à chacune des uni- tés de blocs logiques 41 à 43 et à l'indicateur 55. Il en ré- sulte que chaque bascule des unités respectives de blocs lo- giques et l'indicateur 55 sont mis dans le mode "décalage". Le signal PKA est fourni à un décodeur 82 de l'adap- tateur 71 pour valider l'une des portes NON ET indiquées col- lectivement en 83. Chacune des portes 83 reçoit le niveau lo- gique "1" par l'intermédiaire d'une seule porte NON ET 84 car le signal ALSEL disparaît. Seule 1'-une des portes NON ET 83 fournit le niveau logique "1" à une pluralité de portes ET représentées collectivement par la référence 85. Les impulsions d'horloge CK sont fournies par l'intermédiaire d'une porte ET/NON ET 86 à une seule porte ET 87 reliée à la bascule 80 par l'intermédiaire dlune porte NON ET (sans référence). Pour le moment,le signal d'earrêt d'horloge CSTOP est maintenu dans la bascule 80 etpar con- séquent la porte ET 87 est invalidée de façon à intercepter les impulsions d'horloge C[,. Ainsi,. les impulsions d'horloge CK ne sont pas fournies par les portes ET 85 à la suite de l'interception des impulsions d'horloge CK.par la porte ET 87, Dans ces circonstances, lorsque le signal d'larrêt d'horloge CSTOP disparaît, les impulsions d'horloge CK sont 16. 2492132 fournies par l'intermédiaire de l'une des portes ET 85 à une unité sélectionnée des unités de blocs logiques et à l'indi- cateur 55 en conformité avec le signal PKA. Répondant aux impulsions d'horloge CK, l'unité de blocs logiques sélectionnée ou l'indicateur 55 décale les si- gnaux d'état maintenus vers un sélecteur 88 de l'adaptateur 71. Le sélecteur 88 sélectionne les signaux d'état de sortie en conformité avec le signal PKA fourni par le décodeur 82 et produit des signaux d'état de sortie comme chaîne de don- nées de sortie SO. La chaîne SO est fournie par l'intermé- diaire de l'interface de diagnostic 31 et de l'adaptateur 78 (figures 5 et 6) à la mémoire 76 (figure 5). Lorsque la chaîne SO est lue dans chacune des unités de blocs logiques et l'indicateur et est mémorisée dans la mémoire 30, l'étage SI est complété et suivi par un second étage S2 (figure 7). Il apparaîtra facilement que le signal de validation de ten- tative de relance est envoyé de l'indicateur 55 à la mémoi- re 76 comme partie de la chaîne des données de sortie SO. Dans l'unité de diagnostic 30, le microprocesseur 75 accède à la mémoire -e pour dériver le signal de valida- tion de tentative de relance d'une adresse prédéterminée allouée à l'indicateur 55. Si aucun signal de validation de tentative de relance n'est stocké dans l'adresse prédéterminée, la tentative de relance est impossible en ce qui concerne l'instruction particulière même lorsque le second proces- seur 22 a pris la relève du premier processeur 21. Par con- séquent, l'unité de diagnostic 30 produit une demande d'in- terruption d'arrêt SHUT indicatrice de l'isolement du pre- mier processeur 21, comme cela est représenté par un troisiè- me étage S3. La demande SHUT est fournie au second proces- seur 22 de façon à isoler le premier processeur 21 du système d'ordinateur. Ainsi, l'opération de récupération se termine dans l'unité de diagnostic 30, Dans le second étage S2 représenté en figure 7, lors- que le signal de validation de tentative de reprise est mé- morisé dans l'adresse prédéterminée allouée à l'indicateur , l'opération de redressement est commencée entre l'unité 17. 2492132 de diagnostic 30 et le premier processeur 21 de façon à ten- ter la relance de l'instruction particulière dans le premier processeur 21.Comme décrit par un quatrième étage S4 en fi- gure 7, il est fait usage des signaux d'-état qui provien- nent des registres visibles de logiciel et qui sont stockés dans les adresses de la mémoire 76 allouées aux registres vi- sibles de logiciel. Plus spécifiquement, la mémoire 76 comprend une zo- ne de données initiales pour un stockage préliminaire d"un signal de l'état initial représentatif de l'état initial de chaque bascule outre la zone de données de sortie pour la mémorisation des données de sortie, ctest-à-dire des signaux d'état provenant des registres respectifs. Les signaux d'état provenant des registres visibles de logiciel sont transférés de la zone des données de sortie à la zone de données initia- les. Il en résulte que des signaux modifiés ou édités sont laissés dans la zone des données initiales par combinaison des signaux d'état initial avec les signaux d"état provenant des registres visibles de logiciel comme cela est représenté par le quatrième étage 54 de la figure 7. Ainsi, une édition est faite pour les signaux d1état des registres visibles de lo- giciel afin de faire une tentative de relance de l'instruc- tion particulière danis le premier processeur 21, Il doit être mentionné ici que la tentative de re- lance doit Etre exécutée en ce qui concerne la seule ins- tructian particuliè,e, dont loexécution a donné naia:sance à 1l'erreur. Autrement, il est impossible de savoir si oui ou non, l'erreur diparaalt à la suite de ltopération de tenta- tive de relance. En général, il est possible de traiter une instruction unique seule en commandant une bascule pré- sélectionnée (non représentée). Le signal dtétat initial de la bascule présêlectionnée est également mémorisé dans une adresse présélectionnée de la zone des données initiales de la mémoire 76. Dans un cinquième étage S5, ltadresse présé- lectionnée de la mémoire 76 est chargée avec un signal unique de mode d'instriucticn indicateur de l'exécution d'une seule instruction pour envoyer le signal unique de mode d'instruc- 18. tion à la bascule présflectionnée. Dans ces circonstances, l'unité de diagnostic 30 're- met à l'état initial le premier processeur 21 de la manière connue comme indiqué par un sixième étage 56 en figure 7. Ensuite, les signaux édités et le signal unique de mode d'instruction sont décalés comme une chaîne de données d'introduction par décalage depuis la zone de données ini- tiales de la mémoire 76 dans les bascules respectives de cha- cune des unités de blocs logiques représentées en figure 3. Il en résulte que les signaux édités et le signal unique de. mode d'instruction sont écrits dans les registres visibles de logiciel et le registre présélectionné, respectivement, comme indiqué par un septième étage 57 en figure 7. Chacun des registres restants est mis dans l'état initial. Par consé- quent, l'opération du septième étage est appelée ci-après opération d'écriture. Une telle opération d'écriture est exécutée de la manière suivante. Comme l'opération de lecture décrite en liaison avec le premier étage S1' l'impulsion de mode de dé- calage SM et le signal d'adresse de bloc logique PKA sont fournis par l'unité de diagnostic 30 à l'adaptateur 71 (figu- re 3) par l'intermédiaire de l'interface de diagnostic 31, avec le signal ALSEL interrompu par l'unité de diagnostic 30. Par conséquent, les impulsions d'horloge CK sont fournies sélectivement par l'unité de diagnostic 30 aux unités de blocs logiques sélectionn.ées par le signal PKA lorsque le signal CSTOP est libéré. La chaîne SI est également envoyée de la mémoire 76 à l'adaptateur 71 par l'intermédiaire de l'interface de diagnostic 31 en relation synchronisée avec les impulsions d'horloge CK. Comme représenté en figure 3, la chaîne SI est fournie par une pluralité de portes ET représentées col- lectivement par la référence 91 à l'une des unités de blocs logiques alimentées avec les impulsions d'horloge CK. Ain- si, les signaux édités et le signal unique de mode d'ins- truction sont maintenus dans les registres visibles de lo- giciel et le registre présélectionné, respectivement. 19. Ensuite, un signal de départ de tentative de re- lance RTRY (figure 6) est fourni par l'unité de diagnos- tic 30 au premier processeur 21, comme représenté par un huitième étage S8. Le premier processeur 21 reçoit le si- gnal RTRY à l'unité de commande 35 de façon à faire une ten- tative de relance de l'instruction particulière grâce à l'u- tilisation des signaux édités et du signal unique de mode d'instruction maintenus dans les registres visibles de lo- giciel et le registre présélectionné, respectivement. Avant la production du signal RTRY, l'unité de diagnostic 30 désexcite l'impulsion de mode de décalage SM, et le signal PKA alors qu'elle met le signal ALSEL au niveau logique "1" pour permettre au premier processeur 21 de tenter une relance de l'instruction particulière, bien que non représenté en figure 7. Après production du signal RTRY, une période pré- sélectionnée est mesurée dans l'unité de diagnostic 30 par un dispositif temporel (nonreprésenté) de façon à contrô- ler la fin de l'opération de tentative de relance, comme représenté par un neuvième étage S9 en figure 7,. Lorsque la période présélectionnée s'est écoulée, le fonctionnement de l'unité de diagnostic 30 passe à un dixième étage S10 dans lequel ltopération de lecture de bascule est exécutée comme dans le premier étage S1,, Il en résulte que les unités respectives de blocs logiques et l'indicateur 55 sortent les signaux d'état et un signal de validation de tentative de relance résultant de l'opération de tentative de relance, respectivement, comme chaîne de donnée de sortie de tentative de relance, Cette chaîne est envoyée de l'adaptateur 71 à la mémoire 76 par l"intermé- diaire de l'interface de diagnostic 31 d'une manière simi- laire à la chaîne S0 décrite en liaison avec le premier éta- ge S51 Comme représenté en figure 7, le dixième étage 510 est suivi d'un onzième étage Sl1 pour contrôler si oui ou non une erreur apparaît dans la chaîne de donnée de sortie de tentative de relance. Si aucun signal d"erreur ER n"est fourni par les circuits de détection d'erreur 46 à 48, on 20. 2492132 peut considérer que l'erreur accompagnant antérieurement l'instruction particulière est éliminée par l'opération de tentative de relance. Cela veut dire que la première erreur n'était par une erreur de matériel ou une erreur persistan- te. Ainsi, lorsqu'il apparaît qu'aucune erreur de matériel ne s'est produite en ce qui concerne l'instruction particuliè- re par l'opération de tentative de relance, les signaux d'état de tentative de relance provenant des registres visi- bles de logiciel sont édités de nouveau dans un douzième étage 512 de façon à éditer des signaux. de données de sor- tie dans la zone des données initiales de la mémoire 76 suivant une manière décrite dans le quatrième étage S4. Le premier processeur 21 est remis à l'état initial comme indiqué dans un treizième étage 513 après édition des signaux de données de sortie. Ces signaux sont sortis sous forme d'une chalne de données d'introduction par décalage SI de façon à écrire les signaux d'étàt dans les registres visio bles de logiciel du premier processeur 21, comme indiqué dans un quatorzième étage 514- L'opération d'écriture ou opéra- tion de charge de bascu.le est semblable à celle du septième étage S7, sauf que le signal unique d'instruction de mode n'est pas inclus dans les signaux des données de sortie dé- placés dans le quatorzième étage 5î4. Après que les signaux d'état et les signaux de don- nées d'état initial sont chargés dans les registres visibles de logiciel et les registres restants, respectivement, l'uni- té de diagnostic 30 fournit un signal de départ de tentative de relance RTRY au premier processeur 21, comme représenté dans un quinzième étage S15, Il en résulte que le premier processeur 21 traite de nouveau l'instruction particulière, puis les instructions suivantes. Dans le onzième étage S11, l'unité de diagnostic 30 suppose l'apparition d'une erreur de matériel dans le pre- mier processeur 21 lorsqulun signal d'erreur ER est de nou- veau fourni par le premier processeur 21 à l'unité de diag- nostic 30. Dans l'hypothèse indiquée ci-dessus, le fonction- nement de l'unité de diagnostic 30 passe du onzième étage 21. 2492132 Sll à un seizième étage S16. Au seizième étage S16' l'unité de diagnostic 30 re- cherche un signal de validation de tentative de relance des signaux de données de sortie de tentative de relance d'une manière similaire à celle du second étage S2. Si aucun si- gnal de validation de tentative de relance ntest inclus dans les signaux de données de sortie de tentative de relan- ce, le seizième étage S16 est suivi du troisième étage 53 de façon à fournir le signal d'interruption d'arrêt au second processeur 22. Comme décrit en liaison avec le troisième étage S3, le premier processeur 21 est finalement isolé du système d'ordinateur sous la commande du second processeur 22. Si un signal de validation de tentative de relance est inclus dans les signaux de données de sortie de tentati- ve de relance,l'unité de diagnostic 30 détecte ou répond au signal de validation de tentative de relance, Dans ce cas, le signal de validation de tentative de relance apparaît deux fois au second et au seizième éta- ge S2 et S16. On peut considérer que les deux signaux de va- lidation de tentative de relance proviennent de la même er- reur qui s'est produite lors du traitement de l'instruction particulière dans le premier processeur 21. Dans ces circons- tances, l'unit. de diagnostic 30 juge l'erreur comme étant due au matâriel ou à une erreur persistante et fait progres- ser son fonctionnement du seizième étage 516 au dix-septième étage S17 Daas le dix-septième 6tage S1i, lVunité.de diagnostic O0 fournit un signal d'interruption de dégagement RELIEF au second processeur 22 par l'intermediaire de l'interface de diagnostic 31. Le signal RELIEF est indicatif du dégagement ou remplacement du premier processeur 21 par le second pro- cesseur 22 et est reçu par un registre d'interruption 89 (figure 3) du second processeur 22, L'unité de diagnostic 30 interrompt l'opération de relance pendant un certain temps après la production du signal RELIEF, Comme le registre d'interruption 89 est référencé 22. par un programme ou logiciel du second processeur 22, le si- gnal RELIEF est interprété par le programme pour exécuter l'opération nécessaire à l'interruption de dégagement. En liaison avec la figure 8 et de nouveau avec les figures 2 et 3, le second processeur 22 surveille le registre d'interruption 89 sous la commande du programme à l'issue de l'une des instructions récupérées par le second processeur 22 qui est en cours d'exécution. Les registres visibles de lpgiciel du second processeur 22 ont déjà été effacés avant la surveillance du registre d'interruption 89. Lorsque le signal RELIEF provient du registre deinterrup- tion 89, le second processeur 22 extrait l'instruction de permutation et de départ SAS (mentionnée auparayant en liaison avec la figure 2) pour la maintenir dans le regis- tre d'instruction 36. L'instruction SAS maintenue dans le registre 37 provoque la production par le décodeur du si- gnal de demande d'instruction de permutation SW, comme indi- qué au 18ème étage 518 près de la partie supérieure de la figure 8. Le signal de demande d'instruction de permuta- tion SW est envoyé aux unités de blocs logiques respectives 41 à 43 par l'intermédiaire de la seconde porte DU 52. Il en résulte que chacune des bascules des unités 41 à 43 s'ar- rête en réponse au signal SWO A partir de là, on comprendra facilement qu'une combinaison du registre d'instruction 36, du décodeur 37, et de la seconde porte OU 52 est mise en oeuvre lors de l'apparition de l'erreur dans le premier processeur 21 et sert à suspendre la section d'exécution 33 du second proces- seur 22 à l'issue de l'exécution de l'instruction qui est en cours diexécution par un second processeur 224 Le signal SW est également envoyé comme signal de disponibilité à l'unité de diagnostic 30 par l'intermé- diaire de la seconde interface de diagnostic 31b reliée au décodeur 37. Par conséquent, la seconde interface 31b peut fonctionner de façon à produire le signal de disponibilité * à l'issue de l'exécution de l'instruction en cours d'exécu- tion. 23. 2492132 De façon à produire un signal de disponibilité, on peut utiliser un autre générateur mis en oeuvre par le signal SW. De nouveau en liaison avec les figures 5 et 8, l'unité de diagnostic 30 est mise en oeuvre en réponse au signal de demande de disponibilité ou d'instruction de per- mutation SW de façon à fournir au second processeur 22 un signal de remise à l'état initial, comme indiqué dans un dix-neuvième étage S19 de la figure 8, de façon à remettre le second processeur à l'état initial de la manière usuel- le. On se rappellera que la mémoire 76 mémorise anté- rieurement les signaux de données d'état lus dans les re- gistres respectifs du premier processeur 21,en particulier, les registres visibles de logiciel, comme indiqué au dixiè- me étage 5 en figure 7. Dans un vingtième étage 520 représenté en figure 8, l'unité de diagnostic sort de la mémoire 76 les signaux de données d'état mémorisés pour les introduire dans les registres respectifs du second processeur 22 sous forme d'une chaîne de données de sor'tie SO. La chaîne SO est char- gée dans les bascules respectives du second processeur 22. Ainsi, les registres visibles de logiciel du second proces- seur 22 sont chargés avec les signaux d'état provenant des registres visibles de logiciel du premier processeur 21. Une telle opération d'écriture est en soi similaire à celle décrite dans le septième étage S7 (figure 7) sauf que la chaîne de données de sortie est envoyée au second processeur 22. S'agissant de l'unité de diagnostic 30, le signal de validation de tentative. de relance et le signal d'instruc- tion de permutation SW produit dans les premier et second processeurs 21 et 22 sont reçus par l'adaptateur 78 pour être envoyés au microprocesseur 75 et à la mémoire 76, De plus, le microprocesseur 75 délivre les signaux d'état di- rectement de la mémoire 76 aux registres du second proces- seur 22 sans passage par la mémoire principale 20. 24. 2492132 Dans ces circonstances, un signal de départ de tentative de relance RTRY est envoyé par l'adaptateur 78 de l'unité de diagnostic 30 au second processeur 22, comme re- présenté dans un vingt-et-unième étage 521 près de la par- tie inférieure de la figure 8. Ainsi, le second processeur 22 est invalidé pour prendre la relève de l'exécution de l'instruction particulière. Après exécution de l'instruc- tion particulière provenant du premier processeur 21, le second processeur 22 traite le programme alloué au premier processeur 21 en plus des programmes pour le second proces- seur 22 de la manière usuelle. Dans l'exemple représenté, le signal d'erreur ER produit dans le premier processeur 21 est fourni par ce processeur à l'adaptateur 78. L'adaptateur 78 sert à accé- der à l'indicateur 55 du premier processeur 21 en produi- sant l'impulsion de mode de décalage SM et un signal d'adres- se PKA et à faire transférer par Ilindicateur 55 le signal de validation de tentative-de relance à la mémoire 76, En liaison avec la figure 9, la description sera spécialement axée sur 41adaptateur 78 pour lFutilisation du système de redressement d erreur de la présente invention. L'adaptateur 78 comprend un récepteur 102 et un circuit de commande 103 couplés chacun à un bus commun 77 de 16 bits (également en figure 5). L'adaptateur-78 est couplé à l'in- terface de diagnostic 31 comme on le voit le mieux en fi- gure 6 de façon à recevoir le signal dterreur ER, la chaîne de données de sortie S0, et le signal de demande d'instruc- tion de permutation SW et à fournir la chaîne de données d'introduction par décalage SI et le signal dtadresse PKA à l'interface de diagnostic 31, De façon à envoyer à l'inter- face de diagnostic 31 les signaux restants, tels que le si- gnal de mode de décalage SM, le signal ALSEL, le signal d'ar- rêt d'horloge CSTOP, et analogue, l'adaptateur 78 comprend un contrôle d'adaptateur 104 mis en fonctionnement en ré- ponse à une suite d'ordres provenant du microprocesseur 75. En dehors des divers signaux cités ci-dessus, le contrôleur 104 fournit une suite d"impulsions de commande CO aux au- tres parties de l'adaptateur 78 comme cela sera décrit ulté- rieurement. L'adaptateur 78 comprend un registre de données de bus 105 de 16 bits répondant aux divers signaux de don- nées (décrits ultérieurement), fournis par le microproces- seur 75. Le registre 105 est couplé par l'intermédiaire d'un registre de sélection d'unités 106 à un décodeur 107 pour alimenter l'un ou l'autre des premier et second processeurs 21 et 22. L'adaptateur 78 comprend en outre un registre de commande de décalage 110 de 16 bits répondant au signal PKA et une mémoire tampon 112 d'un bit pour 1024 adresses pour mémoriser la chaîne de données de sortie SO envoyée par l'interface de diagnostic 31 à la mémoire 76 et la chaîne de données d'introduction par décalage SI envoyée de la mémoire 76 à l'interface de diagnostic 31. Une telle adresse de la mémoire tampon 112 est spécifiée par un signal d'adresse de 10 bits représentatif de l'une des adresses entre "0" et "1023". Le nombre "1023" est représenté par 3FF dans la no- tation hexadécimale. De façon à indiquer chaque adresse de la mémoire tampon 112 par production du signal d'adresse, cette mémoi- re est reliée à un registre d'adresses 114, également relié au registre 105 par l'intermédiaire d'un premier sélecteur à deux voies 116. Lç registre 114 es: connect- à un soustrac- teur 117 coupl! au premier sliecteur à deux voies 116. Le soustracteur 117 soiutrait ltunité diun numéro d'adresse re- présenté par le signal d'adresse maintenu dans le registre 114 et fournit le résultat (Registre -1) de la soustraction au sélecteur 116. En général, chaque stlecteur représenté en figure 9 peut fonctionner pour sélectionner 1 tun des si- gnaux d'entrée fcurni par une pluralité de moyens ou de routes et comporte des légendes représentatives des signaux d'entrée ou parties d'entrée., Quant au premier sélecteur à deux voies 116, la sélection est exécutée pour des signaux d'entrée fournis par le registre 105 et le soustracteur 117, Un premier comparateur 118 est couplé au registre 25. 26. 2492132 114 pour en comparer le contenu à zéro et alimenter le con- trôleur 104 avec un premier signal de coïncidence lorsque le contenu coïncide avec zéro. Un compteur 121 de cinq bits est couplé au regis- tre 105 par l'intermédiaire d'un second sélecteur à deux voies 122 connecté à un second soustracteur 123. Le compteur 121 sert à compter lenombre de bits de donnée décalés dans la mémoire tampon 112, comme cela sera décrit ultérieurement. Le compteur 121 a un fonctionnement lié à la mémoire tampon 112 et sera par conséquent référencé SKF, ci-après. Un se- cond comparateur 124 est relié au compteur 121 et a un fonc- tionnement semblable à celui du premier comparateur 118. En figure 9, la chalne de données de sortie S0 est décalée dans la mémoire tampon 112 par l'intermédiaire d'un sélecteur 126 et d'un troisième sélecteur b deux voies 128, En pratique, le sélecteur 126 est relié à la mémoire prin- cipale 20, aux processeurs dteritr6e/sortie 26 et 27, et à l'unité de commande du système 24 en dehors des premier et second processeurs 21 et 22. Un registre à décalage 131 de trente deux bits est couplé à un quatribme sélecteur à deux voies 132 et b un cinquième sélecteur à deux voies 133. En outre, le registre 131 est couplé au bit le plus significatif (référencé "0") avec le troisième sélecteur à deux voies 12.8, Le quatrième sélecteur b deux voies 132 est couplé au récepteur 102 et à un sélecteur à trois voies 135 connecté à la mémoire tam- pon 112. De plus, le quatrième sélecteur à deux voies 132 répond au contenu du registre à décalage 131 Cela veut di- re que le contenu du registre -est ddcalé vers la gauche d'un bit lorsque le sélecteur à trois voies 135 est sélec- tionné par le quatrième sélecteur à deux voies 132, comme cela sera décrit ultérieurement en détail. Le bus commun 77 de seize bits est couplé à chacun des récepteurs 102 et au dispositif de commande 103. D'au- tre part, il est fait usage du registre à décalage 131 de trente-deuxbits. Les quatrième et cinquième sélecteurs à deux voies 132 et 133 servent à l'adaptation du registre 131 27. 2492132 au bus commun 77. En liaison avec la figure 10 et de nouveau avec la figure 9, l'opération de lecture représentée aux premier et dixième étages S1 et S10 (figure 7) est démarrée par lin- dication, à partir du microprocesseur 75, d'un code d'unité de quatre bits alloué à chacun des premier et second proces- seurs 21 et 22. Bien qu'un dispositif d'unité similaire soit alloué à chacun des éléments suivants, la mémoire principale , l'unité de commande du système 24 et les processeurs d'entrée/sortie 26 et 27, il n'est pas pris en considéra- tion dans la présente description. Ici, on suppose que le code d'unité spécifie le pre- mier processeur 21. Le code est envoyé au registre de sélec- tion d'unité 106 à partir du microprocesseur 75 par linter- médiaire du récepteur 102 et du registre de données de bus sous la commande du contrôleur d'adaptateur 104; comme indiqué à une première étape supplémentaire SP1. Le code d'unité est décodé par le décodeur 108 et est fourni au pre- mier processeur 21. Le contrôleur d'adaptateur 104 fournit le signal d'arrêt d'horloge CSTOP au premier processeur 21 pour arrêter la fourniture des impulsions d'horloge CK au premier proces- seur 21 à une seconde étape supplémentaire SPO2 Létape SP2 est suivie d'une troisième étape supplémentaire SP3, dans laquelle le signal "toute sélection" est mis au niveau logique "0" par le contrôleur 104 en réponse à un ordre pres- crit ou premier ordre. Ensuite,le signal d'adresse PKA est envoyé du micro- processeur 75 pour être stocké dans le registre de commande de décalage 110, comme représenté dans une quatrième étape supplémentaire SP4 et pour spécifier l'une des unités de blocs logiques dans le premier processeur 21. Maintenant, une cinquième étape supplémentaire SP5 sert au décalage ou à la lecture des signaux d'état dans l'uni- té de blocs logiques spécifiée par le signal PKA. Cette opéra- tion est appelée opération de sortie pour la commodité de la description. 28. 2492132 En liaison momentanément avec la figure 11, l'opé- ration de sortie est démarrée à partir d'une première étape subsidiaire SS1l Dans cette étape SS1, il est fait usage de la mémoire tampon 112 de 1024 bits et du registre d'adres- ses 114 (SFA) de 10 bits pour indiquer chaque adresse de bit de la mémoire 112. La capacité en bits ou nombre de la mémoi- re tampon 112 (SFB) est supérieure au nombre maximum de toutes les bascules incluses dans chaque unité de blocs lo- giques. Cela veut dire que la mémoire tampon 112 est capable de stocker tous les signaux d'état fournis par chacune des unités de blocs logiques. Comme représenté à la première étape subsidiaire SSl de la figure 11, le registre d'adresses 114 reçoit un signal de nombre constant' représentatif de la décimale 1023 ou de l'hexadécimale 3FF.Cë signal spécifie le numéro maximum d'adresses "1023" de la mémoire tampon 112 et est envoyé du microprocesseur 75 au registre-d'adresses 114 par l'intermé- diaire du registre de données de bus 105 et du premier sé- lecteur à deux voies 116. En figure 11, la première étape subsidiaire SS1 est suivie d'une seconde étape subsidiaire 552 pour produire l'impulsion de mode de décalage SM. A cette fin, le contrô- leur d'adaptateur 104 est mis en oeuvre par un second ordre provenant du microprocesseur 75. Dans ces circonstances, une troisième étape subsidiai- re SS3 est exécutée après la seconde étape subsidiaire 552 grâce à l'utilisation du premier comparateur 118, A présent, le premier comparateur 118 ne produit aucun signal de sor- tie, car le numéro constant n'est pas égal à la valeur 'I0". Dans cette situation, la mémoire 76 procède à une quatrième étape subsidiaire SS 4 Comme représenté en figure 11, une impulsion d'horloge unique CK est d'abord fournie par le générateur dtimpulsions d'horloge 140 aux parties concer- nées. Il en résulte que le premier bit de la chafne de don- nées de sortie S0 produite par le premier processeur 21 est décalée dans la mémoire tampon 112 (SFB) à partir de l'in- terface de diagnostic 31 par l'intermédiaire des sélecteurs 126 et 128 sous la commande du contrôleur d'adaptateur 104. Ainsi, le premier bit de la chaîne SO est maintenu dans l'adresse de numéro maximum de la mémoire tampon 112. En même temps, l'unité de blocs logiques en question est ali- mentée avec le niveau logique "0" par l'intermédiaire du sélecteur à trois voies 135 comme premier bit de la chaîne de données d'introduction par décalage SI. Le niveau logi- que "0" est maintenu dans le premier étage,par exemple en 56 (figure 3) des bascules de ltunité de blocs logiques mentionnée ci-dessus qui est vidée par leopération de sor- tie. La production du niveau logique "0" est accomplie par sélection d'une valeur prédéterminée "0" par le sélec- teur à trois voies 135, La valeur prédéterminée "0" est donnée au sélecteur à trois voies 135 à partir d'un géné- rateur de valeur constante (non représenté) en même temps qu'une autre valeur prédéterminée "1". D'autre part,le registre d'adresse 114 (SFA) est alimenté avec le résultat (SFA-1) de la soustraction à par- tir du premier soustracteur 117 par l'intermédiaire du pre- mier sélecteur à deux voies 116. Ensuite, la troisième étape subsidiaire 553 est exécutée de nouveau de façon à comparer le contenu du re- gistre 114 à zéro. Une opération similaire est répétée à la quatrième étape subsidiaire SS4 tant que le contenu du registre 114 ne coïncide pas avec zéro. Lorsque le contenu du registre 114 coincide avec 7éro, une impulsion d'horloge unique CK est fournie par le générateur 140 (figcre 9). Simultanément le niveau logique "1" est fourni par l'intermédiaire du sélecteur à trois voies 135 à l'unité de blocs logiques comme dernier bit de la chaîne de données dintroduction par décalage SI, comme indiqué à une cinquième étape subsidiaire SS5. Dans ces circonstances, la mémoire tampon 112 (SFB) stocke la chaîne de données de sortie SO à partir de l]adres- se de numéro maximum dans la direction de l'adresse de numé- ro minimum suivant le nombre de bascules incluses dans l'unité de blocs logiques en question. D"autre part, toutes les baseules conservanrt le niveau logique "0" excepté le 29. 30. premier étage qui est connecté au côté entrée de l'unité de blocs logiques et est alimenté avec le niveau logique "1". L'opération de sortie est terminée par arrêt de l'impulsion de mode de décalage SM grâce à l utilisation du contrôleur d'adaptateur 104 comme indiqué dans une sixième étape subsidiaire SS6. Revenant à la figure 10,. l'opération de sortie (SP5) décrite en liaison avec la figure 11 est suivie d'une sixième étape supplémentaire SP6, A l'étape SP6, les signaux d'état stockés dans la mémoire tampon 112 sont introduits par décalage, c'est-à-dire ramenés à leunité de blocs logiques en question du premier processeur 21 avec les signaux d'état maintenus dans la mémoire 112. Cette opération est appelée pour la commodité de la description. introductioi par-décala- ge. En ce qui concerne l'opération de lecture repré- sentée en figure 10, cette opération d'entrée par décalage n'est pas toujours nécessaire., Dans l'exemple représenté, cette opération est exécutée de façon qu'un dispositif exté- rieur (non représenté) puisse contrôler le contenu des uni- tés de blocs logiques. On doit se rappeler que le niveau logique "1" est maintenu dans le seul premier étage des bascules, tel que la baseule 56 (figure 3). Il est possible de renvoyer cor- rectement les signaux d'état à un registre de deécalage de l'unité de blocs logiques par surveillance du niveau logi- que "1" dans 1lunité de diagnostic 30, Pendant l'opération d'introduetion par décalage, le registre de décalage en ques- tion produit successivement à partir du dernier étage des bascules une suite de signaux de données qui était précédem- ment écrite dans le registre ds dgcalage lors de l'opéra- tion de sortie et qui comprend seulement un niveau logique "1"1. Comme la suite de signaux de données est envoyée à l'unité de diagnostic 30 en chalne de données de sortie 50, l'unité 30 est capable de détecter-la fin de l'opération d'introduction par deécalage en contrôlant le niveau logique "1" inclus dans la chaîne SO. 31. En liaison temporairement avec la figure 12, l'opération d'introduction par décalage est semblable à l'opération de sortie de la figure 11 en ce sens que le registre d'adresses 114 reçoit le nombre 3FF à une première étape subordonnée SB1 et l'impulsion de mode de décalage SM est produite à partir du contrôle d'adaptateur 104 à une seconde étape subordonnée 5B2. A une troisième étape subor- donnée SB3, la chaîne des données de sortie S0 est contrô- lée de façon à détecter le niveau logique "1" de la maniè- re connue. Alors que le niveau logique "1" n'apparaît pas dans la chaîne SQ, une quatrième étape subordonnée SB4 est exécutée après la troisième étape subordonnée SB3. A l'éta- pe subordonnée SB4, une impulsion d'horloge unique CK est produite par le générateur 140 et un signal de données est lu au numéro d'adresse maximum de la mémoire tampon 112 com- me la chaîne de donnée d'introduction par décalage S0. En- suite, le registre d'adresses 114 est alimenté avec le ré- sultat (SFA-1) de la soustraction. Ensuite,la troisième étape subordonnée SB3 est de nouveau répétée. Un fonctionnement similaire est.exécuté de manière répétée jusqu'à détection du niveau logique "1" dans la chaîne de données de sortie S0. Si le niveau logique "1" apparaît dans la chal- ne 50, une cinquième étape subordonnée SB5 suit la troi- sième étape subordonnée SB3 pour mettre l'impulsion de mode de décalage SM au niveau logique "0". Ainsi, l'opération d'introduction par décalage est terminée. En liaison de nouveau avec la figure 10, l'opé- ration d'introduction par décalage décrite à la sixième éta- pe supplémentaire SP6 est suivie dtune septième étape sup- plémentaire SP7. A la septième étape supplémentaire SP7, l'hexadécimale 3FF est maintenue dans le registre d'adres- ses 114, comme cela était le cas avec les étapes SS et SB représentées dans les figures 11 et l2. Après la septième étape supplémentaire SP7, le microprocesseur 75 effectue un calcul spécifié par la nota- tion de Gauss à une huitième étape supplémentaire SP8.Plus spécifiquement, le microprocesseur 75 ajoute le nombre de bascules de l'unité de blocs logiques à un nombre prédéter- miné "31" pour obtenir la somme de deux nombres et, ensui- te, divise la somme par un autre nombre prédéterminé "32" afin de calculer un quotient. Le quotient est maintenu dans le premier registre général 79a comme représenté en figure 5. La huitième étape supplémentaire SP8 est liée à l'utilisation du registre de décalage 131 de 32 bits repré- senté en figure 9, comme cela apparaîtra au fur et à mesu- re de la description. Le quotient est comparé à zéro par le microproces- seur 75 à une neuvième étape supplémentaire SP. A moins que le quotient soit égal à zéro, la neuvième étape supplé- mentaire SP9 est suivie d'une dixième étape supplémentaire SP10 dans laquelle les signaux-d'état sont transférés de la mémoire tampon 112 à la mémoire 76 par l'intermédiaire du registre de décalage 131 et du cinquième sélecteur à deux voies 133, tous deux représentés en figure 9. Comme les signaux d'état sont finalement stockés dans la mémoire 76, cette opération de transfert sera appelée ci-après opéra- tion de stockage SFB. * En liaison momentanée avec la figure 13, le comp- teur 121 (SFK) de cinq bits représenté en figure 9 est char- gé à partir du microprocesseur 75 avec un nombre prédéter- miné de "31" représenté par 1F dans la notation hexadécimale, comme représenté à une première étape SC1. On notera ici que le nombre présélectionné "31" est lié à la capacité en bits du registre de décalage 131. Un contenu du compteur 121 (SFK) est comparé à zéro par l'utilisation du second comparateur 124 à une seconde éta- pe SC2. Dans la mesure o ce contenu n'est pas égal au nom- bre prédéterminé à ce moment là, la seconde étape SC est suivie d'une troisibme étape SC3. A la troisième étape SC3, un signal de bit unique. est envoyé de la mémoire tampon 112 au registre de décalage 131 par l'intermédiaire du sélecteur 32. à trois voies 135 et du quatrième sélecteur à deux voies 132. Le signal est tiré de l'adresse spécifiée par l'hexadécimale 3FF qui est établie dans le registre d'adresses 114 à l'éta- pe supplémentaire SP de la figure 10. Répondant à ce si- gnal, le quatrième sélecteur à deux voies 132 décale le re- gistre de décalage 131 (SFR) dtun bit vers la gauche et sto- cke le signal à bit unique au bit le plus significatif du registre 131.En outre, la soustraction est exécutée par les premier et second soustracteurs 117 et 123 à la troisième étape SC3. A l'issue de la troisième étape SC3, lopération est ramenée à la seconde étape SC2. Les seconde et troisième étapes SC2 et SC3 sont répétées jusqu'à ce que le contenu du compteur 121 soit égal à zéro. A ce moment là, le regis- tre de décalage 131 est rempli avec les signaux d'état depuis le bit le moins significatif ("31") jusqu'au bit le plus significatif ("0"). Dans ces circonstances, les signaux d'état de 32 bits sont transférés du registre 131 au second registre gé- néral 79b (figure 5) 16 bits à la fois, Dans l'exemple re- présenté, la moitié la plus significative des signaux d'état est d'abord transférée au second registre général 79b à une quatrième étape SC4 et est, ensuite, stockée dans la mémoire 76 comme représenté dans une cinquième étape SC5. Ensuite, la moitié la moins significative des signaux d'état est transférée ou registre de décalage 131 au second registre général 79b et, ensuite du second registre général 79b à la mémoire 769 comme représenté aux sixième et septiè- me étapes SC6 et SC7. Revenant à la figure 10, l'opération de stockage en mémoire tampon SFB à la dixième étape supplémentaire SP10 est suivie d'une onzième étape supplémentaire SPll. A la onzième étape supplémentaire SPl, le microprocesseur 75 soustrait l'unité du quotient ou contenu du premier regis- tre général 79a et, ensuite, exécute l'opération de la neu- vième étape supplémentaire SP9. Lorsque le contenu du premier registre général 79a devient égal à zéro, le transfert de tous les signaux 3}3. 2492 132 d'état maintenus dans la mémoire 112 est terminé, Par conséquent, le contrôleur d'adaptateur 104 met l'impulsion ALSEL au niveau logique "1" de façon à four- nir les impulsions d horloge CK au premier processeur 21, comme représenté à une douzième étape supplémentaire SP12* En liaison avec la figure 14, ainsi qu'avec la figure 9, l'opération d'écriture représentée aux étages 57 et S20 dans les figures 7 et 8 consiste à transférer les signaux d'état de la mémoire 76 à une unité de blocs logiques du premier ou du second processeur 21 ou 22 conformément aux signaux d'adresse PKA. Ici, supposons que les signaux d'état soient fournis au premier processeur 21, Dans l'opération d'écriture, le signal du regis- tre de données de but (USEL) 106 est chargé avec le code d'unité spécifiant le premier processeur 21, comme repré- senté à une première adresse supplémentaire ST1 de la figu- re 14. Ensuite, le contrôleur'd'adaptateur 104 produit le signal d'arrêt d'horloge CSTOP servant à arrêter la fourni- ture des impulsions d'horloge CK au premier processeur 21, comme représenté à une seconde étape supplémentaire ST2. A une troisième étape supplémentaire ST3 le contrôleur 104 met l'impulsion toutes sélections ALSEL au niveau logi- que "0". Il en résjlte qu'il devient possible de fournir sélectivement aux unités de blocs logiques du premier pro- cesseur 21 les impulsions d'horloge CK( interrompues actuel- lement. De façon à alimenter sélectivement les unités de blocs logiques du premier processeur 21, les signaux d'adres- se de blocs PKA sont envoyés du registre de commande de dé- calage 110 représenté en figure 9 à l'interface de diagnos- tic 31 dans une quatrième étape supplémentaire ST4. Dans ces circonstances, l'opération de sortie est exécutée à une cinquième étape supplémentaire ST5 d'une. manière similaire à l'étape supplémentaire SP5 représentée en liaison avec la figure 10, Il en résulte que les signaux d'état sont extraits de l'unité de blocs logiques en ques- tion pour être introduits dans la mémoire tampon 112, Comme cela est le cas avec les septième et huitié- 34. 25. 492132 me étapes supplémentaires SP7 et SP8 (figure 10), le regis- tre d'adresses 114 et le premier registre général 79a sont chargés avec le nombre 3FF et un quotient obtenu par un cal- cul similaire à celui décrit à la huitième étape supplémen- taire SP8, comme indiqué aux sixième et septième étapes supplémentaires ST6 et ST7, respectivement. Comme dans la neuvième étape supplémentaire SP9 (figure 10), un contenu du premier registre général 79a est détecté par le microprocesseur 75 à une huitième étape sup- plémentaire5ST8. La huitième étape supplémentaire ST8 est suivie d'une neuvième étape supplémentaire ST9 à moins que le con- tenu du premier registre général 79a soit égal à zéro, A la neuvième étape supplémentaire, ST9, la mémoire tampon 112 est chargée à partir de la mémoire 76 avec des signaux de données, c'est-à-dire des signaux de données d'écriture, devant être écrits dans l'unité de blocs logiques en ques- tion. Par conséquent, cette opération est appelée opéra- tion de chargement de mémoire tampon. En liaison temporaire avec la figure 15, l'opéra- tion de chargement de mémoire tampon est démarrée en met- tant l'hexadécimale 1F dans le compteur 121 à une première étape SDj, comme dans l'étape SCI décrite en liaison avec la figure 13. - La moitié la plus significative des signaux de don- nées d'écriture est envoyée de la mémoire 76 à une troisième registre général 79c, comme représenté à une seconde étape SD2, et est maintenue dans les positions de bits de la moi- tié la plus significative du registre de décalage 131 com- me indiqué à une troisième étape SD3., De même, la moitié la moins significative des signaux de données d'"écriture est envoyée par le troisième registre général 79c aux positions de bits de la moitié la moins significative du registre de décalage 131, comme indiqué aux quatrième et cinquième éta- pes SD4 et SD5. Ainsi, le registre de décalage est rempli des signaux de données d'écriture de 32 bits, Ensuite, un contenu du compteur 121 est consulté 35. 36. pour détecter si oui ou non le contenu est égal à zéro, à une sixième étape SD6. Si le contenu n'est pas égal à zéro, l'étape SD6 est suivie d'une septième étape SD7. A la sep- tième étape SD7, le registre de décalage 131 est décalé d'un bit vers la gauche. Il en résulte qu'un bit des si- gnaux de données d'écriture est fourni à partir de la po- sition de bit la plus significative du registre 131 à la mémoire tampon 112. Ensuite, la soustraction est exécutée comme décrit à l'étape SC3 de la figure 13.. Lorsque les signaux de données d 'écriture de 32 bits sont tous transférés du registre de décalage 131 à la mémoire tampon 112, le contenu du compteur 121 devient égal à zéro. A ce moment là l'opération de chargement SFB est terminée et suivie d'une dixième étape supplémentaire STl 1représentée en figure 14, En liaison de nouveau avec la figure 14, la sous- traction du premier registre général 79a est exécutée dans le microprocesseur 75 à la dixième étape supplémentaire ST10 suivie de l'opération de chargement SFB (ST9). Lors- que tous les signaux de données d'écriture sont stockés dans la mémoire tampon 112 par l'intermédiaire du registre de décalage 131, le contenu du premier registre général 79a devient zéro. Il en résulte que l'opération passe de la hui- tième étape supplémentaire ST8 à une onzième étape supplé- mentaire STl A la onzième étape supplémentaire ST1l, les signaux de données d'écriture sont décalés dans l'unité de blocs logiques sous forme d'une chaîne de données d'in- troduction par décalage SI d'une manière décrite dans la sixième étape supplémentaire SP6 de la figure 10. A l'issue de l'opdration d'introduction, l'impul- sion ALSEL est envoyée à l'unité de blocs logiques en ques- tion pour lui fournir les impulsions d'horloge CK. Ainsi, l'opération d'écriture est terminée,, D'après le fonctionnement précédent, on compren- dra facilement que.le contrôleur d 'adaptateur 104 sert à accéder à l'indicateur 55 du-premier processeur 21 en pro- duisant le signal de mode de décalage SM et le signal 37 2492132 d'adresse de blocs logiques PKA et en coopérant avec le mi- croprocesseur 75 alimenté avec le signal d'erreur ER par l'intermédiaire d'un registre de signal d'erreur 141 repré- senté en figure 9. Il en résulte que le signal de validation de tentative de relance est transféré de l'indicateur accédé au microprocesseur 75 par l'intermédiaire de la mémoire tampon 112 comme signal à un bit de la chaîne de données de sortie Sa. De plus, le signal d'instruction de permutation ou signal de disponibilité SW est envoyé du second processeur 22 au microprocesseur 75 par l'intermédiaire d"un registre de demande d'instruction de permutation 143 représenté en figu- re 9. Répondant à ce signal et au signal de validation de tentative de relance, le microprocesseur 75 délivre les signaux d'état à partir de la mémoire 76 aux registres du se- cond processeur 22 en coopération avec le registre -de déca- lage 131 et le compteur 121 comme chalne de données d'in- troduction par décalage SI. La chaîne SI est directement envoyée de l'unité de diagnostic 30 au second processeur 21 sans passage par la mémoire principale 20. Ainsi, le second processeur 22 prend la relève de l'exécution de l'instruc- tion particulière. En liaison avec la figure 16, un système de re- dressement d'erreur selon un second mode de réalisation de la présente invention est utilisé en combinaison avec un sys- tème d'ordinateur nLumérique électronique comprenant des par- ties similaires représentées par des références identiques. Dans le système d'ordinateur, on suppose qu'une erreur se produit dans le premier processeur 21 et que les signaux d'état sont transférés du premier processeur 21 au second pro- cesseur 22 après apparition de l'erreur, Dans ces circons- tances, les premier et second processeurs 21 et 22 sont considérablement simplifiés, En figure 16 le premier processeur 21 est repré- senté par une unité de circuits logiques 34 et une unité de détection d'erreur 45 couplée à l'unité 34. L'unité 34 est représentée par un seul registre à décalage qui est consti- tué d'une pluralité de bascules, Ici, l'indicateur 55 re- 38. 2492132 présenté dans les figures 2 et 3 et constitué d"une seule bascule est supposé être inclus dans les bascules de façon à produire un signal de validation de tentative de relance. Lorsque l'erreur se produit dans l'uoité de cir- cuits logiques 34, l'-unité de détection d'erreur 45 produit un signal d'erreur ER. Répondant au signal d'erreur ER, le fonctionnement de l'unité de circuits logiques 34 est arrê- té à une instruction particulière allouée au premier proces- seur 21, avec les signaux d'état m.aintenus dans chaque bas- cule. Dans le système d'ordinateur représenté, le signal d'erreur ER est fourni par le premier processeur 21 à l'uni- té de diagnostic 30 ainsi qu'au second processeur 22. Dans l'unité 30, le signal d'erreur ER est transféré de l'adapta- teur 78 au microprocesseur 75 bien que cela ne soit pas ex- plicitement représenté dans la figure. Répondant au signal d'erreur ER, le microprocesseur 75 accède à l'unité de cir- cuits logiques 34 du premier processeur 21 en exécutant l'opération de lecture décrite en liaison avec la figure 10. Les signaux d'état sont envoyés sous forme d'une chaîne de donnée de sortie SO du premier processeur 21, par l'inter- médiaire de l'adaptateur 78 et du registre général 79, à la mémoire 76. Lorsque le signal de validation de tentative de relance est détecté dans la chaine des données de sortie du premier processeur 21, l'instruction particulière est re- lancée dans le premier processeur 21 aprs l'opération de lec- ture décrite en liaison avec la figure 14. Pour raccourdir la description, on suppose qu'un signal de validation de ten- tative de relance apparaît de nouveau à la suite de l'opéra- tion de relance et est envoyé du premier processeur 21 à l'unité de diagnostic 30 en même. temps que les autres signaux d'état par l'opération de lecture, D'autre part,le signal d'erreur ER envoyé au se- cond processeur 22 est maintenu dans un registre d'interrup- tion 89 semblable à celui de la figure 3. Comme dans la fi- gure 3, le registre d'interruption 89-est accédé par un pro- gramme alloué au second processeur 22 de façon à interpréter 39. le signal d'erreur ER. Lorsque le signal d'erreur ER est interprété dans le second processeur 22, ce dernier traite une instruction d'interruption à l'issue de l'exécution d'une instruction qui est couramment exécutée. Il en résul- te qu'une demande d'interruption est fournie à un circuit d'interruption 150 correspondant au décodeur 37 et à la se- conde porte OU 52 représentés en figure 2, symbolisé par une ligne en pointillé. Ainsi, le registre d'interruption 89 sert à produire une demande d'interruption en coopération avec un programme exécuté dans le second processeur 22. Répondant à la demande d'interruption, le circuit de suspension 150 est validé de façon à produire un signal de sortie et à suspendre l'unité de circuits logiques 34 du second processeur 22 par le signal de sortie. Simultanément, le signal de sortie est transféré en signal de disponibilité à l'adaptateur 78 comme représenté en détail en liaison avec la figure 9. Lorsque l'unité de diagnostic 30 est alimentée avec le signal de disponibilité et le signal de validation de tentative de relance provenant de l'opération de repri- se, l'unité de diagnostic 30 fournit les signaux d'état de la mémoire 76 à un registre de décalage du second proces- seur 22 par l'intermédiaire de l'adaptateur 78 par l'opéra- tion d'écriture. Après chargement des signaux d'état dans le registre de décalage, le second processeur 22 exécute l'instruction particulière de façon à reprendre l'erreur se produisant dans le premier processeur 21. Alors que la présente invention a été décrite jusqu'ici en liaison avec certains modes de réalisation, on comprendra facilement qu'elle peut être mise en pratique de diverses manières différentes, Par exemple, l'opération de redressement d'erreur décrite en liaison avec les étapes S7' 58 et S9 en figure 7 peut être exécutée par le second processeur 22 au lieu de l'être par le premier processeur 21 lorsqu'un signal de tentative de relance est produit par le premier processeur 21. De plus, le signal d'erreur ER re- présenté dans la figure 16 peut être fourni au second pro- cesseur 20 seul. Dans ce cas, l'unité de diagnostic 30 est 40. 2492132 alimentée après fourniture dtun signal de disponibilité par le second processeur 22 à l'unité de diagnostic 30. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de modifications et de varian- tes qui apparaltront-à lhomme de 1lart, 41. 2492132 REVENDICATIONS 1 - Système de redressement d'erreur (30, 31) des- tiné à être utilisé en combinaison avec un système d'ordina- teur numérique électronique comprenant une mémoire principa- le (20) pour le stockage d'une pluralité de programmes et une pluralité de processeurs (21, 22) pour le traitement des programmes, chaque programme comprenant une succession d'ins- tructions, chaque processeur comprenant un moyen d'exécution (33) pour extraire des instructions sélectionnées et pour exécuter les instructions sélectionnées afin de produire des masses d'informations, un moyen de détection (45) pour l'opération de surveillance du moyen d'exécution afin de produire un signal d'erreur quand une erreur est détectée pendant l'exécution d'une instruction particulière des instructions sélectionnées et de suspendre l'exécution de l'instruction particulière, et un moyen (55) de production de signal de validation de tentative de relance pour produi- re un signal de validation de tentative de relance pendant une durée o la relance de l'exécution de chacune des ins- tructions sélectionnées est permise, le moyen d'exécution comprenant un moyen de registre (41, 42, 43) répondant au signal d'erreur pour maintenir, comme signaux d'état, une masse d'informations résultant de l'exécution de l'instruc- tion particulière, le système de redressement d'erreur étant mis en oeuvre lors de l2apparitien de l'erreur dans un pre- mier processeur (21) des:processeurs pour qu'un second processeur (22) prenne la relève de l'exécution de l'ins- truction particulière, caractérisé en ce que: - un moyen de stockage (76) couplé au moyen de production de signal de validation de tentative de relance et au moyen de registre du premier processeur et répondant au signal de validation de tentative de relance produit dans le premier processeur pour prendre la relève du stockage des signaux d'état maintenus dans le premier processeur direc- tement à partir de celui-ci et sans passage par la mémoire principale; et en ce que le second processeur comprend 42. 2492132 - un moyen de suspension (36, 37, 52) mis en oeuvre lors de l'apparition de l'erreur dans le premier processeur pour suspendre le fonctionnement du moyen d'exécution du se- cond processeur à l'issue de l'exécution de l'une des ins- tructions extraite par le second processeur qui est en cours d'exécution; et - un moyen de production de signal de disponibilité (31b) couplé au moyen de suspension pour produire un signal de disponibilité à l'issue de l'exécution de ladite instruc- tion; - le système de redressement d'erreur comprenant en outre: - - un moyen de fourniture (75) répondant au signal de validation de tentative de relance produit dans le premier processeur et au signal de disponibilité pour fournir les signaux d'état directement depuis le moyen de stockage au moyen de registre du second processeur sans passer par la mé- moire principale, d'o il résulte la validation du second processeur pour qu'il prenne la relève de l'exécution de la- dite instruction particulière. 2 - Système selon la revendication 1, caractérisé en ce qu'il comprend en outre un moyen d'accession (104) répondant au signal dIerreur produit dans le premier pro- cesseur pour accéder au moyen de production. de signal de va- lidation de tentative de relance du premier processeur et transférer ce signal du moyen de production de signal de va- lidation de tentative de relance accédé au moyen de stockage. 3 - Système selon la revendication 2, caractérisé en ce qu'il comprend un moyen de demande (78) répondant au signal de validation de tentative de relance transféré par le moyen d'accession, pour fournir une demande dtinterrup- tion au moyen de suspension afin que ce dernier suspende l'exécution par le moyen d'exécution du second processeur. 4 - Système selon la revendication 1, caractérisé en ce que le second processeur comprend en outre: - un moyen répondant au signal d'erreur produit dans le premier processeur pour fournir une demande d'in- 43. 2492132 terruption au moyen de suspension afin de valider ce moyen pour qu'il suspende l'exécution du moyen d'exécution du se- cond processeur en réponse à la demande d'interruption; - o le système de redressement dterreur comprend un moyen répondant au signal de disponibilité pour accéder au signal de validation de tentative de relance produit dans le premier processeur. - Système selon la revendication 1, caractérisé en ce qu'il comprend en outre un moyen dtaccès (78) répon- dant au signal d'erreur produit dans le premier processeur pour accéder au moyen de production du signal de validation de tentative de relance du premier processeur afin de trans- férer le signal de validation de tentative de relance du moyen de production de signal de tentative de relance accédé au moyen de stockage; - le second processeur comprenant un moyen (89) répondant au signal d'erreur produit dans le premier pro- cesseur pour fournir une demande d'interruption au moyen de suspension afin de valider le moyen de suspension pour sus- pendre l'exécution par le moyen d'exécution du second pro- cesseur en réponse à la demande d'interruption. 6 - Système selon l'une quelconque des revendica- tions 1 à 5, caractérisé en ce que le moyen de registre (41, 42, 43) peut fonctionner dans un mode normal et dans un mo- de à décalage o il peut fonctionner comme des registres in- dividuels et comme un registre de décalage unique, respecti- vement, o le système de redressement d'erreur comprend un moyen de commande de mode (104) répondant au signal de ten- tative de relance produit dans le premier processeur pour mettre le m oyen de registre des premier et second proces- seurs dans les modes normal et à décalage, respectivement,