FR 2828601 A1 20030214 FR 0110734 A 20010810 Ensemble de circuits électroniques comportant des moyens de décontamination de parties contaminées par des erreurs Domaine technique de l'invention L'invention concerne un ensemble de circuits électroniques comportant une pluralité de blocs connectés entre eux, des moyens de détection d'erreur dans les données fournies par au moins l'un des blocs et des moyens de décontamination. État de la technique Les systèmes électroniques deviennent de plus en plus sensibles aux aléas à cause de leur miniaturisation et ils sont de plus en plus susceptibles de produire des erreurs. L'introduction de mécanismes de tolérances aux fautes devient indispensable. Dans certains cas, on veut se prémunir contre les erreurs provenant de certaines parties spécifiques et bien définies, tandis que, dans d'autre cas, on veut se prémunir contre les erreurs provenant de n'importe quelle partie du système. Pour se prémunir contre les erreurs dues à des fautes transitoires on peut utiliser un mécanisme de détection d'erreur et, en cas de détection d'une erreur, on peut reprendre les opérations à partir d'un état passé du système soigneusement sauvegardé. Dans l'art existant ces reprises se font à partir de l'état global du système, qu'on a pris soin de sauvegarder à des intervalles de temps assez grands en utilisant des procédures logicielles. On doit alors stocker de grandes quantités d'informations représentant l'état global du système. Cette sauvegarde a l'avantage de ne pas exiger une conception particulière des diverses parties du système, notamment d'un processeur, mais nécessite des grandes ressources matérielles, notamment en mémoire. De plus, la procédure de sauvegarde est longue et, par conséquent, ne peut pas être effectuée très fréquemment, car elle affecte de façon importante les capacités de calcul du système. Ainsi, le plus souvent, une reprise est effectuée à partir d'un état passé lointain et sa durée est d'autant plus grande. Finalement, cette technique nécessite le développement d'un logiciel particulier afin de gérer cette procédure. Elle implique donc à un coût de développement récurrent chaque fois qu'on construit un nouveau système. Objet de l'invention L'invention a pour but de réduire le coût de la sauvegarde dans un ensemble de circuits électroniques. Selon l'invention, ce but est atteint par le fait que les moyens de décontamination comportent au moins un circuit de sauvegarde et de reconstitution des états passés d'une bascule associée à un bloc de l'ensemble, le circuit de sauvegarde et de reconstitution comportant un multiplexeur et un registre tampon, du type premier entré, premier sorti, le multiplexeur comportant une première entrée connectée directement à la sortie de la bascule et une seconde entrée connectée à ladite sortie par l'intermédiaire dudit registre tampon. Selon un développement de l'invention, l'ensemble comporte des moyens de commande pour contrôler le registre tampon et le multiplexeur pendant une phase de fonctionnement normal et pendant une phase de décontamination, suivant la détection d'une erreur, de manière à : - activer en écriture le registre tampon et connecter la sortie du multiplexeur à sa première entrée à chaque cycle, pendant la phase de fonctionnement normal, et - activer en lecture le registre tampon et connecter la sortie du multiplexeur à sa seconde entrée pendant des cycles prédéterminés de la phase de décontamination. Description sommaire des dessins D'autres avantages et caractéristiques ressortiront plus clairement de la description qui va suivre de modes particuliers de réalisation de l'invention donnés à titre d'exemples non limitatifs, et représentés aux dessins annexés, dans lesquels : La figure 1 représente une partie d'un ensemble de circuits dans lequel l'invention peut être utilisée. La figure 2 représente un mode particulier de réalisation de l'invention pour un ensemble de circuits du type représenté à la figure 1. La figure 3 représente un autre ensemble de circuits dans lequel l'invention peut être mise en oeuvre. Description de modes particuliers de réalisation. Un ensemble électronique auquel l'invention peut s'appliquer comporte une pluralité de blocs, connectés entre eux. Un bloc est généralement constitué par un circuit logique, une bascule ou une mémoire. Une bascule est associée à chaque bloc. La figure 1 illustre schématiquement une partie d'un ensemble de circuits dans lequel l'invention peut être mise en oeuvre. Dans le mode de réalisation représenté, un premier circuit logique 1 a est connecté en série avec une première bascule 2a (associée au circuit logique 1 a), un second circuit logique 1 b et une seconde bascule 2b (associée au circuit logique 1 b). En fonctionnement normal, la propagation des données dans l'ensemble s'effectue pendant des cycles successifs (cycles d'horloge ou, plus généralement, cycle de fonctionnement). À un moment donné, un bloc de l'ensemble produit une erreur qui se propage dans l'ensemble pendant q cycles de fonctionnement avant que l'erreur soit détectée et une procédure de décontamination déclenchée. De manière générale, une erreur due à une faute transitoire, se produisant à un cycle nOQ se propage, pendant les q cycles suivants, jusqu'à l'instant où elle a été détectée et une phase de décontamination engagée. Cette erreur est donc présente pendant q+ 1 cycles de fonctionnement. Une phase de décontamination doit 1 permettre d'effectuer une reprise à partir d'un cycle qui précède e cycle nOQ afin de corriger l'erreur introduite pendant ce cycle. Dans chaque ensemble, lorsque les blocs susceptibles de produire une erreur à leur sortie sont bien identifiés, il est possible de déterminer quels sont les blocs de l'ensemble susceptibles d'être affectés par cette erreur. Soit d la distance entre deux composants de l'ensemble correspondant au nombre de cycles nécessaires pour qu'une donnée provenant de l'un des composants soit prise en compte, directement ou indirectement, par l'autre composant. Dans un ensemble, seules les bascules associées aux blocs potentiellement générateurs d'erreur, ainsi que les bascules situées en aval et à une distance inférieure ou égale à q, peuvent être affectées par l'erreur. De plus, plus une de ces bascules est proche d'un bloc susceptible de produire une erreur, plus tôt elle sera affectée par l'erreur. Ainsi, la distance dmin la plus petite qui sépare une bascule des blocs susceptibles de produire une erreur et qui se trouvent en amont de la bascule, va déterminer le premier cycle (cycle n dmin) pendant lequel la bascule va être affectée par l'erreur. Un cas particulier dans lequel seuls certains blocs prédéfinis peuvent être considérés comme source potentielle d'erreur est le cas d'un ensemble dans lequel le concepteur considère que seuls les blocs de mémoire sont sensibles aux fautes transitoires et sont susceptibles de produire des erreurs. Selon un premier aspect de l'invention, des ressources de reprise locales, destinées à sauvegarder des états locaux et récents, sont associées à différentes parties de l'ensemble. Après déclenchement de la procédure de décontamination, l'ensemble utilise des circuits de sauvegarde et de reconstitution des états passés de certains blocs pour décontaminer l'ensemble et reconstituer son état correct. Les circuits de sauvegarde et de reconstitution doivent permettre de sauvegarder un nombre k d'états, avec kq+l dans le cas général. Sur la figure 2, la sortie de la bascule 2a est connectée à l'entrée d'un circuit 3 de détection d'erreur, dont la sortie est connectée à l'entrée d'un circuit de commande 4. La détection d'une erreur par le circuit de détection provoque, par l'intermédiaire du circuit de commande 4, le début d'une phase de décontamination destinée à décontaminer les parties de l'ensemble contaminées par l'erreur. Un circuit de sauvegarde et de reconstitution des états passés est associé, sur la figure 2, à la bascule 2a. Ce circuit de sauvegarde et de reconstitution comporte un registre tampon 5, du type premier entré, premier sorti, désigné par l'abréviation usuelle FIFO (first input, first output) et comportant r étages. Dans le cas où r=1, le registre tampon 5 est alors constitué par une simple bascule. L'entrée du registre tampon 5 est connectée à la sortie de la bascule 2a associée. Le circuit de sauvegarde et de reconstitution comporte également un multiplexeur 6 comportant une première entrée connectée directement à la sortie de la bascule 2a associée et une seconde entrée connectée à ladite sortie par l'intermédiaire du registre tampon 5. La sortie du multiplexeur est connectée à l'entrée de tous les blocs auxquels devrait être connectée la sortie de la bascule 2a associée s'il n'y avait pas de circuit de sauvegarde et de reconstitution, c'est-à-dire sur la figure 2 à l'entrée du circuit logique 1 b. Pendant une phase de fonctionnement normal, le registre tampon 5 est activé en écriture à chaque cycle. À chaque instant, il sauvegarde ainsi les états des r derniers cycles passés de la bascule 2a associée. La sortie du multiplexeur est alors connectée à sa première entrée, c'est-à-dire à la sortie de la bascule 2a associée. Pendant la phase de décontamination, le circuit de sauvegarde et de reconstitution doit être capable de fournir, de façon sélective, certains des r états passés qu'il a sauvegardés. Le registre tampon 5 est donc activé en lecture pendant des cycles sélectionnés de la phase de décontamination, le nombre de cycles de la phase de la décontamination pouvant être supérieur à r. En phase de décontamination, la sortie du multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5, pendant les cycles sélectionnés de la phase de décontamination. Pendant le reste des cycles de la phase de décontamination, la sortie du multiplexeur est connectée à sa première entrée, c'est-à-dire à la sortie de la bascule correspondante. Pour chaque erreur provenant d'un bloc donné, les bascules associées à un circuit de sauvegarde et de reconstitution peuvent être réparties en deux groupes : - un premier groupe de bascules 81, qui sont susceptibles d'être affectées par l'erreur. - un second groupe de bascules B2, qui ne sont pas susceptibles d'être affectées par l'erreur. Ce second groupe peut lui-même être divisé en deux sous-groupes, un premier sous-groupe de bascules 821 qui ne sont pas bloquées pendant certains cycles de la phase de décontamination et un second sous-groupe de bascules 822 qui sont bloquées pendant toute la phase de décontamination. De manière générale, dans un ensemble où seuls certains blocs sont susceptibles de produire des erreurs, les bascules non susceptibles d'être affectées par une erreur sont considérées comme des bascules du second sous-groupe de bascules 822 et sont bloquées pendant toute la phase de décontamination pour conserver leur dernier état correct. Néanmoins, pour réduire le coût des circuits de sauvegarde et de reconstitution, il peut être souhaitable de ne pas bloquer en permanence, pendant la phase de décontamination, certaines bascules non susceptibles d'être affectées par l'erreur. Ces bascules, appartenant au premier sous-groupe de bascules 821, peuvent alors évoluer et fournir certains de leurs états passés utiles pour retrouver l'état correct des bascules contaminées. Pour les bascules de ce premier sous-groupe, la procédure de décontamination doit être conçue de manière à ce qu'elles retrouvent le dernier état à partir duquel on les fait évoluer. Le choix des cycles sélectionnés de la phase de décontamination se fera de façon différente, selon que la bascule considérée est une bascule 81, 821 ou 822, Dans le cas d'une bascule appartenant au sous-groupe B22, c'est-à-dire qui n'est pas susceptible d'être affectée par l'erreur et qui est bloquée par le circuit de commande 4, pendant toute la phase de décontamination, tous les cycles de la phase de décontamination sont des cycles de blocage pendant lesquels la sortie du multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5. Ceci est nécessaire car, la bascule 2a étant bloquée, elle ne peut fournir les données requises. Par ailleurs, toutes les données contenues dans le registre tampon 5 sont correctes car il a sauvegardé les états d'une bascule non susceptible d'être affectée par l'erreur. Si l'on utilise un registre tampon dont la taille est supérieure à la taille nécessaire pour effectuer la décontamination, ce registre tampon peut être activé pendant les cycles où les données qu'il fournit ne sont pas utilisées. Pendant ces cycles, la sortie du multiplexeur est alors connectée à sa première entrée, c'est-à-dire à la sortie de la bascule correspondante. Dans le cas d'une bascule appartenant au sous-groupe 821, c'est-à-dire qui n'est pas susceptible d'être affectée par l'erreur mais qui n'est bloquée par le circuit de commande 4 que pendant certains cycles de la phase de décontamination, la sortie du multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5, à partir du premier cycle de la phase de décontamination, pendant lequel le registre tampon est activé en lecture, et jusqu'au cycle de déblocage de la bascule 2a considérée. Après déblocage de la bascule, la sortie du multiplexeur peut alors être connectée indifféremment à sa première ou à sa seconde entrée, c'est-à-dire soit à la sortie de la bascule 2a, soit à la sortie du registre tampon 5. En effet, la bascule 2a n'étant plus bloquée, elle fournit des données correctes à partir de données correctes qui lui sont fournies par des étages (non représentés) disposés en amont. D'autre part, le registre tampon 5, qui a sauvegardé les états d'une bascule non affectée par l'erreur, fournit également les données correctes requises. Dans le cas d'une bascule appartenant au groupe 81, c'est-à-dire d'une bascule susceptible d'être affectée par l'erreur, celle-ci n'est pas bloquée par le circuit de commande 4 pendant la phase de décontamination. Pendant la phase de décontamination, la sortie du multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5, sauf pendant les derniers cycles de la phase de décontamination où le registre tampon 5 peut fournir des valeurs erronées, c'est-à-dire pendant les derniers q-dmin cycles de la phase de décontamination. La sortie du multiplexeur est alors connectée à sa première entrée, c'est-à-dire à la sortie de la bascule 2a associée. Ceci permet d'éviter d'utiliser des données erronées qui auraient été introduites dans le registre tampon lors de la sauvegarde d'états de la bascule affectés par l'erreur. Grâce à un choix approprié de la disposition des différents circuits de sauvegarde et de reconstitution dans l'ensemble de circuits considéré et de l'enchaînement des opérations pendant la phase de décontamination, la bascule 2a associée qui n'est pas bloquée fournit alors des données correctes qui peuvent être fournies par le multiplexeur 6 aux blocs situés en aval, par exemple au bloc logique 1 b sur la figure 2. Dans un ensemble où seuls certains blocs bien définis sont susceptibles d'être à l'origine d'une erreur, une bascule associée à un tel bloc sera appelée bascule d'origine. Une erreur apparaissant dans un premier temps dans une bascule d'origine se propage avant le déclenchement d'une phase de décontamination aux bascules situées en aval à une distance inférieure ou égale à q. Pour la bascule d'origine, on doit sauvegarder un nombre k d'états. L'état d'une bascule, dite bascule cible, située en aval d'une bascule d'origine peut être restauré de diverses manières, en fonction de la structure de l'ensemble et de la position de la bascule cible dans l'ensemble. Dans certains cas, pour restaurer l'état d'une bascule cible il est nécessaire de sauvegarder les états d'une ou de plusieurs bascules constituant des prédécesseurs immédiats de la bascule cible. Si une bascule constituant un prédécesseur immédiat peut également être affectée par l'erreur, le nombre d'états à sauvegarder pour ce prédécesseur immédiat est donné par q+ 1-dminc, où dminc représente la distance minimum séparant la bascule cible de la bascule d'origine. On peut alors utiliser un circuit de sauvegarde et de restauration associé au prédécesseur immédiat pour sauvegarder q+1-dminc états de ce prédécesseur immédiat. Celui-ci pouvant être affecté par l'erreur, certains des q+1-dminc états sauvegardés sont erronés. La distance minimum séparant la bascule constituant le prédécesseur immédiat de la bascule d'origine étant dminp, les états erronés du prédécesseur correspondent aux derniers q+1-dminp cycles de fonctionnement normal, parmi lesquels q-dminp sont sauvegardés. Ainsi, pendant les derniers q-dminp cycles de la phase de décontamination, on n'utilise pas les états sauvegardés mais les états générés par la bascule constituant le prédécesseur immédiat pendant la phase de décontamination. De cette façon, on n'utilise que les états corrects parmi les états sauvegardés. Si la bascule constituant le prédécesseur immédiat n'est pas affectée par l'erreur, alors les q+1-dminc états sauvegardés sont corrects et sont utilisés pendant la phase de décontamination. Dans ce cas, on peut remplacer le circuit de sauvegarde et de reconstitution de la bascule constituant le prédécesseur immédiat par celui d'autres bascules situées en amont. Dans d'autres cas, tout bloc de l'ensemble peut être considéré comme susceptible de produire une erreur et, par conséquent, toute bascule de l'ensemble peut être contaminée, soit par une erreur dont elle est elle-même la source, soit par une erreur produite par le circuit logique associé, soit par la propagation d'une erreur produite dans un bloc situé en amont et à faible distance. Chaque bascule pouvant être une bascule d'origine, dmin=0. Si on sauvegarde k états d'une bascule, les derniers q-dmin=q états sauvegardés sont erronés Ainsi, pendant la phase de décontamination, seuls les premiers k-q états sauvegardés seront utilisés pendant les k-q premiers cycles de la phase de décontamination. Pendant les q derniers cycles de la phase de décontamination, on utilisera les états que la bascule correspondante génère dans son évolution pendant la phase de décontamination. Un exemple va être explicité plus en détail en référence à la figure 3. Dans l'ensemble selon la figure 3, la bascule 2b est connectée en série avec un circuit logique 1 c, une bascule 2c, un circuit logique 1 d et une bascule 2d. La sortie de la bascule 2d est connectée à l'entrée du circuit logique 1 a. On fait l'hypothèse que tous les blocs de cet ensemble sont susceptibles de produire une erreur due à une faute transitoire. Dans un tel cas, où tout bloc est susceptible de produire des erreurs, toute bascule peut être affectée dès le premier cycle d'occurrence de l'erreur (cycle nOD) car l'erreur peut survenir sur la bascule elle-même ou sur le circuit logique associé. La valeur r doit alors être supérieure ou égale à k. Dans une première variante de réalisation, un circuit de détection d'erreur est associé à chaque bloc et des moyens de décontamination, permettant de sauvegarder et reconstituer des états sont prévus pour décontaminer le système. Dans un mode de réalisation préférentiel, un circuit de détection d'erreur 3 est connecté à la sortie de chacune des bascules (2a, 2b, 2c et 2d), de manière à détecter toute erreur survenant dans la bascule ou le circuit logique dont la sortie est connectée à l'entrée de la bascule considérée. On suppose également que le délai nécessaire pour la détection de l'erreur par un circuit de détection 3 est tel que l'erreur a le temps de se propager à la bascule suivante. Une erreur est donc susceptible d'affecter l'ensemble pendant 2 cycles de fonctionnement (q=1). On suppose également que les blocs susceptibles d'être affectés par une erreur ne disposent pas de circuit de correction d'erreur. Dans ce cas, il est nécessaire de sauvegarder au moins les états des k=q+1=2 cycles passés. Dans ces conditions un circuit (5,6) de sauvegarde et de reconstitution, du même type que celui décrit en regard de la figure 2, est associé à chaque bascule (2a, 2b, 2c et 2d). Pour permettre la sauvegarde des 2 derniers cycles (soit le cycle précédant le cycle nOO et le cycle précédant le cycle n 1), on choisit des registres tampon ayant chacun une taille r=k=2. La phase de décontamination comporte alors 2 cycles. Le registre tampon est activé en lecture au moins pendant le premier cycle. Il peut également être activé en lecture pendant le cycle suivant, mais ce n'est pas obligatoire. Toutes les bascules étant susceptibles d'être affectées par l'erreur, elles appartiennent toutes au groupe 81. De plus, chaque bascule peut être affectée par une erreur pendant les q+ 1- dmin derniers cycles précédant le déclenchement de la phase de décontamination. Dans le cas particulier considéré, q=1 et dmin=0 puisque la bascule elle-même peut être une source d'erreur. Ainsi q-dmin=1 et le dernier état du registre tampon sera erroné. La sortie de chaque multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5 correspondant pendant le premier cycle de la phase de décontamination. Par contre, elle est connectée à sa première entrée, c'est-à-dire à la sortie de la bascule correspondante pendant le dernier cycle (q-dmin=1) de la phase de décontamination. Dans une seconde variante de réalisation, on choisit d'associer un circuit de sauvegarde et de reconstitution (5,6) à une seule bascule de l'ensemble selon la figure 3, par exemple à la bascule 2a. Dans ce cas, le nombre d'états passés devant être sauvegardés pour reconstituer l'état de l'ensemble est plus important. Dans l'ensemble représenté sur la figure 3, le registre tampon 5 associé à la bascule 2a aura alors une taille r=5 afin de pouvoir sauvegarder l'état précédant le cycle n01 (cycle nOD dont l'état est erroné) ainsi que les états des 4 cycles précédant le cycle nOD. La phase de décontamination a alors une durée de 5 cycles. Le registre tampon est activé en lecture au moins pendant les 4 premiers cycles de la phase de décontamination. Il peut également être activé en lecture pendant le cycle suivant, mais ce n'est pas obligatoire. La bascule 2a, pouvant être affectée par l'erreur, fait partie du groupe 81. De plus, puisque q=1, alors q+ 1-dmin =2 et elle peut être affectée par un erreur pendant les deux derniers cycles précédant le déclenchement de la phase de décontamination. La sortie du multiplexeur 6 est connectée à sa seconde entrée, c'est-à-dire à la sortie du registre tampon 5 pendant les 4 premiers cycles de la phase de décontamination. Par contre, elle est connectée à sa première entrée, c'est-à-dire à la sortie de la bascule 2a pendant le dernier cycle (q-dmin=1, car dmin =0 puisque la bascule elle-même peut être une source d'erreur) de la phase de décontamination. La valeur k=q+ 1 est généralement la valeur la plus économique en ressources matérielles. Ceci n'est cependant pas toujours vrai ainsi que cela ressort par exemple des deux variantes décrites ci-dessus en référence à la figure 3. Dans la première variante, avec 4 circuits de sauvegarde et de reconstitution (un par bascule) comportant chacun un multiplexeur et un registre tampon à 2 étages, le nombre k d'états sauvegardés est égal à 2, soit k=q+ 1. Par contre, dans la seconde variante, avec un seul circuit de sauvegarde et de reconstitution, comportant un multiplexeur et un registre tampon à 5 étages, le nombre k d'états sauvegardés, égal à 5, est supérieur à q+ 1. Ainsi, le coût matériel peut être moindre bien que le nombre d'états à sauvegarder soit plus important. De plus, dans la seconde variante, en choisissant comme bascule à laquelle est associé le circuit de sauvegarde et de reconstitution, la bascule de l'ensemble ayant le plus petit nombre de bits, il est possible de réduire au minimum la taille du registre tampon et du multiplexeur associé. Dans les exemples décrits ci-dessus, l'ensemble ne comporte pas de circuit spécifique de correction d'erreur. Le nombre k d'états à stocker est alors tel que k2q+ 1. Il est également possible d'utiliser l'invention dans un ensemble comportant des blocs protégés, c'est-à-dire des blocs avec des capacités de détection et de correction d'erreur. Dans l'art antérieur, notamment dans les ensembles comportant des mémoires munies de codes de détection et de correction d'erreur, le fonctionnement de l'ensemble est ralenti pour permettre de corriger une erreur avant sa propagation dans l'ensemble. Selon un second aspect de l'invention, on laisse alors les données produites par un bloc protégé se propager systématiquement dans l'ensemble sans attendre la correction éventuelle d'une erreur. Si, à un instant donné, une erreur est détectée à la sortie d'un bloc protégé, cette sortie erronée est corrigée par le circuit de correction associé et la sortie corrigée est utilisée en coopération avec des circuits de sauvegarde et de reconstitution d'états passés pour décontaminer les blocs du système qui ont entre temps été contaminés par l'erreur qui s'est propagée. Si l'erreur se produit au cycle noO et se propage pendant les q cycles suivants, il faut effectuer la reprise à partir du cycle 0 ou de tout autre cycle le précédant. L'erreur survenue pendant le cycle n 0 étant corrigée par le circuit de correction associé au bloc protégé, il est possible d'effectuer la reprise à partir du cycle n 0. On pourra donc limiter le nombre k d'états à sauvegarder à k > q et la valeur r à r > k= q. Le cas dans lequel k=q est généralement le plus économique en ressources matérielles. Revendications 1. Ensemble de circuits électroniques comportant une pluralité de blocs connectés entre eux, des moyens de détection d'erreur dans les données fournies par au moins l'un des blocs et des moyens de décontamination, ensemble caractérisé en ce que les moyens de décontamination comportent au moins un circuit de sauvegarde et de reconstitution des états passés d'une bascule associée à un bloc de l'ensemble, le circuit de sauvegarde et de reconstitution comportant un multiplexeur (6) et un registre tampon (5), du type premier entré, premier sorti, le multiplexeur (6) comportant une première entrée connectée directement à la sortie de la bascule (2a) et une seconde entrée connectée à ladite sortie par l'intermédiaire dudit registre tampon (5). 2. Ensemble selon la revendication 1, caractérisé en ce que, un bloc étant associé à un circuit de correction d'erreur et l'erreur pouvant se propager pendant q cycles avant détection et déclenchement d'une phase de décontamination, le registre tampon (5) d'un circuit de sauvegarde et de reconstitution d'une bascule associée audit bloc comporte un nombre d'étages permettant de sauvegarder un nombre (k) d'états supérieur ou égal à q. 3. Ensemble selon la revendication 1, caractérisé en ce que, un bloc étant associé à un circuit de correction d'erreur et l'erreur pouvant se propager pendant q cycles avant détection et déclenchement d'une phase de décontamination, le registre tampon (5) d'un circuit de sauvegarde et de reconstitution d'une bascule associée audit bloc comporte un nombre d'étages permettant de sauvegarder un nombre (k) d'états supérieur ou égal à q+ 1. 4. Ensemble selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte des moyens de commande (4) pour contrôler le registre tampon (6) et le multiplexeur (5) pendant une phase de fonctionnement normal et pendant une phase de décontamination, suivant la détection d'une erreur, de manière à : - activer en écriture le registre tampon (5) et connecter la sortie du multiplexeur (6) à sa première entrée à chaque cycle, pendant la phase de fonctionnement normal, et - activer en lecture le registre tampon (5) et connecter la sortie du multiplexeur (6) à sa seconde entrée pendant des cycles prédéterminés de la phase de décontamination. 5. Ensemble selon la revendication 4, caractérisé en ce que la phase de décontamination commence par lesdits cycles prédéterminés. 6. Ensemble selon l'une des revendications 4 et 5, caractérisé en ce que, le circuit de sauvegarde et de reconstitution étant associé à une bascule (2a) de l'ensemble qui n'est pas susceptible d'être contaminée par l'erreur, lesdits cycles prédéterminés de la phase de décontamination sont des cycles de blocage, qui sont suivis par des cycles de déblocage, le dispositif de commande (4) comportant des moyens de blocage de la bascule (2a) pendant les cycles de blocage et de déblocage de la bascule (2a) pendant les cycles de déblocage. 7. Ensemble selon la revendication 6, caractérisé en ce que le dispositif de commande (4) comporte des moyens de blocage de la bascule (2a) pendant toute la phase de décontamination, tous les cycles de la phase de décontamination étant des cycles de blocage. 8. Ensemble selon l'une des revendications 4 et 5, caractérisé en ce que, le circuit de sauvegarde et de reconstitution étant associé à une bascule de l'ensemble qui est susceptible d'être contaminée par l'erreur, le circuit de commande (4) connecte la sortie du multiplexeur (6) à sa première entrée après lesdits cycles prédéterminés de la phase de décontamination. 9. Ensemble selon l'une quelconque des revendications 1 à 5, caractérisé en ce que chaque bloc de l'ensemble étant susceptible d'être affecté par une erreur, un circuit de sauvegarde et de reconstitution est associé à chacune des bascules associées à des blocs prédéterminés de l'ensemble. 10. Ensemble selon la revendication 9, caractérisé en ce qu'un circuit de sauvegarde et de reconstitution est associé à chacune des bascules de l'ensemble.