Brevet FR2643474A1 — publié le 19900824

DISPOSITIF POUR ENREGISTRER UN HISTORIQUE D'EXECUTION DANS UNE UNITE DE TRAITEMENT DE L'INFORMATION. L'invention se rapporte à un dispositif pour enregistrer un historique d'exécution dans une unité de traitement de l'information qui inclut des adresses d'exé- cution pour un microprogramme. Généralement, une unité classique de traitement de l'information utilisant un microprogramme est fourni avec un dispositif dans lequel une mémoire repère enregistre l'historique des adresses d'exécution par le microprogramme et les signaux logiques spécifiques comme les clés à l'identification de la cause de tout événement exceptionnel qui peut se passer dans l'unité. Dans une telle unité- de traitement de l'information, une microinstruction extraite d'une mémoire de commande est enregistrée dans un registre de microinstruction, et décodée par un décodeur, qui fournit des signaux de commande pour l'exécution de cette microinstruction. Tandis que ces opérations sont répétées successivement pour former une séquence du micro- programme, si un événement exceptionnel est détecté, l'opération d'enregistrement de la mémoire repère est sus- pendue, et la recherche de la cause de l'évènement excep- tionnel ayant lieu dans l'unité est facilitée par l'analyse de l'historique d'exécution du microprogramme enregistré dans la mémoire repère. Puisque la mémoire repère est limitée en capacité mémoire, elle ne peut pas enregistrer tout l'historique d'exécution commençant lorsque l'unité est activée. Pour cette raison, si la surface totale d'enre- gistrement de la mémoire repère est occupée avec les données de l'historique, les nouvelles données suivantes de l'historique sont écrites sur les données anciennes. Une récente unité de traitement de l'information fournie avec le dispositif décrit ci-dessus dans laquelle une fiabilité plus haute est requise ne suspend pas son fonctionnement même si un événement exceptionnel se passe mais effectue un traitement de reprise de l'incident tel qu'un traitement de relance de I'instruction, Une telle unité a l'inconvénient que, si un second événement exceptionnel survient tandis qu'un traitement de reprise de l'incident pour un premier événement exceptionnel se pour- suit encore et si un autre traitement de reprise pour le second événement exceptionnel est à son tour commencé, la mémoire repère peut devenir entièrement occupée par l'historique d'exécution pour le second événement exceptionnel, ne laissant aucun historique d'exécution pour le premier événement exceptionnel et rendant difficile d'identifier sa cause. Un but de l'invention est, par conséquent, de fournir un dispositif pour enregistrer un historique d'exécution dans une unité de traitement de l'information sans l'inconvénient cité ci-dessus du dispositif classique. Selon un aspect de l'invention, il est fourni un dispositif pour enregistrer un historique d'exécution dans une unité de traitement de l'information qui comprend: des moyens d'enregistrement de commande pour enregistrer au moins un microprogramme comprenant une pluralité de microinstructions; des moyens d'enregistrement de microinstructions pour enregistrer temporairement une microinstruction extraite des moyens d'enregistrement de commande; des moyens d'enregistrement de pointeur pour enregistrer une valeur de pointeur; des moyens d'enregistrement des données de l'historique pour enregistrer l'état d'un groupe prédéterminé de signaux logiques à sa position mémoire désignée par la valeur du pointeur; des moyens d'enregistrement de masque d'adresse de début et des moyens d'enregistrement de masque d'adresse finale pour enregistrer respectivement un masque d'adresse de début et un masque d'adresse finale; et des moyens d'indication de masque pour -indiquer sélectivement un des premier et second états; Le dispositif comprend de plus des moyens de commande d'enregistrement d'historique pour effectuer si lesdits moyens d'indication de masque indiquent le premier état, un premier processus d'enregistrement du résultat de l'addition de la valeur du pointeur et de un dans les moyens d'enregistrement du pointeur et, quand ledit résultat de l'addition a dépassé l'adresse finale des moyens d'enregistrement des données de l'historique, enregis- trement de l'adresse de tête des moyens d'enregistrement des données de l'historique dans les moyens d'enregistrement du pointeur; si les moyens d'indication de masque indiquent le second état, un second processus de mise à jour- de la valeur du pointeur de façon à éviter l'accès des adresses allant du masque d'adresse de début dans les moyens d'enregistrement de masque d'adresse de début au masque d'adresse finale dans les moyens d'enregistrement de masque d'adresse finale; un troisième processus pour avoir les moyens d'indication de masque qui indiquent le second état en réponse à une microinstruction de positionnement de masque extraite des moyens d'enregistrement de commande dans les moyens d'enregistrement de microinstruction et, en même temps, de positionnement du masque d'adresse de début et du masque d'adresse finale respectivement dans les moyens d'enregistrement de masque d'adresse de début et les moyens d'enregistrement de masque d'adresse finale; et un quatrième processus d'avoir les moyens d'indication de masque qui indiquent le premier état de réponse à une microinstruction de réinitialisation de masque extraite des moyens d'enregistrement de commande dans les moyens d'enre- gistrement de microinstruction D'autres caractéristiques et avantages deviendront plus apparents à partir de la description suivante entre- prise en liaison avec le dessin d'accompagnement dans lequel: la Figure est un schéma fonctionnel d'un mode de réalisation de l'invention. Se référant à la Figure, un mode de réalisa- tion de l'invention comprend une section 1 d'enregistrement de commande dans laquelle un microprogramme comprenant une pluralité de microinstructions est enregistrée; un registre de microinstruction 2 dans lequel une microcinstruction de la section 1 est temporairement enregistrée; un décodeur 3; une mémoire repère 7 donne un nouveau signal d'adresse d'exécution composé d'une partie de la microinstruction enre- gistrée dans le registre 2 qui est fournie par les lignes d'acheminement du signal 8; une -section 9 de circuit combinatoire; une section 10 d'enregistrement du pointeur pour enregistrer l'information d'adresse pour désigner une certaine adresse dans la mémoire 7; un registre d masque d'adierze de début 11; et un registre de masque d'adresse finale 12. Le décodeur 3 décode la microinstruction enregistré,! dors le registre de microins- truction 2 et fournit des signaux de commande variés aux liqnes d'acheminement du signal 4. Si un événement exceptionnel a lieu dans une unité de traitement utilisée avec le mode de réalisation et une microinstruction de positionnement de masque est enregistrée dans le registre 2 avant l'exécution d'un traitement de reprise d'incident, le décodeur 3 fournit un signal (MSC) de code de position- nement de masque à travers la ligne d'acheminement du signal 5. Si une microinstruction de réinitialisation de masque est enregistrée dans le registre 2 quand l'unité de traitement a été ramenée à un état normal par le traitement de reprise d'incident, le décodeur 3 fournit un signal (MRC) de code de réinitialisation de masque à travers la ligne d'acheminement du signal 6. La section 9 a une bascule de signal de masque, qui est mise en position par le signal MSC et réinitialisée par le signal MRC. Pour plus de détails des commandes du microprogramme, référence peut être faite, par exemple, au brevet des Etats-Unis No 3.800.293. Une description sera faite dans la suite du fonctionnement du mode de réalisation, d'abord comment il opère en condition normale. Une microinstruction est extraite de la section 1 vers le registre 2. Cette micro- instruction dans le registre 2 est décodée par le décodeur 3, et une partie du résultat décodé est fourni aux lignes d'acheminement du signal 4 comme les signaux de commande pour l'exécution de la microinstruction. Une autre partie du résultat décodé est fournie aux lignes 8 comme le signal d'adresse de l'exécution suivante pour spécifier l'adresse de l'exécution suivante à la section 1, et la microinstruc- tion suivante est enregistrée dans le registre 2. Une telle série d'actions est répétée. L'enregistrement du signal d'adresse de l'exécution suivante sur les lignes 8 et des signaux logiques spécifiques sur les lignes d'achemi- nement de signal 13 dans la mémbire 7 a lieu chaque fois que les contenus du registre Z ont été mis à jour, et ces signaux sont enregistrés dans la mémoire 7 à une position mémoire indiquée par les contenus de la section 10. Chaque fois qu'une action d'enregistrement est achevée en mémoire 7, les contenus de la section 10 augmentent de un. Si le contenu de la section 10 indique l'adresse finale dans la mémàire 7, l'adresse de tête dans la mémoire 7 est enregistrée dans la section 10 dès achèvement de tl nregistrement à cette adresse finale. Dans la suite sera faite une description de l'opération qui a lieu quand un premier événement excep- tionnel arrive et en conséquence un traitement de reprise d'incident est à excécuter. Avant l'exécution d'un micro- programme enregistré dans la section 1 pour reprendre l'incident, une microinstruction de positionnement de masque est enregistrée dans le regsitre 2, et le décodeur 3 en réponse fournit le signal MSC à la ligne 5, aboutis- sant à la mise en position de la bascule du signal de masque existant dans la section 9. La section 9, sensible à la mise en position de la bascule, enregistre une adresse (3) indiquée par le contenu en cours de la section et, en même temps, enregistre une adresse (I), en recul d'un nombre prédéterminé d'adresses (M) à partir de l'adresse indiquée par le contenu en cours de la section 10, dans le registre 11. Supposant que l'espace adresse dans la mémoire 7 s'étale de l'adresse (1) à une adresse (N) la valeur de (3-M) est enregistrée dans le registre Il si elle est plus grande que 0 ( > 0), et par ailleurs la valeur de tN+(J-M)A est enregistrée dans le registre 11. Ceci est suivi par l'exécution du microprogramme de reprise d'incident. Maintenant, tandis que les contenus de la section 10 augmentent de un et les contenus des lignes 8 sont écrits dans la mémoire 7 chaque fois que les conte- nus du registre 2 sont mis à jour, quand les contenus de la section 10 plus un sont devenus égaux aux contenus du registre 11, les contenus (3) du registre 12 plus un (3+1), au lieu de ceux de la section 10 plus un, sont enregistrés dans la mémoire 7. De cette façon, les adresses (I) à (3) dans la mémoire 7 sont masquées, c'est à dire que 1' enregistrement dans la mémoire 7 a lieu en excluant les adresses masquées. Si un second événement exceptionnel a lieu durant l'exécution du traitement de réponse d'incident, les valeurs sont mises en place dans les registres 11 et 12 en réponse à une microinstruction de positionnement de masque enregistrée dans le regi tre 2 de la même manière que celle décrite ci-dessus, avant l'exécution d'un autre traitement de reprise d'incident. Comme résultat, est préservé l'historique d'exécution du traitement de reprise d'incident provoqué par le premier événement exceptionnel, qui a été enreg 9tré dans lameeoire 7 à une adresse désignée par le registre 11 à une autre adresse désignée par le registre 12. Dans la suite sera faite la description du cas dans lequel l'unité de traitement a été ramenée à sa condition normale par un traitement de reprise d'incident. Dès le rétablissement à partir de l'incident, une micro- instruction de réinitialisation de masque est enregistrée dans le registre 2, et le décodeur 3 en réponse à cette instruction réinitialise la bascule de signal de masque dans la section 9 en produisant le signal MRC à la ligne 6, et libère le masquage de la mémoire 7. REVENDICATION Un dispositif pour enregistrer l'historique d'exécution dans une unité de traitement de l'information caractérisé en ce qu'il comprend: des moyens d'enregistrement de commande (1) pour enregistrer au moins un microprogramme comprenant une pluralité de microinstructions; des moyens d'enregistrement de microinstruc- tions (2) pour enregistrer temporairement une microinstruc- tion extraite desdits moyens d'enregistrement de commande; des moyens d'enregistrement de pointeur (10) pour enregistrer une valeur du pointeur; des moyens d'enregistrement des données de l'historique ( 7) pour enregistrer l'état d'un groupe prédéterminé de signaux logiques à sa position mémoire désignée par ladite valeur. du. pointeur; . - des moyens d'enregistrement de masque d'adresse de début (11) et des moyens d'enregistrement de masque d'adresse finale (12) pour enregistrer respectivement un masque d'adresse de début et un masque d'adresse finale; des moyens d'indication de masque pour indiquer sélectivement un des premier et second états; et des moyens de commande d'enregistrement de l'historique (7) pour effectuer si lesdits moyens d'indi- cation de masque indiquent ledit premier état, un premier processus d'enregistrement du résultat de l'addition de la valeur dudit pointeur et de ta valeur u, dans lesdits moyens d'enregistrement du pointeur (10) et, quand ledit résultat de l'addition a dépassé l'adresse finale desdits moyens d'enregistrement des données de l'historique (7) enregistrement de l'adresse de tête desdits moyens d'enre- gistrement des données de l'historique dans lesdits moyens d'enregistrement du pointeur (10); si lesdits moyens d'indication de masque indiquent ledit second état, un second processus de mise à jour de la valeur dudit pointeur de façon à éviter l'accès des adresses allant dudit masque d'adresse de début dans lesdits moyens d'enregistre- ment de masque d'adresse de début (11) audit masque d'adresse finale dans lesdits moyens d'enregistrement de masque d'adresse finale (12); un troisième processus pour avoir lesdits moyens d'indication de masque qui indiquent ledit second état en réponse à une microinstruc- tion de positionnement de masque extraite desdits moyens d'enregistrement de commande (1) dans lesdits moyens de microinstruction (2), et en même temps, de positionnement dudit masque d'adresse de début et dudit masque d'adresse finale respectivement dans lesdits moyens d'enregistrement de masque d'adresse de début (11) et lesdits moyens d'enre- gistrement de masque d'adresse finale (12); et un quatrième processus pour avoir lesdits moyens d'indic ation de masque qui indiquent ledit premier état en réponse à une micro- instruction de réinitialisation de masque extraite desdits moyens d'enregistrement de commande (1) dans &esdits moyens d'enregistrement de microinstruction (2).