Brevet FR2440032A1 — publié le 19800523

La présente invention concerne un système a multiprocesseur dans lequel un processeur central commande un certain nombre de processeurs satellites chargés chacun de l'exécution d'un programme. Dans un tel systeme, il est nécessaire que le processeur central connaisse l'état fonctionnel des processeurs satellites qui lui sont subordonnés. Les informations d'état, il les tire en partie des résultats des tâches exécutées par les processeurs satellites, et en partie des contrôles programmés, mais les défaillances des processeurs satellites n'ont pas toutes des effets rapidement perceptibles par le processeur central. L'invention a pour objet d'aider le processeur central à déceler rapidement une grande partie des défauts de fonctionnement des processeurs satellites. Selon l'invention, il est prévu un système à multiprocesseur comprenant un processeur principal appelé processeur central qui confie des tâches de traitement de données un certain nombre de processeurs auxiliaires appelés processeurs satellites, dans lequel, au cours de l'exécution d'une tache, une suite d'additions est effectuée sur des mots extraits de la mémoire qui contient le programme du processeur satellite chargé d'exécuter cette tache. Le processeur central vérifie les résultats de ces additions à des intervalles prédéterminés et, sur cette base, détermine si le processeur satellite fonctionne correctement ou non. L'invention sera mieux comprise à la lecture de la description détaillée qui va suivre, faite a titre d'exemple non limitatif, en se reportant la figure annexée qui représente un schéma fonctionnel tres simplifié d'un systeme a multiprocesseur conforme a l'invention. Les processeurs satellites fonctionnent de façon cyclique. Chacun constitue l'élément principal d'un terminal de signalisation dans un système de télécoiisnications comprenant plusieurs commutateurs. Chaque processeur satellite exécute un programme bouclé comportant des branchements correspondant des conditions particulieres sur l'artere ou les arteres de signalisation qui sont placées sous le contrôle de ce processeur. L'état fonctionnel du terminal de signalisation peut également influer sur la façon dont le programme se déroule. A chaque cycle du programme exécuté par le processeur satellite 1, un mot de commande différent est extrait de la#mémoire de programme 2, qui est une mémoire morte. Ce mot de commande est ajouté au contenu d'un couple de registres. Il s'agit d'un mot de 16 éléments binaires, donc de deux octets. Chacun de ces deux octets est ajouté au contenu de l'un des registres de sommation. L'octet de poids fort est, au préalable, décalé vers les poids faibles. Préalablement à la lecture du premier mot de commande de la mémoire 2 qui contient le programme et ses données permanentes, les deux registres de sommation sont mis à zéro. Le mot extrait de la mémoire morte 2 est décomposé en ses octets et ajouté au contenu des registres de sommation, après quoi son adresse est majorée d'une unité. Le processus se répète jusqu'a ce que le dernier mot de la mémoire 2 ait été lu et ajouté au contenu des registres de sommation. Le contenu de ces registres est alors transféré dans deux registres de résultats situés dans une mémoire à accès sélectif 3 accessible en lecture ou en écriture au processeur satellite 1 et au processeur central (non représenté) par l'intermédiaire des sélecteurs 4 et 5. On connatt le temps que met le processeur satellite 1 à exécuter une séquence de sommation sur la mémoire 2 dans le cas le plus défavorable. Le temps qui sépare deux lectures successives des registres de résultats par le processeur central est plus long. Si le contenu des registres de résultats n'est pas celui que le processeur central s'attend à trouver, c'est que le processeur satellite ne fonctionne pas correctement. Le processeur central prend alors les mesures qui s'imposent : mise hors service du processeur défaillant, report de ses tâches sur un ou plusieurs autres processeurs et émission d'un signal d'alarme pour alerter le personnel de maintenance. Si les résultats sont corrects, le processeur central remet les registres de résultats à zéro, puis s'assure que la remise à zéro s'est effectuée correctement. Dans l'exemple choisi, le processeur central vérifie le contenu des registres de résultats de chaque processeur satellite une fois par seconde. Il est bien évident que la description qui précède n'a été donnée qu'a titre d'exemple non limitatif et que d'autres variantes peuvent être envisagées sans sortir pour autant du cadre de l'invention. REVENDICATIONS 1. Système à multiprocesseur comprenant un processeur principal et un certain nombre de processeurs auxiliaires chargés chacun de l'exécution de tâches de traitement de données sous le contrôle dudit processeur principal, caractérisé par le fait que durant l'exécution d'une tâche une suite d'opérations de sommation est effectuée sur des mots extraits de la mémoire qui contient le programme du processeur auxiliaire exécutant ladite tâche ; et que le processeur principal vérifie les résultats desdites opérations à des intervalles prédéterminés, déterminant sur la base desdits résultats si le processeur auxiliaire fonctionne correctement ou non. 2. Système à multiprocesseur selon la revendication 1, caractérisé par le fait que chacun desdits processeurs auxiliaires exécute les tâches qui lui sont confiées de façon cyclique selon une boucle de programme, avec ou sans branchements ; et qu'a chaque passage dans la boucle un mot de commande destiné audit processeur auxiliaire est extrait d'une mémoire morte, lesdites opérations de sommation étant effectuées sur lesdits mots de commande. 3. Système a multiprocesseur selon la revendication 2, caractérisé par le fait que chacun desdits mots de commande est, avant sommation, décomposé en une partie de poids fort et une partie de poids faible ; que les parties de poids fort respectives d'un certain nombre de mots de commande successifs sont additionnées dans un premier registre de sommation et les parties de poids faible respectives d'un certain nombre de mots de commande successifs, dans un deuxième registre de sommation ; que les deux sommes ainsi obtenues sont transférées respectivement dans un premier et un deuxième registre de résultats; que le temps d'exécution d'une séquence de sommation complète sur les mots de commande d'un processeur auxiliaire est déterminé ; et que si ledit temps dépasse une certaine valeur une action corrective est entreprise vis-à-vis dudit processeur auxiliaire.