Brevet FR2611936A1 — publié le 19880909

SYSTEME DE COMMANDE DE CORRECTION D'ERREUR POUR MEMOIRE DE COMMANDE La présente invention se rapporte à un système de commande de correction d'erreur pour une mémoire de commande dans un processeur de données commandé par microprogrammation. Dans un processeur de données commandé par microprogrammation, une pluralité de micro-instructions mémorisées dans une mémoire de commande à grande vitesse sont transférées séquentiellement dans un registre de micro-instructions puis envoyées et décodées dans un circuit arithmétique, ce qui permet l'exécution d'une instruction câblée. Chaque microinstruction est constituée d'une pluralité de zones contenant l'information relative à l'adresse suivante, d'un code de correction d'erreur et autres en plus du code et des données relatifs à l'opération elle-même. Dans un système conventionnel de commande de correction d'erreur pour mémoire de commande, une erreur à corriger, détectée, intervient pour toutes les zones de la micro-instruction. Dans le cycle d'impulsion d'horloge au cours duquel une erreur. est détectée, l'actualisation du registre de micro- instruction est interdite et en même temps toute opération du circuit arithmétique est interdite. En général, toutefois, du fait que le circuit arithmétique est physiquement séparé de la mémoire de commande, le temps nécessaire pour qu'un signal d'interdiction d'opération atteigne le circuit arithmétique augmente. Par conséquent, un cycle ou une période d'impulsion d'horloge du processeur de -données commandé par microprogrammation est limité de façon indésirable. Un but de l'invention est ddnc d'éliminer l'inconvénient conventionnel mentionné ci-dessus et de proposer, pour une mémoire de commande, un système de commande de correction d'erreur qui puisse supprimer la limitation concernant un cycle d'impulsion d'horloge sur la base du retard d'un signal d'interdiction pour interdire une opération d'un circuit arithmétique lorsqu'une erreur se produit. Pour atteindre le but ci-dessus de l'invention, on propose un système de commande de correction d'erreur pour une mémoire de commande dans un processeur de données commandé par des micro-instruc- tions, comportant une mémoire de commande pour mémoriser les microinstructions, un circuit d'adresse pour fournir une adresse à la mémoire de commande, un registre de micro-instruction pour ranger la microinstruction lue en mémoire de commande, un circuit arithmétique, dont une opération est commandée par la micro-instruction, un circuit de détection et de correction d'erreur pour détecter et corriger une erreur générée dans la micro-instruction rangée dans le registre de micro-instruction et pour ranger la micro-instruction corrigée dans le registre de microinstruction, et des moyens de génération de signaux d'interdiction pour, lorsque le circuit de détection et de correction d'erreur détecte l'erreur, générer un premier signal d'interdiction pour interdire une opération d'actualisation du circuit d'adresse et du registre de microinstruction, pour générer un second signal d'interdiction pour interdire une opération du circuit arithmétique à un instant qui se situe une période d'impulsion d'horloge après que le premier signal d'interdiction est généré, pour invalider le premier signal d'interdiction après que le circuit d'erreur et de correction a corrigé l'erreur, et pour invalider le second signal d'inter- diction à un instant qui se situe une période d'impulsion d'horloge après que le premier signal d'interdiction est invalidé. La figure 1 est un diagramme par blocs d'une réalisation de l'invention; les figures 2(A) à 2(H) et 3(A) à 3(H) sont des graphiques chronométriques des changements dans les signaux et dans les données pour expliquer une opération de la réalisation de la figure 1; la figure 4 est un diagramme de circuit d'une réalisation d'une partie du circuit représenté sur la figure 1; la figure 5 est un diagramme par blocs d'une autre réalisation de l'invention; et la figure 6 est un diagramme de circuit d'une réalisation d'une partie du circuit représenté sur la figure 5. On va décrire en détail ci-dessous des réali- sations de l'invention en se référant aux dessins joints. La figure 1 représente une réalisation d'un système de commande de correction d'erreur pour une' mémoire de commande conforme à la présente invention. Sur la figure 1, une mémoire de commande 1 mémorise des microinstructions présentant chacune un code de correction d'erreur conforme au code Hamming. Un registre de micro-instruction 2 contient la micro-instruction lue en mémoire de commande 1. Toutes les zones de la micro-instruction sont reliées aux bornes d'entrée d'un circuit 3 de détection et de correction d'erreur et d'un générateur 4 de signal d'interdiction. Une zone concernant une opération arithmétique du registre de micro-instruction 2 est reliée à un générateur 5 de signal d'interdiction et à un circuit arithmétique 6. Une zone concernant une adresse suivante du registre de micro-instruction 2 est reliée à un circuit d'adresse (à décrire plus loin) par une ligne 21. La zone concernant la détection de l'adresse de la micro-instruction à exécuter ensuite est reliée au contrôleur d'adresse 16. Les registres 7, 8, 10, 11 et 12, un compteur 9 et des sélecteurs 13, 14, 15 et 17 constituent un circuit d'adresse pour la mémoire de commande 1 et envoient une adresse à la mémoire de commande 1 par une ligne 20. Le circuit 3 de détection et de correction d'erreur détecte et corrige une erreur à l'aide d'un code de correction d'erreur ajouté à une micro-ins- truction et corrige le contenu du registre de micro-instruction 2 par une ligne 26. Le générateur 4 de signal d'interdiction génère un signal d'interdiction S2 et l'envoie au registre de micro-instruction 2 et aux registres 8, 10, 11 et 12 lorsqu'une erreur est détectée comme cela sera décrit plus loin. Le générateur 5 de signal d'interdiction génère.. un signal d'interdiction S3 et l'envoie au circuit arithmétique 6 et au registre 7 comme cela sera décrit plus loin. Le circuit arithmétique 6 génère un signal d'interdiction Si et l'envoie au registre de micro- instruction 2 et aux registres 7, 8, 10, 11 et 12 pour interdire son propre fonctionnement ainsi que l'actualisation du registre de microinstruction 2 et des registres 7, 8, 10, 11 et 12. Un signal de sortie du circuit arithmétique 6 est envoyé au registre 7. Le registre 7 reçoit et mémorise l'information relative à l'adresse de branchement provenant du circuit arithmétique 6. Lorsque le registre 7 reçoit le signal d'interdiction S3 provenant du circuit arithmétique 6, par la ligne 23, son actualisation est interdite. Le registre 8 mémorise une adresse en cours de la mémoire de commande 1 envoyée par les lignes ' et 27' et l'envoie au sélecteur 13. Le compteur 9 incrémente l'adresse en cours de la mémoire de commande 1, envoyée par les lignes 20' et 27', de + 1 et l'envoie au registre 10. Le registre 10 mémorise l'adresse ainsi incrémentée et l'envoie au sélecteur 13. Le registre 11 mémorise une adresse sélectionnée par le sélecteur 14 (à décrire plus loin) en tant qu'adresse de retour et l'envoie au sélecteur 13. Le registre 12 empile les signaux provenant du sélecteur 14. Le sélecteur 14 reçoit l'adresse incrémentée provenant du registre 10, l'information relative à l'adresse suivante contenue dans la microinstruction envoyée par le registre de micro-instruction 2 par la ligne 21, et le signal provenant du registre 12, et sélectionne l'un de ces signaux et l'envoie aux. registres 11 et 12 en tant qu'adresse de retour. L'actualisation des registres 8, 10, 11 et 12 et du registre de microinstruction 2 est interdite par le signal d'interdiction Si envoyé par la ligne 19 ou S2 envoyé par la ligne 22. Le sélecteur 13 est commandé par le contrôleur d'adresse 16 pour sélectionner l'un des signaux provenant du registre de micro-instruction 2 et des registres 8, 10 et 11, et envoie deux bits de ce signal à l'une des bornes d'entrée du sélecteur 17 et envoie les autres bits de ce signal à la mémoire de commande 1, au registre 8 et au compteur 9. L'autre borne d'entrée du sélecteur 17 reçoit le signal de sortie provenant du sélecteur 15. Le sélecteur 15 sélectionne l'information relative à l'adresse suivante envoyée par le circuit arithmétique par la ligne 24, ou bien le signal provenant du registre 7, comme étant deux bits de l'adresse de branchement, et envoie l'adresse à l'autre borne d'entrée du sélecteur 17. Le sélecteur 17 sélectionne l'un des deux signaux d'entrée ci-dessus et envoie en mémoire de commande 1 le signal d'entrée sélectionné comme étant deux bits de l'adresse. La micro-instruction à charger dans le registre de micro-instruction 2 contient les zones d'information concernant la commande d'une opération du circuit arithmétique 6 (zone à laquelle on se réfère ci-dessous comme zone A) et les zones d'information ne la concernant pas (à laquelle on se réfère ci-dessous comme zone B). La zone B contient l'information relative à l'adresse suivante et l'information concernant la correction d'erreur. Comme indiqué sur la figure 1, toutes les zones de la micro-instruction rangées dans le registre de micro-instruction 2 sont envoyées au circuit 3. de détection et de correction d'erreur et au géné- rateur 4 de signal d'interdiction. Le générateur de signal d'interdiction et le circuit arithmétique 6 ne reçoivent que la zone A de la microinstruction rangée dans le registre de micro-instruction 2. On va décrire ci-dessous une opération du circuit représenté sur la figure 1. (1) Si le circuit arithmétique 6 en peut pas opérer parce que les données ne sont pas fournies, le circuit arithmétique 6 génère le signal d'inter- diction Sl ("1") pour interdire le fonctionnement du circuit arithmétique lui-même ainsi que l'actuali- sation du registre de micro-instruction 2 et les registres 7, 8, 10, 11 et 12. Lorsque les données sont fournies, le signal d'interdiction Sl est invalidé et le fDnctionnement du circuit arithmétique 6 et l'actualisation des registres ci-dessus peuvent redémarrer. (2) Si une erreur à corriger est détectée dans la zone A par le circuit 3 de détection et de correction d'erreur, les générateurs 4 et 5 de signal d'interdiction génèrent simultanément les signaux d'interdiction S2 et S3, respectivement. Il en résulte que, pendant la période d'impulsion d'horloge au cours de laquelle l'erreur est détectée, le fonction- nement du circuit arithmétique 6 et l'actualisation du registre de microinstruction 2 et des registres 7, 8, 10, 11il et 12 sont interdits. Après que le circuit 3 de détection et de correction d'erreur a achevé la correction de l'erreur, une erreur de la micro-instruction qui se trouve dans le registre de micro-instruction 2 est corrigée. Il en résulte que les signaux d'interdiction S2 et S3 sont simul- tanément invalidés et que l'actualisation des registres ci-dessus peut redémarrer. (3) On va décrire l'opération à effectuer lorsqu'une erreur à corriger est détectée dans la zone B de la micro-instruction par le circuit 3 de détection et de correction d'erreur, en se référant aux graphiques chronométriques des figures 2(A) à 2(H). Les figures 2(A) à 2(G) se modifient habituel- lement à un instant d'impulsion d'horloge de période T représentée sur la figure 2(H). Si une erreur à corriger (représentée par ) est détectée dans la zone B de la micro-instruction qui se trouve dans le registre de micro- instruction 2 par le circuit 3 de détection et de correction d'erreur, comme représenté sur la figure 2(A), le générateur 4 de signal d'interdiction génère le signal d'interdiction S2 ("1") à l'instant tl d'impulsion d'horloge comme représenté sur la figure 2(E), et l'actualisation du registre de micro-instruction 2 et des registres 8, 10, 11 et 12 est interdite pendant la période (tl à t2) au cours de laquelle l'erreur est détectée. Comme représenté sur la figure 2(F), le générateur 5 de signal d'interdiction génère le signal d'interdiction S3 à un instant t2 d'impulsion d'horloge correspondant à l'écoulement d'une période d'impulsion d'horloge après que le signal d'inter- diction S2 est généré et que l'actualisation du registre 7 et du circuit arithmétique 6 est interdite. En même temps, une séquence de correction d'erreur démarre et les contenus du registre de micro-instruc- tion 2 sont corrigés par le circuit 3 de détection et de correction d'erreur. Après que l'erreur de la micro-instruction dans le registre de micro- instruction 2 est corrigée, le signal d'interdiction S2 est invalidé ("0") à un instant d'impulsion d'horloge t4 et le registre de micro- instruction 2 est actualisé. Le signal d'interdiction S3 est invalidé ("0") à l'instant d'impulsion d'horloge t5 correspondant à l'écoulement d'une période d'impulsion d'horloge après que le signal d'interdic- tion S2 est invalidé et que le fonctionnement du circuit arithmétique 6 a redémarré. Dans ce cas, le fonctionnement du circuit arithmétique 6 est invalidé à l'instant d'impulsion d'horloge correspondant à l'écoulement de une période d'impulsion d'horloge après que l'actualisation du registre de micro-instruction 2 et les registres 8, 10, Il et 12 a été interdite. Par conséquent, si le circuit arithmétique 6 actualise une instruction de branchement, l'information relative à l'adresse de branchement fournie par le circuit arithmétique 6, créée en accord avec le résultat de l'opération effectuée par le circuit arithmétique 6, peut être perdue. Par conséquent, si le circuit arithmétique 6 fonctionne normalement, le sélecteur 15 sélectionne une adresse de branchement fournie par le circuit arithmétique 6 par la ligne 24. Si une erreur est détectée dans la zone B, le sélecteur 15 sélectionne l'adresse de branchement sauvegardée dans le registre 7. Ensuite, le registre de micro-instruction 2 est actualisé par une adresse basée sur les contenus des registres 8 et 7, puis le signal d'interdiction S3 pour le circuit arithmétique 6 est invalidé pour permettre de redémarrer son fonctionnement. (4) On va décrire ci-dessous, en se référant aux graphiques chronométriques des figures 3A à 3H une opération à effectuer lorsqu'une erreur provoquée par le circuit arithmétique 6 et une erreur à corriger dans la zone B de la micro-instruction qui se trouve dans le registre de micro-instruction 2 sont simulta- nément générées. Comme représenté sur la figure 3(D), si les;. signaux d'interdiction S1 et S2 prennent simultanément la valeur logique "1" à un instant d'impulsion d'hrologe tO, un signal de valeur "1" est envoyé aux registres 2, 8, 10, 11, et 12 par les lignes 19 et 22 et au registre 7 par les lignes 18 et 23, interdisant ainsi l'actualisation de ces registres. Aussi longtemps que le signal d'interdiction S1 conserve la valeur logique "1", l'exécution de la séquence de correction d'erreur est interdite. Comme représenté sur la figure 3(B), si le signal d'interdiction S1 est invalidé ("0") à un instant d'impulsion d'horloge t3, la même opération que celle décrite en référence aux figures 2(A) à 2(H) s'effectue. La figure 4 représente une réalisation d'un circuit qui assure les fonctions d'une partie du circuit 3 de détection et de correction d'erreur et des générateurs 4 et 5 de signal d'interdiction. Sur la figure 4, les circuits OU exclusif 101 et 102 détectent chacun, respectivement, les erreurs dans les zones A et B de la micro-instruction rangée dans le registre de micro-instruction 2. Une porte OU 103 envoie un signal de valeur logique "1" si une erreur est détectée par au moins l'un des circuits OU exclusif 101 et 102. Une porte ET 115 envoie un signal de valeur logique "1" si une erreur de la micro-instruction est détectée alors que le signal d'interdiction S1 n'a pas été envoyé. Une bascule 106 est mise en circuit pendant une seule période d'impulsion d'horloge si la porte ET 115 envoie un signal de valeur logique "1". Un signal de sortie S4 provenant de la bascule 106 constitue le signal d'échantillonnage (signal de validation de l'infor- mation à l'entrée du registre) pour le registre de. micro-instruction 2 et amène, par conséquent, le;. registre de micro-instruction 2 à mémoriser la micro- instruction dans laquelle une erreur est corrigée. Une bascule 107 est mise en circuit si une erreur de la zone B de la micro-instruction est détectée. Une bascule 110 mémorise un signal provenant de la bascule 106. Une bascule 109 mémorise les signaux logiques provenant de la porte ET 115 et de la porte ET 111. Une porte OU 112 envoie le signal d'inter- diction S3 et une porte OU 113 envoie le signal d'interdiction S2. Ce circuit réalise les opérations représentées sur les graphiques chronométriques des figures 2 et 3 dans leur totalité. La figure 5 est un diagramme par blocs montrant une autre réalisation du système de commande de correction d'erreur pour une mémoire de commande conforme à l'invention. Sur la figure 5, les mêmes repères que sur la figure 1 désignent les mêmes parties et on en omettra la description détaillée. Une différence entre les dispositions des figures 5 et 1 réside en ce que le circuit concernant le signal d'interdiction (S1 sur la figure 1) pour une erreur provoquée par un circuit arithmétique 6, c'est-à-dire l'a liaison du signal d'interdiction Si est omis et qu'un circuit d'affichage d'erreur, constitué d'une porte ET 31 et d'une bascule 28 est relié au circuit 3 de détection et de correction d'erreur. On va décrire ci-dessous le fonctionnement du circuit représenté sur la figure 5. L'opération à effectuer lorsque le circuit 3 de détection et de correction d'erreur détecte une erreur dans la zone A de la micro- instruction rangée dans le registre de micro-instruction est la même que pour le circuit représenté sur la figure 1. Lorsque le circuit 3 de détection et de correction. d'erreur détecte une erreur dans la zone B de la micro-instruction rangée dans le registre de micro- instruction, il envoie un signal de détection d'erreur de valeur logique "1" à l'une des bornes d'entrée de la porte ET 31, par la ligne 30. Dans ce cas, le mode opératoire diffère en fonction du niveau d'un signal STP envoyé à l'autre borne d'entrée de la porte ET par la ligne 29. Le signal STP est validé lorsque le système est initialisé. Lorsque le signal STP est validé à la valeur logique "1", c'est un mode d'arrêt pour arrêter le système qui est validé. Si le signal STP a la valeur logique "1", un signal de sortie provenant de la porte ET 31 prend la valeur logique "1", et une bascule 28 indicatrice de l'erreur est validée pour afficher l'erreur. Si le signal STP a la valeur logique "0", c'est la même opération que celle décrite en référence au circuit de la figure 1 qui s'effectue. La figure 6 représente une réalisation d'un circuit assurant les fonctions d'une partie du circuit 3 de détection et de correction d'erreur et des générateurs 4 et 5 de signal d'interdiction. Sur la figure 6, les mêmes parties que sur la figure 4 ont les mêmes repères et on en omettra la description détaillée. Une différence auprès des figures 6 et 4 est que la porte ET 115 et un inverseur 114 sont omis. Comme on l'a décrit ci-dessus, conformément à la présente invention, si une erreur à corriger est détectée dans la zone A de la micro-instruction prévue pour commander le circuit arithmétique 6, le signal S3 d'interdiction du fonctionnement du circuit arithmétique 6 est généré au cours de la période d'impulsion d'horloge au cours de laquelle. l'erreur est détectée. Si une erreur dans la zone B de la microinstruction qui contient l'information relative à l'adresse suivante ainsi que le code de correction d'erreur est détectée, le signal d'inter- diction S3 de fonctionnement du circuit arithmétique 6 est généré à l'instant d'impulsion d'horloge corres- pondant à l'écoulement d'une période d'impulsion d'horloge après l'impulsion d'horloge au cours de laquelle l'erreur est détectée. De cette façon on peut réduire au minimum le retard de l'envoie du signal d'interdiction S3 au circuit arithmétique 6. Il en résulte que l'on peut éviter de poser une limite à la valeur de la période d'impulsion d'horloge d'un processeur de données commandé par microprogrammation. REVENDICATIONS 1. Système de commande de correction d'erreur pour une mémoire de commande (1) dans un processeur de données commandé par des micro- instructions, caractérisé en ce qu'il comporte: une mémoire de commande (1) pour mémoriser les micro-instructions; un circuit d'adresse (7 à 15 et 17) pour fournir une adresse à ladite mémoire de commande (1); un registre de micro-instruction (2) dans lequel est rangée la microinstruction lue dans ladite mémoire de commande (1); un circuit arithmétique (6) dont une opération est commandée par la microinstruction; un circuit (3) de détection et de correction d'erreur pour détecter et corriger une erreur de la micro-instruction rangée dans ledit registre de micro-instruction (2) et pour ranger la micro- instruction corrigée dans ledit registre de micro- instruction (2); et des moyens (4, 5) de génération de signaux d'interdiction pour, lorsque ledit circuit (3) de. détection et de correction d'erreur détecte l'erreur, générer un premier signal d'interdiction (S2) pour interdire une opération d'actualisation dudit circuit d'adresse et dudit registre de micro-instruction, pour générer un second signal d'interdiction (S3) pour interdire une opération dudit circuit arithmétique, à un instant d'impulsion d'horloge correspondant à l'écoulement d'une période d'impulsion d'horloge après que le premier signal d'interdiction (S2) est généré, pour invalider le premier signal d'interdiction (S2) après que le circuit (3) de détection et de correction d'erreur a corrigé l'erreur, et pour inva- lider le second signal d'interdiction (S3) à un instant d'impulsion d'horLoge correspondant à l'écou- lement d'une période d'impulsion d'horloge après que le premier signal d'interdiction (S2) est invalidé. 2. Système de commande de correction d'erreur pour une mémoire de commande (1) dans un processeur de données commandé par microprogammation, caractérisé en ce qu'il comporte: une mémoire de commande (1) pour mémoriser des micro-instructions; un registre de micro-instruction (2) dans lequel sont rangées les données lues dans ladite mémoire de commande (1); un circuit arithmétique (6), opérant en accord avec le contenu dudit registre de micro- - instruction (2); un circuit de commande (16) pour déterminer une adresse de la micro-instruction à exécuter ensuite, en accord avec la microinstruction rangée dans ledit registre de micro-instruction (2); un circuit (3) de détection et de correction d'erreur pour ajouter des codes de correction d'erreur aux micro-instructions et pour les ranger dans ladite mémoire de commande (1), pour détecter et corriger une erreur de la micro-instruction rangée dans ledit registre de micro-instruction (2) et pour ranger la micro-instruction ainsi corrigée dans ledit registre de micro-instruction (2); des moyens (4, 5) de génération de signaux d'interdiction pour, lorsqu'une erreur à corriger est détectée par ledit circuit (3) de détection et de correction d'erreur, générer un second signal d'interdiction (S2) pour interdire l'actualisation dudit registre de micro-instruction (2) et un troisième signal d'interdiction (S3) pour interdire le fonctionnement dudit circuit arithmétique (6); un registre de sauvegarde d'adresse dans lequel est rangée une adresse correspondant à la micro-instruction rangée dans ledit registre de micro-instruction (2) ; et un registre de sauvegarde d'adresse de branchement dans lequel est rangée l'information, relative au branchement, fournie par ledit circuit arithmétique (6), étant précisé que, si une erreur à corriger dans une zone contenant l'information relative à l'adresse suivante ainsi qu'un code de correction d'erreur de la micro-instruction est détectée, au même instant, un premier signal d'interdiction (S1) émis par -ledit signal arithmétique (6) est généré, une séquence de correction d'erreur est interdite par le premier signal d'interdiction (S1), le second signal d'interdiction (S2) est généré au cours de la période d'impulsion d'horloge au cours de laquelle l'erreur est détectée, la séquence de correction d'erreur démarre au moment même o le premier signal. d'interdiction (S1) est invalidé, le troisième signal.. d'interdiction (S3) est généré à un instant d'impulsion d'horloge correspondant à l'écoulement d'une période d'impulsion d'horloge après que le second signal d'interdiction (S2) est généré; le second signal d'interdiction (S2) est invalidé et ledit registre de micro-instruction (2) est actualisé, en accord avec les contenus dudit registre de sauvegarde d'adresse et dudit registre de sauvegarde d'adresse de branchement après que la séquence de correction d'erreur est achevée; puis, le troisième signal d'interdiction S3 est invalidé à un instant d'impulsion d'horloge correspondant à l'écoulement d'une impulsion d'horloge après que le second signal d'interdiction (S2) est invalidé, ce qui permet le redémarrage du fonctionnement dudit circuit arithmétique. 3. Système de commande de correction d'erreur pour une mémoire de commande (1) dans un processeur de données commandé par microprogrammation, caractérisé en ce qu'il comporte: une mémoire de commande (1) pour mémoriser des micro-instructions; un registre de micro- instruction (2) dans lequel sont rangées les données lues dans ladite mémoire de commande (1); un circuit arithmétique (6), opérant en accord avec le contenu dudit registre de micro- instruction (2); un circuit de commande (16) pour déterminer une adresse de la micro-instruction à exécuter ensuite, en accord avec la microinstruction rangée dans ledit registre de micro-instruction (2); un circuit (3) de détection et de correction d'erreur pour ajouter des codes de correction d'erreur aux micro-instructions et pour les ranger dans ladite mémoire de commande (1), pour détecter et corriger. une erreur de la micro-instruction rangée dans ledit registre de microinstruction (2) et pour ranger la micro-instruction ainsi corrigée dans ledit registre de micro-instruction (2); des moyens (4, 5) de génération de signaux d'intediction pour, lorsqu'une erreur à corriger est détectée par ledit circuit (3) de détection et de correction d'erreur, générer un signal pour interdire le fonctionnement dudit circuit arithmé- tique; un registre de sauvegarde d'adresse dans lequel est rangée une adresse correspondant à la micro-instruction rangée dans ledit registre de micro-instruction (2); un registre de sauvegarde d'adresse de branchement dans lequel est rangée une adresse de branchement fournie par ledit circuit arithmétique (6); et une bascule (28) indicatrice d'erreur pour afficher une erreur et arrêter le fonctionnement dudit processeur de données commandé par microprogram- mation, un moyen indicateur de mode pour indiquer "stop" ou "correction,' moyen validé lors de l'initialisation dudit processeur de données commandé par microprogrammation, étant précisé que si ledit moyen indicateur de mode indique "stop" et si une erreur à corriger est détectée dans la zone contenant l'information relative à l'adresse suivante et le code de correction d'erreur de la micro-instruction, ledit moyen (28) d'affichage d'erreur affiche une erreur et arrête le fonctionnement dudit processeur de données commandé par microprogrammation, et que, si le moyen indicateur de mode indique "correction", lorsque l'erreur est détectée, l'actualisation dudit registre de micro-instruction est interdite au cours de la période d'impulsion d'horloge au cours de laquelle l'erreur est détectée et, au même instant, une séquence de correction d'erreur démarre, le signal d'interdiction du fonctionnement dudit circuit arithmétique est généré à l'instant d'impulsion d'horloge correspondant à l'écoulement de une période d'impulsion d'horloge après que l'erreur est détectée, ledit registre de micro-instruction est actualisé en accord avec les contenus dudit registre de sauvegarde d'adresse et dudit registre de sauvegarde d'adresse de branchement après que la correction d'erreur est achevée, et le signal d'interdiction du fonctionnement dudit circuit arithmétique est invalidé, ce qui permet de redémarrer le fonctionnement dudit circuit arithmétique.