Brevet FR2261568A1 — publié le 19750912

La présente invention concerne un procédé et un dispositif permettant de diminuer les temps morts d'un système modulaire de traitement de données numériques. Afin que des résultats fiables puissent etre obtenus, tous les systèmes électroniques de traitement de donnees comportent des circuits de détection d'erreurs permettant de contrôler les opérations arithmétiques et logiques effectuées. Les circuits les plus connus qui sont utilisés à cette fin sont des circuits de vérification de parité qui engendrent un bit supplémentaire ou bit de parité pour une longueur fixe des données et rend pair ou impair le nombre de bits contenus dans cette longueur. Ce bit est en principe vérifié périodiquement pour déterminer s'il a été modifié. Les étapes du traitement qui ont pour effet de modifier les informations originelles nécessitent la génération d'un nouveau bit de parité qui est ajouté aux informations ainsi modifiées. Par ailleurs, les modifications du bit de parité indiquent qu'une erreur s'est produite, erreur qui peut entraîner, selon sa gravité. une interruption du fonctionnement du système. Ces interruptions ont pour effet d'augmenter les temps morts et affectent donc l'exécution en temps réel des différentes taches confiées au systeme. Certaines des erreurs détectées dans un calculateur numérique peuvent etre attribuées à des circuits défectueux, et sont en pareil cas dites erreurs permanentes, mais elles peuvent aussi etre dues à d'autres causes, telles qu'une décharge de tensions statiques élevées se traduisant par la présence d'impulsions erronées dans les lignes de transfert, si bien que, par exemple, une ligne qui, lors d'une telle décharge, aurait du présenter un O binaire sous la forme d'un signal de faible amplitude présente un signal d'amplitude élevée correspondant à un 1 binaire. En pareil cas, le circuit de vérification de parité associé détecte la présence d'une erreur dans les informations transférées. On peut alors tenter de supprimer l'erreur en répétant l'opération en cours.Dans le cas d'erreurs intermittentes, le calculateur numérique est en principe capable de calculer le résultat correct, si bien que l'apparition de telles erreurs ne se traduit généralement pas par une augmentation des temps morts. Toutefois, lorsque des erreurs permanentes, c'est-à-dire provoquées par des circuits ou par des composants défectueux, se produisent dans un tel système, le résultat correct ne peut pas etre calculé en répétant l'opération au cours de laquelle l'erreur a été détectée, si bien que le fonctionnement du système doit etre interrompu jusqu'à ce que les composants défectueux aient été remplacés. Ces temps morts sont particulierement préjudiciables à l'exécution de taches urgentes. I1 est donc permis de dire que les erreurs permanentes affectent considérablement la disponibilité globale du système. Etant donné que de telles interruptions ne peuvent etre tolérées dans certaines applications, on a préconisé l'emploi d'un système de traitement de données comportant deux unités de traitement synchronisées assurant les memes fonctions en ce qui concerne les données entrantes et reliés à des sources identiques de données. Les deux unités sont connectées de telle sorte qu'elles se contrôlent mutuellement de façon automatique et qu'en cas d'erreur l'unité défectueuse soit déconnectée du système. Compte tenu des normes de fiabilité auxquelles les systèmes de traitement de données actuels doivent satisfaire, cette solution permet d'obtenir un fonctionnement très satisfaisant, mais est très couteuse puisque le nombre d'unités est doublé. On a également proposé de relier au moyen de lignes communes un système de traitement de données principal et un système de traitement des erreurs. Ce dernier contrôle les circuits de détection d'erreurs du système principal au moyen d'un adressage particulier, identifie le circuit de détection correspondant en cas d'erreur, retire aux registres et aux unités fonctionnelles qui ont contribué à l'opération erronée le contrôle des données originelles, emmagasine et calcule la fonction erronée, transfère cette fonction, par l'intermédiaire d'un processus de transfert sélectif, à un registre de résultats approprié du système de traitement principal et, enfin, met en service un commutateur de façon à permettre au système principal de traiter les autres fonctions. Chaque dernière solution, bien qu'elle soit nettement moins onéreuse que la précédente, n'est pas idéale car chaque fonction et chaque opération nécessitent des transferts de données du système principal au système de traitement des erreurs et vice-versa. Le principal objet de la présente invention est donc de définir un procédé et un dispositif permettant de réduire au minimum les temps morts dans un système électronique de traitement de données et, partant, le cout de l'exploitation du système. L'un des avantages offerts par la présente invention réside dans le fait que l'unité de commande qui, au moyen d'une commutation, transfère le contrôle de la mémoire de commande d'une unité de traitement dSfectueuse/u#ne unité de traitement fonctionnant normalement, peut être utilisée par un certain nombre d'unités de traitement. Cela a pdur effet d'augmenter la fiabilité et de diminuer le coût de l'exploitation du système, le nombre d'unités de traitement connectées étant moins élevé. On peut limiter la diminution de la vitesse de traitement qui peut résulter de telles commutations en réduisant le nombre de transferts de programmes entre les mémoires de commande interessées, et en adaptant de façon dynamique les affectations de cycle aux conditions propres à chaque cas et qui sont déterminées par des dispositifs de contrôle de performance, si bien qu'il est immatériel, du point de vue de l'invention, que ces dispositifs soient des circuits ou des programmes. D'autres objets. caractéristiques et avantages de la présente invention ressortiront mieux de l'exposé qui suit, fait en référence aux dessins annexés à ce texte, qui représentent un mode de réalisation préféré de celle-ci. La figure 1 représente schématiquement les circuits d'un système électronique de traitement de données utilisant les dispositifs de commutation de l'invention. La figure 2 est un schéma détaillé des registres, des commutateurs et des voies de transfert utilisés aux fins des commutations. La figure 3 est un diagramme des temps afférent au fonctionnement des commutateurs et de l'unité de commande qui leur ait associée. La figure 4 est un schéma détaillé de l'unité de commande utilisée aux fins des commutations. Ainsi qu'on l'a précédemment mentionné, l'invention permet notamment de diminuer les temps morts d'un système électronique de traitement de données dont une partie est devenue défectueuse. Les systèmes électroniques modulaires de traitement de données peuvent comprendre plusieurs unités de traitement dont les circuits sont analogues, mais dont les programmes de commande sont adaptés à l'exécution de tâches différentes. La figure 1 représente une partie d'un tel système comprenant, par exemple, deux unités de traitement (PU1 ] 21 et (PU2) 21a disposées sur une pastille 20 et réalisées selon la technologie dite d'intégration à grande échelle. Deux mémoires de commande, 1 et la, sont respectivement associées aux unités 21 et 21a, chacune de ces mémoires contenant le programme de commande de l'unité de-traitement correspondante. Les différents programmes de commande emmagasinés dans les mémoires 1 et la permettent à chaque unité de traitement d'exécuter des tâches spécifiques, ces dernières faisant partie de l'ensemble de tâches que le système de traitement de données doit exécuter. Chacune des mémoires 1 et la possède ses propres circuits d'adressage. Ceux-ci comprennent les registres d'adresses 3 et 3a et les mémoires d'adresses 14 et 14a qui sont respectivement connectées à des registres 13 et 13a. Ces derniers font fonction d'accumulateurs relativement, aux unités arithmé- tiques et logiques 12 et 12a. Les communications avec les mémoires 1 et la s'effectuent par l'intermédiaire des registres d'opérations 9 et 9a qui peuvent également faire fonction de registres de données lorsque la mémoire de commande contient non seulement des instructions mais aussi des données telles que des constantes, des nombres opérateurs, etc....Les sorties des registres 9 et 9a sont respectivement appliquées aux registres 10,11 et 10a, lita. Les valeurs nombres opérateurs, adresses, valeurs d'indexage) qui doivent être combinées dans le unités 12 et 12a peuvent être provisoirement emmagasinées dans ces deux registres, les résultats de ces combinaisons étant appliqués aux registres 13 et i3a.Les valeurs d'adresses à combiner sont temporairement emmagasinées, par l'intermédiaire~Oeiregistre 13 ou 13a, dans la mémoire d'adresses 14 ou 14a, et sont ensuite appliquées au registre 3 ou 3j en vue d'opérations d'accès à la mémoire. Les valeurs résultantes, qui sont essentiellement des données de commande et non des adresses, sont transférées, en vue du centrale de diverses fonctions. aux circuits schématiquement représentés par les blocs 15, 15a et 17, 17a que comportent respectivement les unités de traitement 21 et 21a. En l'absence du procédé et du dispositif de la présente invention, les mémoires 1 et la sont respectivement connectées, par l'intermédiaire d'une ligne commune de données d'emmagasinage 25 ou 25a, aux unités de traitement 21 et 21a ainsi qu'à une ligne commune d'adresses 5 ou Sa. Les instructions et les données sont écrites ou lues dans la mémoire 1 par l'intermédiaire de la ligne commune 25 ou 25a. Le fonctionnement interne de l'unité de traitement 21, qui est analogue à celui de l'unité 21a, est décrit ci-après. Les positions de mémoire dans lesquelles des informations doivent êtres lues ou écrites sont adressées par l'intermédiaire de la ligne commune d'adresses 5 qui relie le registre d'adresses 3 à la mémoire 1. L'unité de traitement et sa mémoire 1 peuvent être d'un type approprié quelconque. Dans la description ci-après, on suppose que toutes les unités de traitement 21, 21a,- 21b 21c (ces deux dernières unités n'étant pas représentées) ont essentiellement les mêmes structures. Ainsi qu'on l'a précédemment mentionné, la diminution des temps morts constitue un critère important lors de la définition de l'architecture d'un système électronique de traitement~ de données numériques. Les temps morts du système partiellement représenté sur la figure 1 peuvent être diminués en prolongeant la ligne commune d'adresses 5 et la ligne commune de données d'emmagasinage 25 au moyen d'une ligne commune du même type, l'unité fonctionnelle intéressée étant connectée à l'unité de traitement correspondante.Par exemple, la ligne commune 5 relie le registre d'adresses 3 de l'unité de traitement 21, par l'intermédiaire d'un commutateur 23, à sa mémoire de commande 1, cependant que la ligne commune E relie le registre d'adresses 3 de l'unité 21 à la mémoire de commande la de l'unité-21a par l'intermédiaire d'un commutateur 24. De façon analogue, la ligne commune d'adresses Sa de l'unité 21a va de son registre d'adresses 3a à sa mémoire de commande le. En revanche, la ligne commune d'adresses 6a transfère les informations d'adresses de l'unité 21a du registre d'adresses 3a à la mémoire de commande 1 de l'unité 21.Les voies par lesquelles ces informations sont acheminées sont sélectionnées par les commutateurs 23, 23a, 24 et 24a qui sont mis en service par une unité de commande 16 par l'intermédiaire de lignes de commande c, d, e et f. De même , les lignes communes 25 et 25a sont toutes deuxprolongéesdeux prolongées par d'autres lignes communes. Par exemple, les informations lues depuis la mémoire de commande 1 de l'unité 21 sont transmises, par l'intermédiaire du commutateur 7, au registre d'opérations 9, qui peut également faire fonction de registre de données d'emmagasinage. D'autre part, ces informations sont transférées, par l'intermédiaire du commutateur fa, au registre d'opérations 9a de l'autre unité de traitement 21a. Les informations lues depuis la mémoire la par l'intermédiaire de la ligne commune 25a peuvent être transférées, à l'aide des commutateurs 8 et Ba, au registre d'opérations 9a de l'unité 21a et au registre d'opérations 9 de l'unité 21.Les commutateurs 7, 8, 7a et Sa sont mis en service par l'unité de commande 16 par l'intermédiaire des lignes de commande a, b, g et h. Cela permet, dans le cas, par exemple, de défectuosités de composants qui ne peuvent pas être éliminées au moyen de routines de diagnostic ou de correction d'erreurs. d'isoler l'unité de traitement défectueuse, par exemply l'unité 21a, du reste du système et de connecter sa mémoire de commande le à une unité de traitement fonctionnant correctement, par exemple à l'unité 21, laquelle assure alors les fonctions précédemment assurées par l'unité ainsi isolée. Cela se traduit nécessairement par une diminution de la vitesse de traitement du système puisque l'unité 21 doit attendre, avant d'exécuter ses propres tâches, l'exécution de celles initialement confiées à l'unité 21a. Dans le cas le plus simple d'un partage des tâches entre les unités 21 et 21a, l'intervalle de temps affecté à l'unité qui fonctionne correctement pour l'exécution de ses propres tâches correspond à celui qui est nécessaire aux fins de l'exécution des tâches initialement confiées à l'unité défectueuse. Cependant, la diminution de la vitesse de traitement qui résulte de ce mode de fonctionnement est plus importante que dans le cas où l'unité de commande 16. qui est connectée aux circuits logiques correspondants des deux unités de traitement, détermine les charges de travail respectives en fonction du programme et de la structure des circuits de chaque unité et affecte de façon dynamique un plus grand nombre de cycles de traitement à l'unité qui a le plus grand nombre de tâches à exécuter. Dans le cas de défectuosités, on peut augmenter la vitesse de traitements par exemple, en déterminant, à l'aide de routines de diagnostic, les fonctions erronées d'une unité de traitement qui peuvent être attribuées à des défectuosités de composants qu'il est impossible de corriger, et en confiant l'exécution de ces fonctions à l'unité de traitement qui fonctionne correctement. A cette fin, l'unité de commande 16 est connectée par l'intermédiaire de la ligne commune 26 aux circuits de diagnostic canon représentés) du système de traitement de données. -- Ces derniers circuits peuvent être d'un type connu permettant de détecter les fonctions erronées des différentes unités de traitement. Ces circuits ne transmettent à l'unité de commande 16 que des informations servant à identifier l'unité de traitement défectueuse.L'unité 16 procède alors à la commutation des voies de transmission de données dans les lignes communes mentionnées. Ceci réduit le nombre d'opérations de commutation que nécessite la transmission des données et permet d'obtenir une vitesse de traitement plus satisfaisante. La façon dont s'effectue la commutation d'une unité de traitement en cas de défectuosités est décrite ci-après à l'aide des figures 2 et 3. Le figure 2 #représente de façon détaillée la partie du système de la figure 1 qui comprend les voies de transmission entre les mémoires des différentes unités de traitement et leurs registres. Par exemple, les données entrantes sont transmises par l'intermédiaire de la ligne DIL 1 à la mémoire 201 de l'unité de traitement tPU1) 221.Au moyen des commutateurs tSW) 225 et 226 et d'un circuit OU (O) 233, les informations disponibles dans le registre de données entrantes 227 de l'unité de traitement 221, ou dans le registre de données entrantes 227a de l'unité de traitement (PU2) 221a, sont transférées à la ligne DIL1. La mémoire 201a de l'unité 221a reçoit les informations qui lui sont destinées par l'intermédiaire des commutateurs (3W) 225a et 226a et du circuit OU 233a. Ces commutateurs déterminent si les informations contenues dans le registre 227a de l'unité 221a ou dans le registre 227 de l'unité 221 doivent être mises en mémoire. Les informations émanant des mémoires sont lues par l'intermédiaire des lignes de données sortantes DOL 1 ou DOL 2, qui constituent également des lignes communes. Les informations émanant des mémoires sont appliquées au registre correspondant 209 ou 209a par l'intermédiaire de la ligne DOL 1 ou DOL 2, des commutateurs 207, 208 ou 207a, 208a, et du circuit OU 232 ou 232a. Sur la figure 2, ces registres sont les registres combinés d'opérations et de données sortantes respectivement associés aux unités 221 et 221a. L'accès aux mémoires ou l'adressage s'effectue par l'intermédiaire de le ligne commune d'adresses AL 1 ou AL 2 par laquelle sont transférées les adresses provenant du registre d'adresses 203 ou 203a. Le sens dans lequel s'effectue 18 transfert des adresses, c'est-à-dire leur transfert du registre d'adresses à la mémoire associée à l'une des unités de traitement ou à la mémoire associée à l'autre unité de traitement, en l'occurrence l'unité de traitement défectueuse, est déterminé par les commutateurs 223, 224 ou 223a, 224a et par le circuit OU 234 ou 234a.Ainsi qu'on l'a précédemment observé à propos de la figure 1, ces commutateurs fonctionnent sous le contrôle de l'unité de commande 216. laquelle est connectée aux circuits logiques 217 et 217a. Ces derniers circuits appartiennent aux unités 221 et 221a qui sont respectivement représentées, de façon symbolique, à gaucheet à droite de la figure 2. L'unité de commande 216 est connectée aux circuits logiques 217 par trois lignes, 238, 239 et 240, constituant l'ensemble 219. De même, l'unité 216 est reliée aux circuits logiques 217a par trois lignes, 238a, 239a, 240au constituant l'ensemble 219a. Par l'intermédiaire des lignes 238 et des circuits logiques 217, l'unité de commande 216 détecte l'état des circuits de commande de l'une des unités de traitement. Ces derniers circuits engendrent un signal d'erreur lorsque les composants du système qu!i#ls contrôlent véhiculent des informations erronées.Grâce à un autre ensemble d'informations pouvt être fournies, par exemple, par une unité 13 de diagnostic des erreurs, on détermine si le fonctionnement de l'unité de traitement intéressée doit être complètement ou partiellement interrompu relativement à des fonctions spécifiques. Si l'unité de commande 216 décide qu'il y a lieu d'interrompre le fonctionnement d'une unité de traitement, elle engendre un signal de commande approprié sur la ligne 240. La commutation d'une unité de traitement est déclenchée par la présence d'un signal sur la ligne 239 et est effectuée par les circuits logiques 217 de l'unité de traitement 221. La façon dont une unité de traitement défectueuse est mise hors fonction et dont s'effectue 1e transfert du contrôle de sa mémoire de commande à l'unité de traitement qui fonctionne de façon correcte, est décrite ciaprès à l'aide du diagramme des temps de la figure 3. On trouvera ci-après une étude du cas dans lequel une erreur commise par l'unité de traitement 221 met fin au fonctionnement normal du système pendant lequel l'unité 221 travaille avec la mémoire de commande 201 cependant que l'unité 221e travaille avec la mémoire 201, et de la façon dont l'unité 221 a, qui continue à fonctionner normalement, prend le suite des opérations précédemment effectuées par l'unité 221 consécutivement à la réception d'un signal engendr par l'unité de commande 216. Sur la figure 3, les cycles de fonctionnement sont délimités par des lignes verticales et leurs numéros sont indiqués sur la ligne horizontale A. Dans un but de simplicité, on supposera que les deux unités de traitement fonctionnent de façon synchrone. Elles pourraient toutefois fonctionner de façon asynchrone, auquel cas plusieurs temps de synchronisation supplémentaires seraient perdus Si, consécutivement à une erreur, une unité de traitement devait être connectée à deux mémoires de commande. On suppose qu'à un instant quelconque pendant le cycle de fonctionnement 0, l'unité de traitement (PUl) 221 engendre un signal d'erreur CHK 1 destiné à l'unité de commande 216, la forme de ce signal étant représentée sur la ligne horizontale B. L'unité 216 engendre alors immédiatement le signal d'arrêt STOP PU 1, dont la forme est représentée sur la ligne C. Ce signal est transféré aux circuits logiques 217 de l'unité de traitement 221 par l'intermédiaire de la ligne 240. En pareil cas, l'unité 221 interrompt immédiatement l'exécution de ses tâches et cesse de fonctionner à la fin du cycle O avoir ligne D). La représentation du train de signaux indique de façon mnémonique que l'unité 221 met fin au traitement du programme contenu dans la mémoire (C51) 201. Deux cycles sont ensuite effectués pendant lesquels les informations d'état afférentes à l'unité défectueuse (PUl) 221 sont transférées à une région fixe 230 de sa mémoire de commande 201. Ces informations prennent la forme d'adresses de programme, de codes de condition, d'interruptions, d'informations de test, etc... Comme le montre la ligne E, les informations d'état sont transférées à la région 230 de la mémoire 201 pendant les cycles 1 et 2. Pendant le cycle 2, le signal d'erreur CHK 1 provoque la g#nération par l'unité de commande 216 du signal SW2 qui est nécessaire pour déclencher l'opération de commutation. Ce signal dont la forme est représentée sur la ligne F. est transféré aux circuits logique#s 217a de l'unité 221a, qui fonctionne correctement, par l'intermédiaire de la ligne 239a, et est interprété par l'unité 221a comme une demande d'interruption de l'exécution de ses tâches. Le signal SW2 ainsi que les signaux qui commandent les commutateurs SW, représentant la logique de commutation effective du système de traitement de données, et qui sont transférés par l'intermédiaire des lignes de commande ab, cd, ef, gh, i et k, sont engendrés, soit dans l'unité de commande 216 par le microprogramme de cette dernière, soit directement au moyen de circuits de commande de commutation appartenant à -l'unité 216. Comme le montre la ligne H de la figure 3, les informations d'étet,(STAT) afférentes à l'unité (PU2) 221a qui fonctionne correctement ladite aussi unité intacte) sont mises dans la région d'emmagasinage fixe 230a (figure 2) de la mémoire de commande 201a pendant les cycles 3 et 4. Les informations d'état relatives à l'unité de traitement défectueuse 221 sont ensuite transférées, depuis la région d'emmagasinage fixe 230, à l'unité de traitement intacte 221a pendant-les cycles 5 et 6, comme le montre la ligne I de la figure 3. Ces informations se trouvent donc chargées dans l'unité 221a. Les deux opérations que constituent la préservation des informations d'état afférentes à l'une des unités de traitement et leur transfert à l'autre unité de traitement sont effectuées pendant les cycles 3 à 6 inclus et 32 å 35 inclus et sont représentées par le temps de commutation SWT sur~ la ligne N de la figure 3. Ce temps de commutation est nécessaire chaque fois qu'une unité de traitement est commutée d'une mémoire de commande à l'autre. A partir du cycle 7 et, dans le présent exemple jusqu'au commencement du cycle 32, l'unité de traitement intacte 221a assure l'exécution des tâches qui auraient dû être effectuées par l'unité de traitement défectueuse 221, ainsi que le montre la ligne K de la figure 3. Comme le montrent les lignes P et S de cette dernière figure, lorsque le cycle 5 commence. les signaux de commande de commutation présents sur les lignes cd et gh passent au niveau haut. Le signal présent sur la ligne cd met en service le commutateur 224, les informations d'adresse emmegesînées dans le registre d'adresses 203a étant de ce fait transférées à la mémoire de commande 201 de l'unité de traitement défectueuse 221 afin de permettre d'accéder à cette mémoire. De la sorte. les informations d'état afférentes à l'unité de traitement défectueuse peuvent être lues depuis la région d'emmagasinage fixe 230 et chargées dans l'unité de traitement intacte. c'est-à-dire ici l'unité 221 a. Toutefois, cela exige que les circuits logiques 217a conditionnent l'unité 221a de telle sorte que l'adresse de départ de la région d'emmagasinage fixe 230 de la mémoire de commande de l'unité 221 soit chargée dans le registre 203a de l'unité 221e. Ce résultat peut être obtenu de différentes façons, par exemple en faisant en sorte que le registre 203 précédemment mis à la valeur O adresse la première position de mémoire de la région 230 au moyen de cette valeur 0. L'incrémentetion automatique de la val#eur de l'adresse après chaque opération d'accès permet de lire la totalité du contenu de la région d'emmagasinage fixe. Le signal de commande de commutation présent sur la ligne gh. qui, au commencement du cycle 5. passe au niveau haut en même temps que le signal présent sur la ligne cd, met en service le commutateur 207a, si bien que les informations lues depuis la mémoire 201 peuvent être transférées, par l'intermédiaire de la ligne commune de données sortantes DOL 1. au registre combiné d'opérations et de données sortantes 209a de l'unité de traitement intacte 221a. Ainsi, les informations d'état relatives à l'unité de traitement défectueuse sont initialement prises en charge par l'unité de traitement intacte, cette /pouvant donc assurer l'exécution des tâches de l'unité de traitement défectueuse au point où l'interruption s'est produite.L'unité de traitement intacte est capable d'assurer cette fonction à partir du commencement du cycle 7. Comme le montre la ligne R de la figure 3, l'unité de traitement intacte 221a peut également transférer des données à la mémoire de commande de l'unité de traitement défectueuse pendant le cycle 8. Ce transfert est rendu possible par l'apparition sur la ligne i d'un signal de commande de commutation qui met en service le commutateur 226. Les informations contenues dans le registre de données entrantes 227a peuvent ainsi être chargées dans la mémoire de commande 201 de l'unité de traitement défectueuse par l'intermédiaire du commutateur 226 et de la ligne de données entrantes DIL 1. Aux fins du traitement des données, telles sont les voies de transfert essentielles entre la mémoire de commande de l'unité de traitement défectueuse et les registres correspondants de l'unité de traitement intacte 221a. Les signaux de commande de commutation ef et ab, représentés sur les lignes O et T de la figure 3, passent au niveau bas dans l'exemple décrit et mettent en service les commutateurs correspondants qui comportent un inverseur. Les deux types de commutateurs, 207 et 208, sont représentés de façon détaillée sur la figure 2. Le commutateur [ SW) 207 se compose d'une porte ET t & 236 dont l'une des entrées est directement connectée à la ligne de sortie DOL 1 de la mémoire de commande 201 et dont l'autre entrée est reliée à la ligne ab par l'intermédiaire d'un inverseur (I) 237. Le commutateur 208 ne comporte qu'une porte ET 235, dont l'une des entrées est connectée à la ligne de sortie DOL 2 de la mémoire de commande 201a et dont l'autre entrée est reliée à la ligne ab.Les sorties des portes ET 235 et 236 sont appliquées aux deux entrées d'un circuit OU (0) 232, dont la sortie est directement connectée à l'entrée du registre 209. Les commutateurs 207a et 208a ont une structure analogue, de même que les commutateurs 223 à 226 et 223a à 226a . flans ce cas également, les sorties des portes ET de ces différents commutateurs sont appliquées aux circuits OU 232a, 233, 234, 233a et 234a, dont les sorties sont appliquées aux entrées correspondantes des registres et des mémoires. L'échange d'informations dans les différents registres s'effectue sous le contrôle de signaux d'horloge transmis à ces registres par l'intermédiaire des lignes CLKL. Alors que, selon la figure 2, les registres 209 et 209a transmettent les informations à leurs unités de traitement respectives par l'intermédiaire de leurs lignes de sorties 228 et 228a, les registres 227 et 227a mettent en mémoire les informations provenant de leurs unités de traitement respectives par l'intermédiaire des lignes d'entrée 229 et 229e. Les registres 203 et 203a, qui reçoivent les adresses provenant, par exemple, des mémoires d'adresses (cf. 14 de la figure 13 associées à leurs unités de traitement respectives, par l'intermédiaire des lignes 231 et 231a. permettent de transférer ces adresses aux mémoires de commande. A l'aide du signal de commande, des voies de transfert, des éléments de commutation, des mémoires et des registres précédemment mentionnés, une unité de traitement peut assurer l'exécution en temps partagé #des tâches de l'autre unité de traitement. flans l'exemple précédemment décrit, on a supposé que l'unité de traitement intacte 221a assurait, à partir du cycle 7, l'exécution des tâches de l'unité de traitement défectueuse 221 au moyen des informations d'état mises en mémoire. Comme le montre la figure 3, l'unité 221a assure l'exécution des tâches de l'unité 221 jusqu'à la fin du cycle 31. La ligne F montre que le signal de commutation SW2 passe au niveau bas peu avant la fin du cycle 31, mettent ainsi fin aux communications entrl'unite-(PU2) 221a et la mémoire de commande (CI1) 201. Pendant le cycle 32 et jusqu'à la fin du cycle 33, les informations d'état relatives à l'unité 221a sont conservées dans la région d'emmagasinage fixe 230 de la mémoire 201.A partir du cycle 34, et jusqu'à la fin du cycle 35, ces informations sont chargées dans l'unité 221a depuis la région d'emmagasinage fixe 230a. Les informations d'état qui sont lues à ce stade depuis la région 230a sont les informations que l'unité 221e avait reçues lors de l'interruption et qui concernaient des points spécifiques en vue de la reprise du traitement. L'unité de traitement peut ultérieurement reprendre d'exécution des tâches ainsi interrompues, à partir du cycle 36, comme le montre la ligne G de la figure 3. Lorsque l'interruption suivante se produit, les cycles de fonctionnement précédemment décrits sont répétés, l'unité de traitement intacte, par exemple l'unité 221, assurant l'exécution des tâches de l'unité défectueuse, par exemple l'unité 221a. La figure 4 représente de façon détaillée les éléments essentiels de l'unité de commande 16 de la figure 1 et de l'unité de commande 216 de la figure 2. L'élément central de cette unité de commande est une unité de traitement 401 dont la structure peut être analogue à celle des unités de traitement 21 et 21a de la figure 1 et qui comprend une mémoire de commande qui lui est propre et qui est analogue à la mémoire de commande 1 ou le. L'unité 401 est connectée par une ligne 426 à différentes unités du système de traitement de données numériques, telles qu'une unité de diagnostic et de détection des erreurs et un dispositif de mesure permettant de déterminer les besoins de quelques unités de traitement essentielles ou de toutes les unités de traitement (modules) en fonction des tâches qu'elles doivent exécuter. En cas de défaillance d'une unité de traitement résultent d'une défectuosité qu'il n'est pas possible d'éliminer, se sont ces besoins qui régissent la répartition des cycles entre l'unité de traitement défectueuse et l'unité de traitement intacte qui assure l'exécution des tâches de l'unité défectueuse. Ainsi qu'on l'a précédemment mentionné, l'affectation des cycles peut également être fixe. Un compteur d'instructions 402 est prévu aux fins de l'affectation des cycles entre les deux unités de traitement. Ce compteur compte le nombre d'instructions exécutées par une unité de traitement et déclenche une commutation lorsqu'un nombre prédéterminé a été atteint, de telle sorte qu'un nombre prédéterminé d'instructions puissent être exécutées par l'autre unité de traitement. Comme le montre la figure 4, la valeur du compteur 402 est incrémentée par l'unité 401, ce compteur étant restauré lorsqu'une valeur prédéterminée a été atteinte. Des informations afférentes au nombre d'instructions exécutées sont transmises à l'unité 401 par l'unité 421, par l'intermédiaire de la ligne de commande 450, et par l'unité de traitement 421a, par l'intermédiaire de la ligne 450a.Ces informations sont traitées par l'unité 401 et transférées au compteur 402 par l'intermédiaire d'une ligne 452. Le compteur 402 possède deux sorties, 453 et 453a, qui sont respectivement appliquées à l'une des entrées d'une porte ET 407 et à l'une des entrées d'une porte ET 407a, et qui affectent le signal représenté sur la ligne F de la figure 3, lequel déclenche une opération de commutation. Les détails de ce processus seront décrits plus loin. Le cycle de fonctionnement effectif dans l'unité de commande 416 est déterminé lors du chargement, par l'intermédiaire de la ligne 451 ou 451a, dans le registre 402 ou 402a d'un mot analogue à une microinstruction à un instant d'horloge prédéterminé par l'unité de traitement 401. Ce mot se compose des bits 1 à 8 et d'un bit de parité P. La position de bit 1 contient un 1 binaire si, pendant l'intervalle de temps durant lequel le mot contenu dans le registre 402 ou 402a assure le contrôle des opérations. le fonctionnement de l'unité de commande 421 ou 421a peut être interrompu. Cela signifie que pendant le traitement d'une instruction l'on a atteint un point où le fonctionnement de l'unité de traitement correspondante peut être interrompu. Si ce bit est un 0, cela signifie que, pendant que le mot de commande se trouve dans le registre 402 ou 402a, ce point d'interruption du fonctionnement n'a pas encore été atteint pour une instruction spécifique traitée dans l'unité de traitement associée.Les sorties des positions de bit 1 des mots contenus dans les registres 402 et 402a sont respectivement connectées à l'une des entrées des portes ET 405 et 405a, les autres entrées de ces deux portes étant respectivement reliées aux lignes 438 et 43boa par lesquelles sont respectivement transférés les signaux de sortie, CHK1 et CHK2, de tous les circuits de vérification de l'unité de traitement connectée. Le signal de sortie de la porte ET 405, dont la forme est représentée sur la ligne C de la figure 3, est transféré par la ligne 440 à l'unité de traitement 421. (De même, le signal de sortie de le porte ET 405a est transféré å l'unité de traitement 421a3.Comme le montre la figure 3, ledit signal est également appliqué à l'une des entrées de la porte ET 404 dont l'autre entrée est reliée à la position de bit 2 du registre 402. La position de bit 3 du registre 402 contient un 1 binaire lorsque les cycles de traitement doivent être affectés en fonction de valeurs mesurées. Toutefois, cela nécessite la transmission par le compteur d'instructions 490, d'un signal à la po#rte ET 407 par l'intermédiaire de la ligne 453. Ce signal de sortie est engendré, par exemple, lorsque le compteur 490 a atteint une valeur prédéterminée. Etant donné que la ligne 452 est utilisée aux fins du transfert de valeurs permettant à la fois d'incrémenter le compteur et de mettre celui-ci dans un état prédéterminé, une affectation dynamique des cycles peut être employée, des valeurs prédéterminées étant transférées au compteur 402 afin de mettre celui-ci dans un état désiré. La porte ET 407 est rendue conductrice lorsque le compteur 490 a atteint une valeur prédéterminée. et un fonctionnement devient possible consécutivement à l'introduction d'un 1 binaire dans la position de bit 3 du registre 402. Le signal de sortie de la porte ET 407 est appliqué à l'une des entrées d'un circuit OU 408, dont la sortie est appliquée à l'une des entrées d'un autre circuit OU 406. La sortie de ce dernier engendre le signal de restauration qui est transféré à l'unité de traitement 421 par l'intermédiaire de la ligne 439. Les signaux de commande permettant de mettre en service les commutateurs 207, 208, 223, 224 , 225 et 226 sont emmagasinés dans les positions de bit 4, 5 et 6 du registre 402. Ces signaux sont transférés par l'intermédiaire des lignes ab , i et cd. Les signaux de commande permettant de mettre en service les commutateurs restants indiqués sur la figure 2 sont emmagasinés dans les positions de bit correspondantes du registre 402au Aux fins de la génération des signaux d'horloge, le bit emmagasiné dans la position 7 est transféré à l'unité de traitement connectée par llintermé- diaire de la ligne 403 à la cadence à laquelle le mot de commande est chargé dans le registre 402. Chaque fois qu'un nouveau mot est chargé dans ce registre, une impulsion est engendrée depuis l'étage 7.La durée de cette impulsion est égale à l'intervalle de temps pendant lequel le 1 binaire est emmagasiné dans l'étage 7. La#suite d'impulsions correspond au signal d'horloge qui contrôle le chargement dans le registre 402 d'un nouveau mot provenant de l'unité de traitement 401. La génération d'un signal d'horloge servant à commander, au minimum, les opérations de commutation des mémoires de commande des différentes unités de traitement ne présente donc aucune difficulté. Par exemple, un mot de commande contenu dans le registre 402 peut directement déclencher les opérations de commutation nécessaires au moyen du bit qui se trouve dans la position 8. Ainsi, la transmission d'un bit 1 de la position 8 du registre 402 au circuit OU 40boa, par l'intermédiaire de la ligne 455, et au circuit OU 406a provoque la génération d'un signal SW2 servant à déclencher le processus de commutation. de la façon précédemment décrite à propos de la figure 3. De même, la présence d'un bit 1 dans la position 8 du registre 402a provoque, par l'intermédiaire de la ligne 455a et des circuits OU 406 et 406, la génération du signal SW1 qui est transféré, par l'intermédiaire de la ligne 439, à l'unité de traitement 421 où il déclenche le processus de commutation.Ainsi qu'on l'a précédemment mentionné, l'étage P contient le bit de parité du mot de commande. Enfin, la figure 4 montre que le contenu du registre d'état afférent à l'unité de traitement 421 est également transmis par la ligne 410 à la porte ET 409. Ce registre peut faire partie de l'unité de détection et de diagnostic que comporte en principe chaque calculateur. Les informations d'état contenues dans le registre peuvent être mises à jour par ladite unité. Les informations d'état transmises à la porte ET 409 par l'intermédiaire de la ligne 110 sont transférées par le signal SWI qui déclenche le processus de commutation, et transmises au registre de données entrantes 227 par l'intermédiaire de la ligne 229 représentée sur la figure 2. Ces informations sont ensuite transférées à la région d'emmagasinage fixe 230 de la mémoire de commande 201. il en va de même des informations d'état afférentes Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. REVENOICATIONS 1.- Procédé pour améliorer les performances d'un système de traitement de données comportant au moins deux processeurspoureffectuer en parallèle plusieurs tâches définies par plusieurs programmes de commande emmagasiné;5 dans- une ou plusieurs mémoires de commande. Ce procédé est caractérisé en ce que, à la suite d'une erreur détectée dans un processeur défectueux du système, une unité de commande transfère les informations d'état desprocesseursdans le ou les mémoires de commande, afin de les sauvegarder, puis transmet l'information d'état du processeur défectueux à l'un des autres processeurs du système de façon que ce processeur non défectueux puisse poursuivre la tâche en cours d'exécution sur le processeur défectueux. 2,Procédé selon la revendication 1 caractérisé en ce que le processeur poursuivant la tâche en cours d'exécution sur le processeur défectueux effectue ses tâches et les tâches du processeur défectueux en un nombre fixé de cycles. 3.- Procédé selon b revendication 1 caractérisé en ce que le processeur poursuivant la tâche en cours d'exécution sur le processeur défectueux ne prend en charge cette tâche qu'après qu'il ait effectué un nombre fixé de cycles sur sa ou ses propres tâches. 4.- Procédé selon la revendication 2 ou 3 caractérisé en ce que le nombre fixé de cycles est déterminé par un compteur d'instructions, la transmission de l'information d'état du processeur défectueux au processeur non défectueux, pour commutation des tâches, ne s'effectuant qu'après que le compteur d'instructions ait atteint un nombre prédéterminé. 5.- Procédé selon la revendication 2 ou 3 ou 4 caractérisé on ce que la distribution des cycles des processeurs est effectuée entre processeurs selon les performances qu'ils doivent atteindre au cours de l'exécution de leurs tâches respectives. 6.- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que le ou les processeurs non défectueux n'effectuent pas toutes les tâches du processeur défectueux mais seulement celles de ces tâches trouvées défectueuses. 7.- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que,dans un système à plus de deux processeurs, les tâches du processeur défectueux sont effectuées par le processeur non défectueux le moins actif du système. 8.- Dispositif utilisant le procédé selon l'une quelconque des revendications précédentes et caractérisé en ce qu'il comporte une unité de commande commandent l'ouverture ou la fermeture de commutateurs déposés dans les moyens interconnectant les processeurs et la ou les mémoires de commande du système, 9.- Dispositif selon la revendication 8 caractérisé en ce que les commutateurs sont disposés sur les organes de liaison, transmettent les données, les adresses, les instructions entre les autres mémoires de commande et les registres d'entrée ou de sortie des processeurs. 10.- Dispositif selon la revendication 9 caractérisé en ce que l'unité de commande est reliée à une unité de détection d'erreurs dans le système. 11.- Dispositif selon la revendication 10 caractérisé en ce que l'unité de commande comporte un processeur commandé par un programme de commande, des registres pour emmagasiner un mot de commande, des circuits logiques connectés aux différentes positions de bits du registre contenant le mot de commande et commandés par un bit de commande.