Brevet FR2546319A1 — publié le 19841123

1. La présente invention concerne un agencement de circuit destiné à être utilisé dans le traitement d'un défaut ou d'une erreur se produisant dans une mémoire de commande incorporée dans un système de traitement de don- nées. Un agencement classique de circuit du type dé- crit comprend un circuit de détection d'erreur et un cir- cuit de correction d'erreur ainsi qu'une mémoire de comman- de chargée avec une pluralité de micro-instructions Le circuit de détection d'erreur sert à la détection d'une erreur de chaque microinstruction lue dans la mémoire de commande alors que le circuit de correction d'erreur sert à corriger l'erreur pour obtenir une micro-instruction cor- recte Avec cette structure, chaque micro-instruction est toujours envoyée à partir de la mémoire de commande et par l'intermédiaire du circuit de détection d'erreur ainsi que du circuit de correction d'erreur, même lorsqu'une erreur n'est pas détectée par le circuit de détection d'erreur. Par conséquent, une augmentation du cycle de la machine est inévitable. 2. Dans un autre agencement classique de circuit, la détection d'erreur seule est normalement exécutée pour chaque micro-instruction lue dans une mémoire de comman- de par utilisation d'un circuit de détection d'erreur. Un circuit de correction d'erreur n'est actionné que lors- qu'une erreur est détectée par le circuit de détection d'erreur Avec cette structure, il est possible de raccour- cir le cycle de la machine par rapport à l'agencement de circuit cité ci-dessus. îO Dans l'agencement classique de circuit cité en dernier, supposons qu'une erreur irrémédiable de matériel se produise dans une partie de la mémoire de commande, qui peut être appelée partie erronée Le circuit de correction d'erreur doit corriger une erreur de chaque micro-instruc- tion chaque fois qu'il y a accès à la partie erronée Par conséquent, il faut beaucoup de temps pour traiter chaque micro-instruction lue dans la partie erronée Cela allon- ge le temps moyen d'exécution des micro instructions lorsque l'erreur de matériel se produit dans la mémoire de commande. Quelle que soit la vitesse, les deux agencements classiques de circuit exécutent non seulement la détection d'erreur mais également la correction d'erreur lors de l'occurrence d'une erreur De manière à permettre la cor- rection d'erreur, chaque micro-instruction doit être formée par un code de correction d'erreur Bien que la détection d'erreur seule soit simplement possible par addition d'un ou de plusieurs bits de parité, un tel code de correction d'erreur nécessite des bits redondants supplémentaires d'un nombre supérieur à celui du ou des bits de parité comme cela est bien connu dans l'art Ainsi, l'utilisation du code de correction d'erreur se traduit par une mémoire de commande ayant une plus grande capacité en bits. Dans le brevet des Etats-Unis d'Amérique N O 4 010 450 aux noms de Porter et collaborateurs et de la société dite Honeywell Information Systems, un système 3. informatique est décrit qui peut fonctionner même lorsqu'il se produit une erreur de matériel dans une mémoire principa- le Plus spécifiquement, le système informatique comprend des premier et second trajets d'adressage pour adresser des première et seconde parties de la mémoire principale Lors- qu'un défaut, tel que l'erreur de matériel, est détecté lors de l'adressage de la première partie de la mémoire princi- pale par l'intermédiaire du premier trajet d'adressage, le premier trajet d'adressage est commuté sur le second trajet îo d'adressage Ainsi, la mémoire principale doit avoir les pre- mière et seconde parties qui sont individuellement accédées par l'intermédiaire des premier et second trajets d'adressa- ge, respectivement La mémoire principale a donc une struc- ture redondante. Il est difficile d'appliquer le système informa- tique à un agencement de circuit destiné à être utilisé en combinaison avec une mémoire de commande car une petite ca- pacité est souvent requise dans la mémoire principale. Un objet de la présente invention est un agencement de circuit qui puisse fonctionner même lors de l'occurrence d'une erreur de matériel dans une mémoire de commande. Un autre objet de la présente invention est un agencement de circuit du type décrit, o la mémoire de com- mande peut être effectivement utilisée. Un autre objet de la présente invention est un agencement de circuit du type décrit, o un fonctionnement à haute vitesse est possible même après détection d'un défaut. Un agencement de circuit,auquel la présente inven- tion est applicable, est destiné à être utilisé en combinai- son avec une mémoire principale et répond à un signal d'adresse concernant la mémoire principale L'agencement de circuit comprend une mémoire de commande pour le stockage d'un nombre prédéterminé de blocs de donnéesvchacun étant constitué d'une pluralité de micro-instructions, un moyen de réseau d'adresses pour détecter la présence ou l'absence 4. du bloc de données qui doit être accédé par le signal d'adresse dans la mémoire de commande, et un moyen de détection d'erreur répondant à chaque micro-instruction lue dans la mémoire de commande pour y détecter une er- reur Selon la présente invention, la mémoire de commande est divisée en une pluralité de compartiments, chacun ser- vant au stockage d'au moins l'un des blocs de données et pou- vant être spécifié par une partie du signal d'adresse. L'agencement de circuit comprend un premier moyen couplé au moyen de détection d'erreur pour produire un signal de compartiment erroné indicateur de celui des compartiments qui est accédé par la partie du signal d'adresse lorsque l'erreur est détectée dans la micro-instruction lue dans l'un des compartiments, et un second moyen répondant au si- gnal de compartiment erroné pour empêcher que le signal d'adresse n'accède à l'un des compartiments Le moyen de réseau d'adressoe sert à produire le signal de détection en considération du signal de compartiment erroné. 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 informatique général auquel peut s'appliquer la présente invention; La figure 2 est une topographie-mémoire utilisée pour décrire le fonctionnement du système informatique illustré en figure 1; La figure 3 est un schéma sous forme de blocs d'un agencement de circuit selon un mode de réalisation préféré de la présente invention; La figure 4 représente une structure servant à dé crire le fonctionnement de l'agencement de circuit illus- tré en figure 3; et La figure 5 est un schéma sous forme de blocs des- tiné à être utilisé dans le fonctionnement de l'agencement 5. de circuit illustr 5 en figure 3. En liaison avec la figure 1, on procèdera d'abord à la description, afin de permettre une meilleure compréhension de la présente invention, d'un système élec- 3 tronique informatique général, lequel comprend une mémoi- re principale 11 et un processeur d'entrée/sortie 12. En liaison momentanée avec la figure 2 (a;, la mémoire principale 11 sert au stockage d'une pluralité de blocs de données constitués chacun d'une pluralité de mots. Les blocs de données illustrés sont au nombre de 2048 et numérotés consécutivement de zéro à 2047, alors que les mots de chaque bloc sont au nombre de 32 Ainsi, la mémoire prin- cipale 11 qui est illustrée a une capacité en mots de 65 536. Les blocs de données sont divisés en 256 rangées et 8 colon- nes dans la mémoire 11 illustrée Les blocs de données de chaque rangée, d'un nombre de huit, seront appelés collecti- vement jeux de données Les jeux de données sont numérotés consécutivement de zéro à 255 On remarquera ici que la mé- moire principale illustrée 11 est divisée en deux parties, représentées par des lignes épaisses La première des deux parties comprend les jeux zéro à 127, et la seconde les jeux 128 à 255. Chaque mot est constitué de 80 bits et peut être une micro-instruction, une donnée, ou une instruction usuelle. Une telle instruction usuelle peut être simplement appelée "ins- truction" La description portera principalement sur les micro-instructions qui forment un microprogramme et chacune d'elles comprend huit bits de poids faible qui servent com- me partie d'un signal d'adresse spécifiant une micro-ins- truction suivante On supposera que la mémoire principale 11 stocke une pluralité de microprogrammes. De nouveau en liaison avec la figure 1, la mémoi- re principale 11 et le processeur d'entrée/sortie 12 sont couplés à une unité de commande 13 de systèmes comportant une unité de diagnostic 14 L'unité de commande de système 13 6. est également couplée à une unité de traitement d'exé- cution 16 et peut fonctionner en interface entre l'unité 16 et tant la mémoire principale 11 que le proces- seur 12 L'unité 13 peut être une interface de système dé- crite dans le brevet cité ci-dessus et ne sera pas expliquée en détail. En figure 1, l'unité de traitment d'exécution 16 comprend une unité de tampon de mémoire 17 couplée à l'unité 13 par l'intermédiaire d'un bus de données et d'instructions représenté par une ligne unique 18 Chacune des données et des instructions est transférée de la mémoire principale 11 ou du processeur d'entrée/sortie 12 par l'in- termédiaire de l'unité de commande de système 13 et du bus 18 à l'unité de tampon de mémoire 17 L'unité 17 comprend une antémémoire chargée avec les données et les macro-ins- tructions Un tel transfert des données et des instruc- tions est exécuté de la manière connue. Une unité de pré-extraction 19 est couplée à l'uni- té 17 de manière à calculer une adresse pour chaque instruc- tion devant être exécutée et pour extraire l'instruction en question dans l'unité de tampon 17, si l'instruction est stockée dans cette unité Sinon, l'instruction est envoyée de la mémoire principale 11 à l'unité de commande logique 19 par l'intermédiaire, de l'unité 17 d'une manière bien connue. Chaque instruction est extraite de la mémoire principale 11 avant que les opérations ne soient exécutées en conformité avec chaque instruction. Chaque instruction est envoyée de l'unité de pré- extraction 19 à une unité de mémoire de commande 20 comprenant un agencement de circuit qui sera décrit ulté- rieurement L'unité 20 est chargée à partir de la mémoire principale 11 par l'intermédiaire de l'unité de tampon 17 avec un nombre prédéterminé de blocspour les microprogram- mes Une telle opération de chargement est exécutée à cha- que bloc de données d'une manière similaire au transfert 7. des données et des instructions On peut voir ici que l'unité de mémoire de commande 20 produit une indication en réponse à chaque instruction, de la manière connue. Une unité d'exécution 22 est alimentée avec l'indication et les opérandes provenant de l'unité de mémoire de commande 20 et de l'unité de tampon de mé- moire 17, respectivement L'unité d'exécution 22 effectue le calcul par rapport aux opérandes en conformité avec chaque instruction de manière à envoyer un résultat du cal- cul à l'unité de tampon de mémoire 17. L'unité de traitement d'exécution 16 comprend un contrôleur de traitement de diagnostic 25 pour surveil- ler le matériel inclus dans l'unité 16 afin d'informer l'unité de diagnostic 14 de la présence de chaque défaut. L'unité de diagnostic 14 met l'unité de traitement d'exécu- tion 16 dans un état prédéterminé en conformité avec cha- que défaut Quant à la présente invention, on peut compren- dre que le contrôleur de traitement de diagnostic 25 est actionné en relation avec l'unité de mémoire de commande 20, comme représenté par le tiret en figure 1. En liaison avec la figure 3, un agencement de circuit selon un mode de réalisation préféré de la présente invention constitue une partie de l'unité de mémoire de commande 20 illustrée en figure 1 et comprend une mémoire de commande 30 pour stocker un nombre prédéterminé de blocs de données transférés à partir de la mémoire principale 11 (figure 1) par l'intermédiaire de l'unité de tampon de mé- moire 17 (figure 1) Dans l'exemple illustré, le nombre prédéterminé est égal à 512 Dans la mesure o chaque bloc de données est constitué de 32 mots, la mémoire de comman- de 30 peut être chargée avec les 3192 mots et peut donc être appelée mémoire de commande de 8 kilomots Chaque mot est constitué de 80 bits, comme mentionné en liaison avec la figure 1 Dans la mémoire de commande 30, les mots sont constitués de micro-instructions. 8. En liaison avec la figure 2 (b) ainsi qu'avec la figure 3, la mémoire de commande 30 illustrée est divisée en des première et seconde unités de stockage de commande 31 et 32, dont les capacités en mots sont égales l'une à l'autre La capacité en motsde chacune des unités de sto- ckage de commande illustrées est donc égale à 4 kilomots. Chacune des première et seconde unités de stocka- ge de commande 31 et 32 est constituée de 256 zones de jeux numérotées consécutivement de zéro à 255 On suppose qu'on utilise la méthode associative connue des jeux pour char- ger chacune des première et seconde unités 31 et 32 avec chaque bloc de donnéesprovenant de la mémoire principale 11. Dans ce cas, les zones de jeux zéro à 255 sont chargées avec les jeux zéro à 255 en provenance de la mémoire prin- cipale ll,respectivement Par exemple, la première zone peut être chargée avec les blocs de données 1, 257, et 1793, alors que la zone 127 peut être chargée avec les blocs de données 127, 383 et 1 919 Ainsi, chaque zone illustrée en figure 2 (b) est chargée avec huit sortes de blocs de données. Comme on le comprendra facilement à l'examen des figures 2 (a) et 2 (b), chacune des première et seconde unités de stockage 31 et 32 est divisée en deux comparti- ments qui correspondent aux première et seconde parties de la mémoire principale 11, respectivement Chaque unité de stockage de commande est divisée en un compartiment allant de la zone zéro à la zone 127 et en un autre compar- timent allant de la zone 128 à la zone 255 En figure 2 (b), deux compartiments de la première unité 31 sertont appelés premier et second compartiments C 1 et C 2, alors que ceux de la seconde unité 32 seront appelés troisième et quatriè- me compartiments C 3 et CV respectivement. Dans la mesure o chacune des première et seconde mémoires de stockage de commande 31 et 32 comportent des adresses de stockage d'un nombre égal à 4 096, numérotées 9. consécutivement de zéro à 4 095, chaque adresse de stocka- ge peut être spécifiée par 12 bits D'autre part, chaque mot ou microinstruction est transféré de la mémoire principale 11 ayant la capacité en motségale à 65 536 et est stocké dans chacune des première et seconde unités 31 et 32 Il est nécessaire d'indiquer chaque position en mémoire principale o chaque micro-instruction est transfé- rée Les positions en mémoire principale peuvent être spéci- fiées par 16 bits comme on le comprendra facilement. Comme la capacité en motsde la mémoire de comman- de 30 est inférieure à celle de la mémoire principale 11, chaque microinstruction n'est pas toujours stockée dans la mémoire de commande 30 Par conséquent, il est inévitable que la présence ou l'absence de chaque micro-instruction soit stockée dans la mémoire de commande 30 et-qu'une micro- instruction en question soit transférée de la mémoire prin- cipale 11 à la mémoire de commande 30, si la micro-instruc- tion en question n'est pas stockée dans la mémoire de com- mande 30. Supposons que chacun des signaux d'adresse compor- te 16 bits de manière à spécifier chacune des positions de la mémoire principale dans lesquelles les micro-instruc- tions sont stockées Dans ce cas, chaque signal d'adresse ne spécifie pas physiquement chacune des adresses de stockage de la mémoire de commande 30 et peut donc être appelée adresse logique Cela signifie qu'une partie des micropro- grammes est transférée de la mémoire principale 11 à la mémoi- re de commande 30. En liaison avec la figure 4 (a) en même temps qu'avec les figues 2 (a) et 2 (b), chaque signal d'adresse comporte seize bits numérotés consécutivement de zéro à quinze et est divisé en une partie d'adresse de bloc (AB), une partie d'adresse-de jeu (AJ), et une adresse de mot (AM) La partie (AB) sert à spécifier chaque adresse de bloc disposée dans chaque jeu de la mémoire principale 11. 10. Dans l'exemple illustré, trois bits allant du bit zéro au bit deux suffisent pour la partie (AB) Cependant, le troisième bit est attaché à la partie d'adresse de bloc illustrée (AB) afin de spécifier les première et seconde parties de la mémoire principale 11 et peut être considéré- ré comme un bit de poids fort de la partie d'adresse de jeu (AJ), comme cela apparaîtra plus clairement au fur et à mesure de la description. La partie d'adresse de jeu (AJ) sert à spécifier chaque jeu de la mémoire principale 11 et par conséquent sert à indiquer les zones de jeu pour chaque unité 31 et 32 Dans la mesure o le nombre de jeux est égal à 256 dans la mémoire principale 11 illustrée, huit bits sont néces- saires pour spécifier tous les jeux Cependant, la partie d'adresse de jeu illustrée (AJ) est constituée de sept bits allant du bit quatre au bit dix Cela est dû au fait que cha- cune des première et seconde parties de la mémoire princi- pale Il est spécifiée par le troisième bit inclus dans la partie d'adresse de bloc (AB) et la partie d'adresse de jeu (AJ) peut par conséquent spécifier les jeux de 128 types dans l'exemple illustré. La partie d'adresse de mot (AM) sert à spécifier les mots de chaque bloc de données constitué de 32 mots A cette fin, la partie d'adresse de mot (AM) est constituée de cinq bits allant du bit onze au bit quinze. En figure 3, l'agencement de circuit illustré est destiné à être utilisé avec une unité de conversion 35 couplée à l'unité de pré-extraction 19 (figure 1) Répon- dant à chaque instruction donnée par l'unité 19, l'unité de conversion 35 convertit chaque instruction en signal spé- cifique des signaux d'adresse On suppose que l'agencement de circuit est mis en fonctionnement dans un mode de lec- ture de manière à lire une micro-instruction spécifique par- mi les micro-instructions dans la mémoire de commande 30 et que le signal d'adresse spécifique spécifie une adresse 11. pour la micro-instruction spécifique Si la micro-instruc- tion spécifique est placée à une micro-ins-truction de tête d'un microprogramme à exécuter, le signal d'adresse spé- cifique fait ressortir une adresse de tête parmi les adresses affectées au microprogramme. L'agencement de circuit comprend un premier sé- lecteur 36 alimenté avec le signal d'adresse spécifique. Le premier sélecteur 36 est également alimenté à partir de divers registres (non représentés) de l'agencement de cir- cuit avec des signaux d'adresse supplémentaires comportant chacun seize bits Le premier sélecteur 36 choisit l'un des signaux d'adresse spécifique et supplémentaire comme signal d'adresse sélectionné qui est décrit ultérieurement. Le signal d'adresse sélectionné est envoyé du premier sélecteur 36 à un premier registre 41 par l'intermédiaire d'un second sélecteur 42 Le fonctionnement du second sé- lecteur 42 sera décrit ultérieurement. L'agencement de circuit illustré comprend une section de réseaux d'adresses 43, comportant des première et seconde unités de réseaux d'adresses 46 et 47 pour les première et seconde unités de stockage de commande 31 et 32, respectivement. En liaison avec les figures 2 (c) et 4 (b) en même temps qu'avec la figure 3, chacune des première et seconde unités de stockage de commande 31 et 32 comporte 256 zones de mémoire correspondant aux zones de jeu de chaque unité 31 et-32 Les-zones de'mémoire sont chargées avec des entrées, constituées dhacune de huit bits Les entrées des première et seconde unités 31 et 32 portent une information pour la supervision des première et se- condes unités 31 et 32, respectivement Plus particulière- ment, chaque entrée comporte une partie d'adresse de bloc (AB) de quatre bits, une partie à bit de validité (V), une partie d'indication de mode (MOD) de deux bits, et une par- tie à bit de parité (P) pour les parties restantes La 12. d'adresse de bloc (AB) correspond à la partie d'adresse de bloc (AB) du signal d'adresse illustré en figure 4 (a). La partie à bit de validité (V) indique la validité et l'invalidité du bloc stocké dans la mémoire de commande a 30 en correspondance avec la partie d'adresse de bloc lors- qu'elle prend le niveau logique " 1 " et le niveau logique "O', respectivement La partie d'indication de mode (MOD) indi- que un mode de chaque micro-instruction. Des premier et second comparateurs 48 et 49 sont alimentés avec la partie d'adresse de bloc de quatre bits par le premier registre 41 dans le mode de lecture Bien que le fonctionnement des comparateurs 48 et 49 illustrés change lors de l'apparition d'une erreur d'une manière qui sera décrite ultérieurement, on se doute pour le moment qu'aucune erreur n'est détectée dans l'agencement de cir- cuit Les premier et second comparateurs 48 et 49 sont cou- plés aux première et seconde unités de stockage de commande 46 et 47, respectivement, chaque unité étant alimentée avec la partie d'adresse de jeu (AJ) de sept bits à partir du premier registre 41 La partie d'adresse de jeu (AJ) ne peut spécifier que les jeux de 128 sortes, malgré le fait que chacune des première et seconde unités de réseaux d'adresses 46 et 47 est chargée avec 512 entrées De manière à spéci- fier les 512 entrées stockées dans chaque unité de réseaux d'adresses, le troisième bit du signal d'adresse est fourni par le premier sélecteur 36 aux première et seconde unités de réseaux d'adresses 46 et 47 par l'intermédiaire d'un circuit de modification 50 qui sera ultérieurement décrit en détail Pour le moment, on peut comprendre que le troi- sième bit du signal d'adresse n'est pas soumis à modifica- tion par le circuit de modification 50 tant que l'agencement de circuit est normal Ainsi, lorsque chacune des première et seconde unités 46 et 47 est alimentée avec les bits trois à dix du sijgnal d'adresse, chacune de ces unités lit une partie seulement des parties d'adresse de bloc dans 13. celle des adresses de réseau qui est spécifiée par les bits trois à dix du signal d'adresse Le troisième bit donné par le premier sélecteur 36 sert ainsi de manière équivalente de bit de poids fort de la partie d'adresse de jeu (AJ). Les parties d'adresse de bloc (AB) lues dans les première et seconde unités 46 et 47 sont comparées par les premier et second comparateurs 48 et 49 à la partie d'adres- se de bloc donnée par le premier registre 41 Si un signal d'adresse particulière maintenu dans le premier registre 41 et l'une des première et seconde unités de stockage de commande 31 et 32 est chargé avec le bloc de données spécifié par la partie d'adresse de bloc (AB) du signal d'adresse particulière, l'un des premier et second compara- teurs 48 et 49 produit le niveau logique " 1 " indicateur de la coïncidence entre la partie d'adresse de bloc (AB) du signal d'adresse particulière et la partie d'adresse de bloc (AB) lue dans l'une des première et seconde unités de réseaux d'adresses 46 et 47 Lorsque le bloc de donnée en question est stocké dans les première et seconde unités de stockage de commande 31 et 32, le premier et le second comparateur 48 et 49 produisent le niveau logique " 1 ". D'autre part, si le bloc de donnéesen question n'est pas stocké dans la première et la seconde unité de stockage 31 et 32, le niveau logique "O" est envoyé par * chacun des premier et second comparateurs 48 et 49 à une por- te NON ET 52 Il en résulte que la porte NON ET 52 fournit le niveau logique " 1 " par l'intermédiaire d'un registre subsidiaire 53 à l'unité de tampon de mémoire 17 (figure 1) de manière à indiquer l'absence du bloc de données en ques- tion. Ainsi, la section 43 de réseaux d'adresses, les premier et second comparateurs 48 et 49, et la porte NON ET 52 peuvent fonctionner pour détecter la présence ou l'absen- ce du bloc de données en question La détection d'un tel bloc 14. de données est équivalente à la détection de la présence ou de l'absence d'une micro-instruction incluse dans le bloc en question. Lorsque l'absence du bloc est détectée, l'agence- ment de circuit est mis dans le mode écriture de manière à extraire le bloc de'données en question de la mémoire prin- cipale Le fonctionnement du mode écriture sera décrit ul- térieurement De toute façon, chacun des premier et second comparateurs 48 et 49 produit un signal de détection repré- sentatif d'un résultat d'une comparaison. La description du fonctionnement du mode de lec- ture sera poursuivie pendant un moment Les première et seconde unités de stockage de commande 31 et 32 sont alimen- tées par le premier registre 41 avec la partie d'adresse de jeu (AJ) du signal d'adresse sélectionné et l'adresse de Imt (AM) Dans ce cas, les bits quatorze et quinze de l'adresse de mot (AMI) ne sont pas envoyés à la mémoire de commande 30 Cela permet la lecture simultanée de quatre mots à partir de chaque unité de stockage de commande 31 et 32 comme cela deviendra clair. Il en résulte que quatre des microinstructions peuvent être simultanément lues dans chacune des première et seconde unités 31 et 32 lorsque le bloc en question est stocké dans la première ainsi que dans la seconde unité 31 et 32 Chaque micro-instruction de 80 bits lue dans la première et la seconde unité 31 et 32 comprend les huit bits de poids faible qui indiquent la partie de la mi- cro-instruction suivante, comme mentionné précédemment Les huit bits de poids faible de chaque micro-instruction sont fournis au second sélecteur 42 de manière à définir la partie de la micro-instruction suivante La partie restante de chaque micro-instruction est lue dans chacune des première et seconde unités 31 et 32 et envoyée à un troisième sélec- teur 58 pouvant être commandé par un premier circuit de com- mande 61 et par les premier et second comparateurs 48 et 49. 15. Le premier circuit de commande 61 est alimenté avec les bits quatorze et quinze du signal d'adresse sélec- tionné provenant du premier registre 41 et couplé à l'uni- té d'exécution 22 (figure 1) L'unité d'exécution 22 donne une condition de branchement au premier circuit de commande 61 d'une manière connue et fait modifier par le premier circuit de commande 61 les bits quatorze et quinze du signal d'adresse sélectionné,si nécessaire. Il en résulte que le premier circuit de commande 61 fournit un signal de commande de commutateur au troisième sélecteur 58 Le troisième sélecteur 58 choisit l'une des micro-instructions par rapport au signal de commande de commu- tateur et chaque signal de sortie des premier et second comparateurs 48 et 49. Le signal de commande de commutateur est également fourni au second sélecteur 42 avec le signal de détection pro- duit par chacun des premier et second comparateurs 48 et 49. La micro-instruction sélectionnée est maintenue dans une unité de détection d'erreur 62 comportant une partie de registre de 80 bits et une partie de détection d'erreur exécu- tant le contrôle de parité par rapport à la micro-instruction sélectionnée Si aucune erreur n'est détectée par l'unité de détection d'erreur 62, la micro-instruction sélectionnée est four- nie à l'unité d'exécution 22, à l'unité de pré-extraction 19 et à l'unité de tampon de mémoire 17. Lorsque l'apparition d'un défaut ou d'une erreur est détectée par l'unité de détection d'erreur 62 à la suite du contrôle de parité, l'unité de détection d'erreur 62 in- forme le contrôleur de traitement de diagnostic 25 de l'appa- rition du défaut A cette fin, l'unité de détection d'erreur 62 est couplée au contrôleur de traitement de diagnostic 25, comme représenté en figure 1 Une telle détection d'erreur est exécutée après que le signal d'adresse sélectionné ait été maintenu dans le premier registre 41 D'autre part, le signal d'adresse sélectionné, le signal de commande de 16. commutateur, et chaque signal de détection des premier et second comparateurs 48 et 49 sont nécessaires pour faire le diagnostic du défaut lors de la détection d'un défaut et sont par conséquent maintenus dans un registre supplémentaire (non représenté) jusqu'à la fin du diagnos- tic. Si une erreur est détectée dans une micro-instruc- tion lue dans la mémoire de commande 30, l'unité de traite- ment de diagnostic 25 indique un compartiment erroné ou fau- tif en coopération avec l'unité de diagnostic 14 A cette fin, l'unité de traitement de diagnostic 25 produit un si- gnal de compartiment erroné spécifiant chaque compartiment erroné Le signal de compartiment erroné comporte des bits d'un nombre égal au total des compartiments des première et seconde unités de stockage de commande 31 et 32 Dans l'exemple illustré, le nombre de bits de signal du signal de compartiment erroné est de quatre allant du bit zéro au bit trois Les bits zéro à trois du signal de compartiment erroné sont dans la correspondance un à un avec les compar- timents un à quatre, C 1 à C 4 respectivement Chaque bit de signal prend le niveau logique "l" lorsque le compartiment correspondant est erroné Il est facilement possible d'indi- quer un tel compartiment emroné en surveillant chaque si- gnal de détection des premier et second comparateurs 48 et 49 et le défaut dans le contrôleur de traitement de diagnos- tic 25. Le signal de compartiment erroné est maintenu dans un second registre 67 de quatre bits Le second registre 67 indique un ou des compartiments erronés ou dégradés et sera par conséquent appelé registre de dégradation Supposons qu'une erreur de matériel se produise dans le second compar- timent C 2 de la première unité de stockage de commande 31, comme représenté par les traits hachurés en figure 2 (b) En d'autres termes, supposons que le second compartiment C 2 soit dégradé par une telle erreur Dans ce cas, seul le bit zéro 2 2546319 17. zéro du signal de compartiment erroné prend le niveau logi- que " 1 ", avec les bits un à trois maintenus au niveau logi- que " O ". Le signal de compartiment erroné est fourni par le second registre 67 au circuit de modification 50 et au premier ainsi qu'au deuxième comparateur 48 et 49 Le circuit de modification 50 comprend des première et seconde parties connectées aux première et seconde unités de réseaux d'adresses 46 et 47, respectivement Chacune des première et seconde parties peut fonctionner pour modifier le troisième bit de chaque signal d'adresse sélectionné par le premier sélecteur 36 en conformité avec le signal de compar- timent erroné d'une manière qui sera décrite maintenant lorsque le signal de compartiment erroné indique l'appari- tion de la dégradation d'un ou de plusieurs compartiments. Plus particulièrement, la première partie comprend un premier commutateur local 71 et un premier registre local 72, alors que la seconde partie comprend un second commutateur local 76 et un second registre local 77 Cha- cun des premier et second commutateurs locaux 71 et 76 est alimenté avec le troisième bit du signal d'adresse. sélectionné provenant du premier sélecteur 36 et avec les signaux de niveau logique " O " et de niveau logique " 1 " provenant d'un générateur de signaux (non représenté) connu dans l'art Chacun des premire et second commutateurs 71 et 76 sélectionne le troisième bit, le signal de niveau logi- que " O ", et le signal de niveau logique " 1 " en conformité avec deux bits du signal de compartiment erroné maintenu dans le second registreà savoir le registre de dégradation 67. Si chacun des bits zéro et un du signal de compar- timent erroné prend le niveau logique " 0 ", le troisième bit du signal d'adresse sélectionné est choisi par le premier commutateur local 71 de manière à être maintenu dans le pre- mier registre local 72 Cela est da au fait qu'aucune 2546319- 18. dégradation ne se produit dans les premier et second compartiments C 1 et C 2. Si les bits zéro et un du signal de compartiment erroné prennent le niveau logique "'" et le niveau logique " 1 ",respectivement, le signal de niveau logique "O" est sélectionné par le premier commutateur local 71 de manière à être maintenu dans le premier registre local 72 Cela signifie que le signal de niveau logique "O" est produit dans la première partie lorsque le second compartiment est dégradé. Si les bits zéro et un du signal de compartiment erroné prennent les niveaux logiques " 1 " et "O", respecti- vement, le signal de niveau logique " 1 " est maintenu dans le premier registre local 72 par l'intermédiaire du premier commutateur local 71 Cela signifie que le niveau logique " 1 " est produit dans la première partie lors de l'apparition d'une dégradation dans le premier compartiment. Si les bits zéro et un prennent le niveau lo- gique " 1 ", le premier ainsi que le second compartiment C 1 et C 2 ne peuvent être utilisés à cause de leur dégrada- tion Par conséquent, aucun signal de détection n'est pro- duit en coopération avec le premier comparateur 48 d'une manière qui sera maintenant décrite. La relation citée ci-dessus s'applique aux troisiè- me et quatrième bits du signal de compartiment erroné qui correspondent à ses bits zéro et unrespectivement Par conséquent, on ne procèdera pas à une description concernant le second commutateur local 76 et le second registre local 77. De toute façon, les première et seconde parties du circuit de modification 50 produisent des premier et second signaux modifiés représentatifs des résultats d'une modification lorsqu'une dégradation se produit dans chacun-des compartiments C 1 à C 4 Dans la mesure o le troisième bit du signal d'adresse sélectionné sert également de bit de poids fort de la partie d'adresse de jeu (AJ) comte mentionné plus haut, 19. chacun des premier et second signaux modifiés sert égale- ment à indiquer le bit de poids fort de la partie d'adres- se de jeu (AJ). Ainsi, le circuit de modification peut fonctionner pour modifier un compartiment erroné en un autre comparti- ment différent du compartiment erroné lorsque cet autre compartiment est normal I A partir de ce fait, on comprendra facilement que le circuit de modification 50 sert à éviter que le comparti- ment erroné ne soit accédé Plus spécifiquement, lorsqu'un certain bloc du compartiment erroné est accédé pour être lu, l'absence du bloc de données en question est détectée par l'agencement de circuit A cette fin, chacun des premier et second comparateurs 48 et 49 est commandé en considéra- tion du signal de compartiment erroné de la manière suivan- te Lorsque les bits zéro et un du signal de compartiment erroné prennent le niveau logique "l", le premier ainsi que le second compartiment Cl et C 4 sont dégradés Dans ce cas,le premier comparateur 48 produit le niveau logique "" comme signal de détection même lorsque la partie à bit de validité (V) (figure 4 (b)) prend le niveau logique " 1 ". De même, le second comparateur 49 produit le niveau logique " O " lorsque les second et troisième bits du signal de com- partiment erroné prennent le niveau logique "l" Chacun des premier et second comparateurs 48 et 49 produit le ni- veau logique " 1 " lorsque la coïncidence est détectée avec la partie à bit de validité (V) maintenue avec le niveau lo- gique " 1 " Une telle opération est possible en connectant un circuit de porte à chaque comparateur. En tout cas, lorsque la coïncidence n'est pas dé- tectée par chacun des premier et second comparateurs 48 et 49, l'absence du bloc de donnéesen question est transférée de l'agencement de circuit à l'unité de tampon de mémoire 17. L'agencement de circuit est ensuite mis dans le mode écri- ture,comme cela sera maintenant décrit, pour extraire le 20. bloc de données en question et le transférer de la mémoire principale 11 à la mémoire de commande 30 A cette fin, l'unité 17 fonctionne d'une manière similaire à celle d'une antémémoire. Supposons que le second compartiment C 2 soit mis à l'état dégradé, comme représenté par les hachures de la figure 2 (b) Dans ce cas, lorsque le 130 ème jeu de la pre- mière unité de stockage de commande 31 est accédé dans le mode lecture,1 'absence du jeu en question est indiquée par l'agencement de circuit. De manière à extraire le 130 ème jeu de la mémoi- re principale 11 pour la mémoire de commande 30,11 agencement de circuit est mis dans le-mode écriture d'une manière connue. Dans le mode écriture, le second circuit de commande 81 coopère avec le second registre-67 pour produire un signal de commande de deux bits en réponse au signal de compartiment erroné de quatre bits stocké dans le second registre 67 Le signal de commande est maintenu dans un troi- sième registre 83 de deux bits pour être fourni par ce re- gistre aux première et seconde unités de réseaux d'adresses 46 et 47 et aux première et seconde unités de stockage de comman- de 31 et 32 Les bits zéro et un du signal de commande sont affectés à la première unité de réseaux d'adresses 46 et à la première unité de stockage de commande 31 et à la seconde unité de réseaux d'adresses 47 et à la seconde unité de stocka- ge de commande 32, respectivement Le niveau logique " 1 " de chacun des bits zéro et un du signal de commande servent de signal de validation pour chaque unité. Les bits zéro et un du signal de commande sont maintenus aux niveaux logiques " O " et " 1 ",respectivement, lorsque chacun des bits zéro et un du signal de compartiment erroné prend le niveau logique " 1 ", alors que les bits zéro et un-du signal de commande sont mis au niveau logique " 1 " et au niveau logique " O ", respectivement, lorsque chacun des 21. second et troisième bits du signal de compartiment erroné prend le niveau logique "l" Dans les autres cas, le si- gnal de commande est produit dans un algorithme prédéter- miné. En liaison avec la figure 5, soit le premier compartiment soit le troisième compartiment, C 1 ou C 35 est chargé avec les jeux entre le jeu zéro et le jeu 127 (dé- crits en I et III), alors que soit le second compartiment soit le quatrième compartiment C 2 ou C 4, le sont avec les jeux compris entre le jeu 128 et le jeu 255 (Il et IV) lorsqu'aucun des compartiments un à quatre (I à IV) n'est dégradé comme représenté en figure 5 (a) Dans ce cas, chacun des bits zéro à trois du signal de compartiment er- roné prend le niveau logique " 0 ". Comme représenté en figures 5 (b) à 5 (e), lors- qu'une dégradation se produit dans l'un des compartiments un à quatre, le jeu à stocker dans le compartiment erroné peut être écrit dans les compartiments normaux restants en conformité avec le signal de compartiment erroné De même, la mémoire de commande 30 peut être chargée avec les jeux de données I à IV, comme représenté en figures 5 (f) a 5 (o) Ainsi, la mémoire de commande est effectivement utilisée en affectant chaque jeu à un compartiment normal même lorsqu'il se produit une dégradation dans trois des compartiments. Dans le mode écriture, un signal d'adresse d'écri- ture de 16 bits est envoyé de l'unité de pré-extraction 19 au premier registre 41 par l'intermédiaire des premier et second sélecteurs 36 et 42 et maintenu comme adresse d'écriture sélectionnée Les bits zéro à trois de l'adresse d'écriture sélectionnée sont fournis aux première et secon- de unités de réseaux d'adresses 46 et 47 pour y être sto- ckés, avec les premier et second comparateurs 48 et 49 main- tenus inactifs Les bits restants devant être stockés dans les première et seconde unités 46 et 47 sont envoyés de l'unité de 22. tampon de mémoire 17 par l'intermédiaire d'un quatrième registre 84. Dans la mesure o chacune des première et seconde unités 46 et 47 est accédée par une combinaison de chaque signal modifié et de la partie d'adresse de jeu (AJ), un enchaînement des bits zéro à trois et des bits restants est stocké dans une adresse de réseau spécifiée par la combinaison citée précédemment. Simultanément, chacune des première et seconde uni- tés de stockage de commande 31 et 32 est accédée par une combinaison de la partie d'adresse de jeu (AJ), de la partie d'adresse de mot (AM) de cinq bits, et de chaque signal modifié D'autre part,un groupe de données d'écriture de bits est fourni à partir de l'unité de tampon de mémoi- re 17 par l'intermédiaire d'un cinquième registre 85 Le groupe de données d'écriture est par conséquent stocké dans une adresse unique des adresses de stockage de chaque uni- té de stockage de commande. Alors que la présente invention a été jusqu'ici décrite en liaison avec un mode de réalisation préféré, l'homme de l'art comprendra facilement qu'elle peut être mise en application de diverses autres manières Par exem- ple, le nombre de compartiments peut ne pas être de quatre, mais de deux, de trois, de cinq ou plus Chaque comparti- ment peut comprendre au moins un bloc de données Une seule microinstruction peut être lue dans chacune des première et seconde unités de stockage de commande 31 et 32 L'agen- cement de circuit peut comprendre une seule unité de sto- ckage de commande, une seule unité de réseaux d'adresses, et un seul comparateur. 23. REVENDICATIONS 1 Agencement de circuit destiné à être utilisé en combinaison avec une mémoire principale et répondant à un signal d'adresse concernant la mémoire principale, cet agencement comportant une mémoire de commande pour le stockage d'un nombre prédéterminé de blocs de données, cha- cun comprenant une pluralité de micro-instructions, un moyen de réseaux d'adresses pour détecter la présence ou l'absence du bloc parmi les blocs de données qui doit être accédé par le signal d'adresse dans la mémoire de commande, et un moyen de détection d'erreur répondant à chaque microinstruction lue dans la mémoire de commande pour détecter une erreur dans celle-ci, caractérisé en ce que: la mémoire de commande est divisée en une plura- lité de compartiments,chacun de ces compartiments étant destiné au stockage d'au moins un bloc parmi les blocs de données et pouvant être spécifié par une première partie du signal d'adresse; l'agencement de circuit comprenant un premier moyen couplé au moyen de détection d'erreur pour produire un signal de compartiment erroné indicateur de celui desdits compartiments qui est accédé par la première partie du signal d'adresse lorsque l'erreur est détectée dans la micro-instruction lue dans ledit com- partiment; et un second moyen répondant au signal de comparti- ment erroné pour empêcher que le signal d'adresse n'accède audit compartiment; le moyen de réseaux d'adresses servant à produi- re le signal de détection en considération du signal de compartiment erroné. 2 Agencement de circuit selon la revendication 1, caractérisé en ce qu'il comprend en outre: un troisième moyen couplé au moyen de réseaux 24. d'adresses et à la mémoire de commande et répondant au signal de compartiment erroné pour allouer la micro-ins- truction lue dans ledit compartiment à un compartiment nor- mal. 3 Agencement de circuit selon la revendication 1, caractérisé en ce que le second moyen comprend: un moyen de modification répondant à la première partie du signal d'adresse pour modifier cette partie en un signal d'adresse modifié en conformité avec le signal de compartiment erroné, le signal d'adresse modifié spéci- fiant un compartiment particulier qui est différent dudit compartiment; et un moyen pour fournir au moyen de réseaux d'adresses le signal d'adresse modifié afin d'éviter un accès audit compartiment. 4 Agencement de circuit selon la revendication 3, le signal d'adresse étant classé avec un signal d'adres- se de réception et un signal d'adresse de stockage, caractérisé en ce que le moyen de réseaux d'adresses com- prend: un circuit de réseaux pour stocker une seconde partie de signal d'adresse du signal d'adresse de stockage qui comprend la première partie, le circuit de réseaux étant accessible par cette troisième partie de signal d'adresse du signal d'adresse de réception qui comprend la première partie du signal d'adresse et est différent de la seconde partie du signal d'adresse du signal d'adres- se de réception, et produisant la seconde partie de signal d'adresses du signal d'adresses de stockage, la première par- tie de signal d'adresse du signal d'adresse de réception étant remplacée par le signal d'adresses modifié en répon- se au signal de compartiment erroné; et un moyen de comparaison pour comparer les secon- des parties du signal d'adresse des signaux d'adresses de réception et de stockage afin de détecter la présence ou l'absence dudit bloc de données.