Brevet FR2613852A1 — publié le 19881014

SYSTEME DE TRAITEMENT DE L'INFORMATION COMPORTANT UNE UNITE DE TRAITEMENT ARITHMETIQUE DU TYPE COMMANDEE PAR UN MICROPROGRAMME La présente invention se rapporte à un système de traitement de l'information dans lequel au moins une unité de traitement arithmétique du type commandée par un microprogramme bloque l'état interne de l'untié au moyen d'un microprogramme et notifie à une autre unité une demande de communication présentée par le microprogramme. Dans un système de traitement de l'information comprenant une pluralité d'unités de traitement arithmétique, si une erreur se produit dans l'une des unités de traitement arithmétique, un signal de notification d'erreur est envoyé à l'unité de commande du système qui remédie alors à l'erreur en utilisant une technique de décharge du processeur. Pour les détails de cette technique on peut se référer au brevet U.S. No. 4 443 849. Entre temps, si le circuit câblé de l'une des unités de traitement arithmétique nécessite une synchronisation d'horloge avec les horloges de toutes les autres unités de traitement, la demande de commu- nication émanant du circuit câblé sera également envoyée à l'unité de commande du système en tant que signal de notification d'erreur mentionné ci-dessus. Par conséquent, en réponse au signal de notification d'erreur, l'unité de contrôle du système doit tout d'abord effectuer le traitement consistant à distinguer s'il faut ou non remédier à une erreur. Il en résulte qu'il est désavantageux que l'unité de commande du système doive exécuter un traitement très complexe et dépenser beaucoup de temps pour remédier à cette erreur. Un but de l'invention est de proposer un système de traitement de l'information qui soit exempt de l'inconvénient mentionné ci-dessus. Dans un système conforme à l'un des aspects de l'invention, on propose un système de traitement de l'information qui comporte au moins une unité de traitement arithmétique opérant sous la commande d'un microprogramme; ainsi qu'une unité de commande du système qui échange de l'information avec cette unité de traitement arithmétique, dans lequel: ladite unité de traitement arithmétique comporte un moyen servant à retenir l'information à communiquer, sensible à une demande, présentée par ledit programme, de retenir l'information à communiquer à ladite unité de commande du système; un moyen de suppression de l'actualisation qui, en réponse à la mise en mémoire de l'information à communiquer dans le moyen servant à retenir l'infor- mation à communiquer, supprime l'acutalisation de l'information, relative à son état interne, mémorisée dans ladite unité de traitement arithmétique; un moyen de demande de communication qui, en réponse à la mise en mémoire de l'information à communiquer dans ledit moyen servant à retenir l'information à communiquer, envoie une demande de communication à ladite unité de commande du système; un moyen d'annulation de communication qui, en réponse à une instruction provenant de l'unité de commande du système, après traitement par l'unité de commande du système en réponse à la demande de communication provenant du moyen de demande de commu- nication, efface l'information à communiquer retenue dans ledit moyen servant à retenir l'information à communiquer, annule la demande de communication provenant dudit moyen de demande de communication, annule la suppression de l'actualisation demandée par ledit moyen de suppression de l'actualisation, et, de ce fait, met le déroulement du microprogamme dans un état d'attente de réactivation; et un moyen d'activation du microprogramme pour réactiver le déroulement du microprogramme qui se trouve alors dans l'état d'attente de réactivation, conformément à une instruction provenant de ladite unité de commande du système. D'autres buts, caractéristiques et avantages de l'invention ressortiront mieux de la description détaillée qui suit, prise en liaison avec les dessins joints sur lesquels: - la figure 1 représente une première réalisation préférée de l'invention; - la figure 2 est un graphique chronologique montrant le mode opératoire de la première réalisation de l'invention; - la figure 3 représente une seconde réalisation préférée de l'invention; et - la figure 4 est un graphique chronologique montrant le mode opératoire de la seconde réalisation de l'invention. Sur les figures 1 à 4, les mêmes repères repré- sentent les mêmes éléments de structure, respecti- vement. En se reportant à la figure 1, un système auquel peut s'appliquer l'invention comporte une pluralité d'unités 100 et 300 de traitement arithmétique et une unité 200 de commande du système reliée à ces unités 100 et 300 de traitement arithmétique. La partie essentielle d'une première réalisation de l'invention se réalise avec les unités 100 et 300 de traitement arithmétique. Etant donné que l'unité 300 de traitement arithmétique est la même que l'unité 100 de traitement arithmétique au point de vue structure, on ne décrira ci-dessous que l'unité de traitement arithmétique. L'unité 100 de traitement arithmétique comporte une unité 170 de mise en mémoire d'instruc- tion pour mettre en mémoire un microprogramme et y lire les microinstructions; un décodeur 171 pour décoder les microinstructions provenant dp l'unité ; un moyen 110 servant à retenir l'information à communiquer, qui peut être par exemple un registre, sensible à un signal envoyé à sa borne H pour retenir une information à communiquer décodée par le décodeur 171 et sensible à un signal envoyé à sa borne R pour se réinitialiser; un circuit OU 151 pour obtenir la somme logique de l'information à communiquer retenue par le moyen de retenue 110; un moyen 140 de demande de communication pour transmettre un signal provenant du circuit OU 151, en tant que signal de demande de communication, à l'unité 200 de commande du système par l'intermédiaire d'une ligne; une pluralité de circuits 131 à 132 de détection d'erreur pour détecter les erreurs dans l'unité 100 de traitement arithmé- tique; un circuit OU 130 pour obtenir la somme logique des signaux de détection d'erreur provenant des circuits 131 à 132 de détection d'erreur; un moyen 133 de notification d'erreur pour transmettre le signal de sortie du circuit OU 130 à l'unité 200 de commande du système par l'intermédiaire d'une ligne; un groupe de registres 181, 182, 183 pour mémoriser l'état interne de l'unité 100 de traitement arithmétique; un circuit OU 152 pour obtenir la somme logique du signal de sortie du circuit OU 151 et du signal de sortie du circuit OU 130; un moyen 120 de suppression de l'actualisation, qui peut être par exemple une bascule électronique et qui, en réponse au signal qui arrive à sa borne H, retient le signal de sortie du circuit OU 152, et qui, en réponse au signal qui arrive à sa borne R, se réini- tialise lui-même et supprime l'actualisation en envoyant les signaux, émis au cours de la retenue, aux bornes H du groupe de registres 181, 182, et 183; un moyen 150 d'annulation de communication pour annuler un état de demande de communication en envoyant des signaux à la borne R du moyen 110 servant à retenir l'information à communiquer et à la borne R du moyen 120 de suppression de l'actualisation; un moyen 160 d'activation du microprogramme pour activer le microprogramme en envoyant une instruction, provenant de l'unité 200 de commande du système, à l'unité 170 de mise en mémoire d'instructions, par l'intermédiaire d'une ligne; et un système d'exploitation (OS) 190 pour commander l'exploitation de l'unité 100 de traitement arithmétique. La première réalisation préférée de l'invention présuppose, dans le cas o une erreur est détectée dans l'unité 300 de traitement arithmétique, que le traitement de la communication fasse que l'unité de traitement arithmétique tente de relancer l'exé- cution de la commande après que l'unité 100 de traitement arithmétique, opérant normalement, ait procédé à la décharge du processeur. Pour tous détails concernant la décharge du processeur, on peut se référer au brevet U.S. No. 4 443 849. On va maintenant décrire en détail le mode opératoire de la première réalisation préférée de l'invention en se référant aux dessins joints. En se reportant aux figures 1 et 2, l'un ou l'autre des circuits 331 et 332 de détection d'erreur de l'unité 300 de traitement arithmétique détecte une erreur à l'intérieur de l'unité 300 de traitement arithmétique et notifie l'erreur à l'unité 200 de commande du système par le moyen 333 de notification d'erreur et par l'intermédiaire d'un circuit OU 330. En même temps que cette notification d'erreur, l'unité 200 de commande du système met en mémoire l'information qui contient ce qui concerne l'état interne de l'unité 300 dans le moyen de mise en mémoire (non représenté) de l'unité 200 de commande du système. Puis, l'unité 200 en réponse à la mise en mémoire de l'information provenant de l'unité 300, donne au système d'exploitation OS 190 de l'unité 100 de traitement arithmétique une instruction de décharge du processeur. En réponse à cette instruction, le système d'exploitation OS 190 de l'unité 100 active l'unité 170 de mise en mémoire d'instructions, par une ligne 191. En réponse à cette activation, une micro-instruction lue dans l'unité 170 de mise en mémoire d'instructions est décodée par le décodeur 171. Le résultat du décodage par le décodeur 171 est envoyé au moyen 110 servant à retenir l'infor- mation à communiquer, au titre d'information à communiquer. Le signal de sortie du moyen de retenue est envoyvé à la borne H du moyen de retenue 110 par l'interméidaire du circuit OU 151 et le moyen servant à retenir l'information à communiquer retient l'information à communiquer fournie par le décodeur 171. Si même un unique bit de valeur logique "1" est présent dans cette information retenue, la valeur logique "1" du bit est envoyée au moyen 120 de suppression d'actualisation, par l'intermédiaire des circuits OU 151 et 152. Le signal de sortie de ce moyen 120 est envoyé à sa borne H et le moyen de suppression retient la valeur logique "1" qui lui a été fournie. Le signal ainsi retenu est envoyé continuellement aux bornes H du groupe de registres 181, 182 et 183. Aussi longtemps que ce signal leur est envoyé, le groupe de registres 181, 182 et 183 supprime l'actualisation de l'information mise en mémoire. Le mode opératoire normal, autre que l'actuali- sation, assuré par utilisation d'une fonction d'ana- lyse pour les registres 181, 182 et 183 est supprimé de façon à bloquer les contenus de l'unité 100 de traitement arithmétique. Dans un mode opératoire parallèle à ce dernier, le signal de sortie des circuits OU 151 est envoyé à l'unité 200 de commande du système par l'inter- médiaire du moyen 140 de demande de communication. Il en résulte que l'unité 200 n'a pas besoin d'effectuer le traitement consistant à distinguer entre une source de signal d'interruption et une autre source de signal d'interruption, de sorte que l'unité 200 peut se passer du temps d'utilisation du système qui serait nécessaire pour effectuer cette distinction. En réponse au signal d'interruption qui lui parvient par l'intermédiaire du moyen 140 de demande de communication, l'unité 200 de commande du système lit les contenus des registres 181, 182 et 183 et met en mémoire lesdits contenus dans les autres moyens (non représentés) de mise en mémoire, à l'exception du moyen (non représenté) de- mise en mémoire prévu dans l'unité 200 pour mettre en mémoire l'information qui contient ce qui concerne l'état interne de l'unité 300. Pour tous détails concernant cette fonction d'analyse, on peut se référer au brevet U.S. No. 4 424 581. L'unité 200 de commande du système prend alors, dans le moyen (non représenté) de mise en mémoire mentionné ci-dessus, prévu dans l'unité 200, l'infor- mation qui contient ce qui concerne l'état interne de l'unité 300 et l'envoie aux registres 181, 182 et 183 à l'aide de ladite fonction d'analyse. L'unité 200 envoie un signal de réinitialisation à la borne R du moyen 120 de suppression de l'actuali- sation, à la borne R du moyen 110 servant à retenir l'information à communiquer et à l'unité 170 de mise en mémoire d'instructions, respectivement. En réponse au signal de réinitialisation, le moyen 120 de suppression de l'actualisation annule la suppression de l'actualisation. En réponse au signal de réini- tialisation, les contenus du moyen de retenue 110 sont initialisés. En réponse au signal provenant du moyen 150 d'annulation de la communication, l'unité de mise en mémoire d'instructions est amenée dans un état d'attente pour lire le microprogramme mis en mémoire dans l'unité 170 de mise en mémoire d'instruction. Puis, l'unité 200 de commande du système active ledit microprogramme par le moyen 160 d'activation du microprogramme. Le microprogramme ainsi activé prépare les contenus des registres 181 à 183 à un état de vali- dation de nouvelle tentative, suivi par une nouvelle tentative d'exécution de l'instruction. De cette façon, dans la première réalisation, même si une erreur est détectée, l'interruption dans l'unité 200 de commande du système est traitée par le moyen de demande de communication indépendamment du signal de détection d'erreur. Cette interruption n'est pas nécessairement limitée à l'occasion d'une erreur qui aurait été détectée. Comme exemple d'interruption dans un cas o il n'y a pas de détection d'erreur, on va décrire ci-dessous le traitement de synchronisation simultanée de l'heure et de la date avec chaque unité de traitement arithmé- tique. On va maintenant décrire en détail la seconde réalisation préférée de l'invention en se référant aux figures 3 et 4. En se référant à la figure 3, l'unité 100' de traitement arithmétique, qui est une partie essen- tielle de la seconde réalisation préférée de l'inven- tion, est la même, au point de vue structure, que l'unité 300' de traitement arithmétique et l'on ne décrira donc ci-dessous que la structure de l'unité ' de traitement arithmétique. L'unité 100' de traitement arithmétique présente, en correspondance, les mêmes éléments de structure que l'unité 100 de traitement arithmétique de la première réalisation de l'invention, comportant le système d'exploitation (OS) 190, l'unité 110 de mise en mémoire d'instructions, le circuit OU 151, le moyen 120 de suppression d'actualisation, le moyen de demande de communication, le moyen 150 d'annu- lation de communication, le moyen 160 d'activation du microprogramme et le groupe de registres 180 à 182. En outre, l'unité 100' de traitement arithmétique comporte une unité 180 donnant l'heure et la date et comprenant un moyen 184 d'actualisation de l'heure et de la date et un moyen 185 de mise en mémoire pour mettre en mémoire les valeurs de l'heure et de la date actualisées avec le moyen d'actualisation 184. La seconde réalisation de l'invention, structurée de cette façon, effectue le traitement consistant à synchroniser l'heure et la date. On va maintenant décire en détail le mode opéra- toire de la seconde réalisation de l'invention en se référant aux figures 3 et 4. En se référant aux figures 3 et 4, le système d'exploitation OS 190 de l'unité 100' de traitement arithmétique émet une instruction de synchronisation de l'heure qui. est envoyée à l'unité 170 de mise en mémoire d'instructions par la ligne 191. Le micro- programme de cette unité 170 est activé en réponse à l'instruction de synchronisation de l'heure envoyée par le système d'exploitation OS 190, pour lire une micro-instruction. La micro-instruction ainsi lue est décodée par le décodeur 171. Le résultat du décodage est envoyé, en tant qu'information à commu- niquer, au moyen 110 servant à retenir l'information à communiquer, dont le signal de sortie est envoyé à sa borne H par le circuit OU 151. Le moyen 110 servant à retenir l'information à communiquer retient l'information à communiquer fournie par le décodeur 171 en réponse à un signal entré dans sa borne H. Le signal de sortie du circuit OU 151 est envoyé au moyen 120 de suppression de l'actualisation dont le signal de sortie est envoyé à sa borne H. Le signal de sortie du moyen 120 de suppression de l'actuali- sation est envoyé aux bornes H des registres 181 à 182 qui, en réponse, continuent également à retenir les propres valeurs qui y sont mises en mémoire. Entre temps, le signal de sortie du circuit OU 151 est envoyé, par une ligne, à l'unité 200 de commande du système en tant que demande de communication de la part du moyen 140 de demande de communication. En réponse à cette demande de communication de la part du moyen 140 de demande de communication, l'unité 200 de commande du système, après avoir arrêté, pour l'une et l'autre des unités 100' et 300' de traitement arithmétique, l'action d'actua- lisation des moyens 184 et 384 d'actualisation de l'heure et de la date, lit les contenus du moyen de mise en mémoire de la valeur de l'heure et de la date, faisant partie de l'unité. 100' de traitement arithmétique, et les prend en compte, soit en utilisant la fonction d'analyse déjà utilisée dans la première réalisation, soit en passant par un chemin de diagnostic 186. L'unité 200 de commande du système met alors en mémoire les contenus, dont elle a déjà tenu compte, du moyen 185 de mise en mémoire de la valeur de l'heure et de la date, faisant partie de l'unité ' de traitement arithmétique, dans le moyen 385 de mise en mémoire de la valeur de l'heure et de la date, faisant partie de l'unité 300' de traitement arithmétique, soit en utilisant la fonction d'analyse mentionnnée ci-dessus, soit en passant par le chemin de diagnostic 186. Après que le contenu du moyen 185 de mise en mémoire de la valeur de l'horloge et de la date, faisant partie de l'unité 100' de traitement arithmé- tique, a été mis en mémoire dans les moyens (385 par exemple) de mise en mémoire de la valeur de l'heure et de la date faisant partie de toutes les autres unités (300' par exemple) de traitement arithmétique, de cette façon, l'unité 200 de commande du système redémarre les actions d'actualisation des moyens 184 et 384 d'actualisation de l'heure et de la date des deux unités 100' et 300' de traitement arithmétique et donne une instruction de déblocage à l'aide du moyen 150 d'annulation de communication. En réponse à cette instruction, l'unité 100' de traitement arithmétique supprime le blocage. Il en résulte que les unités 180 et 380, donnant l'heure et la date, des deux unités 100' et 300' de traitement arithmétique reprennent leur action rescpective. A ce moment, les deux unités 100' et 300' de traitement arithmétique assurent le traitement en utilisant une heure et une date synchronisées. Ensuite, l'unité 200 de commande du système donne une instruction d'activation du microprogramme à l'une et à l'autre des unités 100' et 300' de traitement arithmétique à l'aide du moyen 160 d'activation du microprogramme. Dans la seconde réalisation préférée de l'inven- tion, également, l'unité 200 de contrôle du système peut recevoir une demande de communication indépen- damment d'un signal de notification d'erreur, de sorte qu'il n'y a pas besoin d'effectuer le traitement consistant à distinguer entre une notification d'erreur et une demande de synchronisation de l'heure. Par conséquent, l'unité 200 de contrôle du système peut se passer du temps d'utilisation du système qui serait nécessaire pour effectuer cette distinction. REVENDICATION Système de traitement de l'information comportant au moins une unité de traitement arithmétique opérant sous la commande d'un microprogramme, ainsi qu'une unité de commande du système qui échange de l'infor- mation avec cette unité de traitement arithmétique, dans lequel ladite unité de traitement arithmétique comporte: un moyen (110) servant à retenir l'information à communiquer, sensible à une demande, présentée par ledit microprogramme, de retenir l'information à communiquer à ladite unité de commande du système; un moyen (120) de suppression de l'actualisation qui, en réponse à la mise en mémoire de l'information à communiquer dans le moyen (110) servant à retenir l'information à communiquer, supprime l'actualisation de l'information, relative à son état interne, mémorisée dans ladite unité de traitement arithmé- tique; un moyen (140) de demande de communication qui, en réponse à la mise en mémoire de l'information à communiquer dans ledit moyen (110) servant à retenir l'information à communiqer, envoie une demande de communication à ladite unité de commande du système; un moyen (150) d'annulation de communication qui, en réponse à une instruction provenant de l'unité de commande du système, après traitement par l'unité de commande du système en réponse à la demande de communication provenant du moyen (140) de demande de communication, efface l'information à communiquer retenue dans ledit moyen (110) servant à retenir l'information à communiquer, annule la demande de communication provenant dudit moyen (140) de demande de communication, annule la suppression de l'actua- lisation demandée par ledit moyen (120) de suppresion de l'actualisation, et, de ce fait, met le déroulement du microprogramme dans un état d'attente de réacti- vation; et un moyen (100) d'activation du microprogramme pour réactiver le déroulement du microprogramme qui se trouve alors dans l'état d'attente de réactivation, conformément à une instruction provenant de ladite unité de commande du système.