Brevet FR2454138A1 — publié le 19801107

La présente invention se rapnorte a un dispositif traceur pour calculateurs, en particulier pour calculateurs téléphonloues. Pour la recherche des fautes de programme exécutés par les calculateurs tels que ceux utilisés dans les centraux téléphoniques MIC, sans perturber le déroulement en temps réel des programmes opérationnels, on utilise des appareils appelés "traceurs" tels que ceux décrits par exemple dans la revue française "Commutation et Electroninue", n0 59, Octobre 1977. Ces appareils comportent essentiellement une mémoire rapide recevant en permanence les diverses adresses de lecture et d'écriture émises par l'unité centrale d'un calculateur de commande vers sa mémoire associée sur le bus d'adresses. On peut commander a tout moment l'enregistrement par la mémoire du traceur d'une séquence d'émission d'adresses, puis vider sur bande magnétique cette séquence et l'analyser ultérieurement, par exemple a l'aide de l'unité centrale. Cependant ce traceur connu ne permet pas d'effectuer facilement la vérification de certaines fautes particulières telles que les perturbations de certains mots de la mémoire de l'unité centrale à cause d'une mauvaise instruction, la mémoire de ce traceur connu enregistrant tous les échanges entre l'unité centrale et sa mémoire, ce oui complique l'exploitation des événements mémorisés par le traceur. La présente invention a pour objet un procédé de traçage permettant de détecter rapidement et facilement la modification accidentelle et indésirable d'au moins une information, telle qu'une donnée, de la mémoire associée à l'unité centrale de traitement, et a également pour objet un dispositif de mise en oeuvre de ce procédé. Le procédé conforme à la présente invention utilise un traceur du type connu précité, et consiste à mémoriser dans un dispositif de mémoire au moins une information telle qu'une donnée dont on veut enregistrer les différentes interventions au cours du déroulement du programme d'instructions émises par l'unité centrale, et à mémoriser dans la mémoire du traceur l'adresse de l'instruction qui fait appel à cette information chaque fois que cette information apparaît sous forme identique sur le bus de données reliant l'unité centrale à sa mémoire.Ainsi, on ne mémorise dans le traceur que les adresses des instructions relatives aux données qui sont perturbées ou susceptible d'etre perturbées, sans encombrer la mémoire de ce traceur de toutes les autres adresses des instructions relatives aux données qui sont traitées convenablement, ce qui facilite considérablement l'analyse subséquente du contenu de la mémoire du traceur. Selon un autre aspect du procédé de la présente invention, on arme etlou on désarme le traceur lorsqu'unie information déterminée apparaît sur ledit bus de données. Selon une variante du procédé de la présente invention, on mémorise dans le traceur les informations en plus des adresses des instructions correspondantes ou au lieu de ces adresses. Le dispositif de mise en oeuvre du procédé de la présente invention comporte un registre de mémorisation relié à une console de commande et/ou à un téléimprimeur par l'intermédiaire de l'unité centrale de traitement ou par l'intermédiaire d'un microprocesseur approprié, la sortie de ce registre étant reliée à une oremière série d'entrées d'un circuit logique à fonction ET dont la deuxième série d'entrées est reliée au bus de données de l'unité centrale, la sortie de ce circuit à fonction ET étant reliée à l'entrée d'autorisation d'un circuit logique tampon reliant le bus d'adresses de l'unité centrale à la mémoire du traceur. Selon une autre caractéristique du dispositif de la présente invention, la sortie dudit circuit logique à fonction ET est reliée à l'une des entrées d'un circuit logique à fonction OU dont la sortie est reliée à un circuit logique commandant l'armement du traceur et/ou la sortie du circuit logique à fonction ET est reliée à l'une des entrées d'un autre circuit logique à fonction OU dont la sortie est reliée à un autre circuit logique commandant le désarmement du traceur. La présente invention sera mieux comprise à l'aide de la description détaillée d'un mode de réalisation pris comme exemple non limitatif et illustré par le dessin annexé dont la figure unique est un bloc diagramme d'un traceur conforme à la présente invention. Sur cette figure unique, on n'a représenté que les éléments du calculateur et du traceur nécessaires à la compréhension de l'invention. Le calculateur est par exemple celui d'un centre de transit téléphonicue MIC, mais il est bien entendu que le traceur de l'invention peut être utilisé dans de nombreuses autres applications. Ce calculateur comporte notamment une unité centrale de traitement I reliée par un bus de données 2 et par un bus d'adresses 3 à une mémoire 4. L'unité centrale I est également reliée à une console de commande 5 et à un téléimprimeur 6. Toutefois, le téléimprimeur 6 peut être relié non pas à l'unité centrale mais au traceur 7 par l'intermédiaire d'un microprocesseur approprié. Le traceur 7 comprend notamment une mémoire 8 reliée au bus d'adresses 3 par l'intermédiaire d'un circuit logique tampon 9 qui peut comporter par exemple des bascules bistables. Le traceur 7 comporte, en outre, un registre 10 de mémorisation de données relié à l'unité centrale 1 par un double bus 11 de données et d'adresses (connu sous l'appellation DC bus). Le registre 10 est prévu pour pouvoir mémoriser au moins une donnée du format de celles mémorisées dans la mémoire 4 du calculateur. Les sorties paralleles du registre 10 sont reliées à une premier série d'entrées d'un circuit logique 12 à fonction ET dont une deuxième série d'entrées est reliée au bus de données 2.La sortie du circuit logique 12 est reliée à l'entrée de validation du circuit logique 9 ainsi que, d'une part, par l'intermédiaire d'un circuit E1 à fonction FT à une entrée d'un circuit logique 13 à fonction OU dont les autres entrées sont reliées, de façon connue par l'intermédiaire de circuits E2 à E à fonction ET, à divers circuits n commandant l'armement du traceur sous différentes conditions, et d'autre part par l'intermédiaire d'un circuit I1 à fonction ET à une entrée d'un autre circuit logique 15 à fonction OU dont les autres entrées sont reliées, de façon connue par l'intermédiaire de circuits 12 à In à fonction ET, à n divers circuits commandant le désarmement du traceur sous différentes autres conditions, les autres entrées des circuits à fonction ET précités étant reliées, de façon connue en soi à des circuits non représentés produisant des signaux de validation appropriés. Les conditions d'armement peuvent être par exemple : un événement extérieur, une instruction d'armement du programme du calculateur, la reconnaissance d'une adresse par le calculateur ou le traceur. Les conditions de désarmement peuvent être par exemple : une instruction de désarmement du programme du calculateur, la reconnaissance d'une adresse par le calculateur ou le traceur, un événement extérieur, l'arret du calculateur, l'arrivée à l'état plein de la mémoire du traceur, l'initialisation du traceur. La sortie du circuit 13 est reliée à un circuit logique 14 dont la sortie 14a commande l'armement du traceur, et la sortie du circuit 15 est reliée à un circuit 16 dont la sortie 16a commande le désarmement du traceur. Des circuits (non représentés et connus en soi) empechent toute interférence entre les commandes d'armement et de désarmement par le meme signal issu du circuit 12. On va maintenant expliquer le fonctionnement du dispositif décrit ci-dessus. Préalablement au démarrage d'un programme d'instructions émises par l'unité centrale 1, ou même pendant le déroulement de ce programme, on commande à l'aide de la console 5 ou du téléimprimeur 6 l'inscription dans le registre 10 d'une ou de plusieurs informations différentes, par exemple des données, dont on veut vérifier l'utilisation par l'unité centrale 1 et que l'on suspecte intervenir dans certains processus erronés, comme par exemple, dans le cas précité de l'application à un centre téléphonique, le processus interrompant inopinément une conversation téléphonique ou établissant une fausse cowmunication. Lorsque l'une des données mémorisées dans le registre 10, et présente à l'entrée du circuit 12, est identique à une donnée apparaissant sur le bus 2, un signal de colncidence, par exemple un "1" binaire apparait à la sortie du circuit 12. Ce signal se présente à l'entrée de validation du circuit 9, ce qui fait que l'adresse, présente sur le bus 3, de l'instruc- tion faisant appel à la donnée en question, parvient à la mémoire P où elle est mémorisée.Ainsi, la mémoire 8 du traceur n'enregistre que les adresses des instructions émises par l'unité centrale 1 et susceptibles d'intervenir dans des processus erronés, sans enregistrer les adresses de toutes les instructions envoyées par l'unité centrale pendant un laps de temps déterminé, ce qui facilite grandement le travail ultérieur d'analyse du contenu de la mémoire 8. Selon une variante de ce procédé, on peut également enregistrer dans la mémoire 8 les données elles-m#mes, les modifications correspondantes à apporter au dispositif de 1 invention étant évidentes pour l'homme de l'art. En outre, le signal de coincidence apparaissant à la sortie du circuit 12 permet de commander, par l'intermédiaire des circuits 13 et 14 ou 15 et 16, l'armement ou le désarmement, du traceur lorsque celui-ci est désarmé ou armé, respectivement, dès qu'il y a colncidence entre une donnée mémorisée dans le registre 10 et une donnée apparaissant sur le bus 2. On notera que le traçage, c'est-à-dire l'enregistrement dans la mémoire 8 du traceur, peut être effectue pendant les séquences de lecture de l'instruction, d'adresse d'indirection, de lecture d'une donnée de la mémoire ou d'écriture d'une donnée de la mémoire. L 'T J T I J Q PEVENDTCATIONS 1. Procédé de traçage d'au moins une information de la mémoire associée à l'unité centrale de traitement d'un calculateur, à l'aide d'un dispositif traceur, caractérisé par le fait que l'on mémorise dans un dispositif de mémoire au moins une information, telle qu'une donnée, dont on veut enregistrer les différentes interventions au cours du déroulement du programme d'instructions émises par l'unité centrale, et que l'on mémorise dans la mémoire du traceur l'adresse de l'instruction qui fait appel à cette information chaque fois que cette information apparaît sous forme identique sur le bus de données reliant l'unité centrale à sa mémoire. 2. Procédé de traçage selon la revendication 1, caractérisé par le fait que l'on mémorise également dans la mémoire du traceur l'information elle-meme. 3. Procédé de traçage selon l'une quelconque des revendications 1 ou 2, caractérisé par le fait que l'on arme et/ou désarme le traceur lorsqu'une information déterminée apparaît sur ledit bus de données. 4. Dispositif pour la mise en oeuvre du procédé selon l'une des revendications 1 ou 2, caractérisé par le fait qu'il comporte un registre de mémorisation relié à une console de commande et/ou à un téléimprimeur par l'intermédiaire de l'unité centrale de traitement ou par l'intermédiaire d'un microprocesseur approprié, la sortie de ce registre étant reliée à une première série d'entrées d'un circuit logique à fonction ET dont la deuxieme série d'entrées est reliée au bus de données de l'unité centrale, la sortie de ce circuit à fonction ET étant reliée à l'entrée d'autorisation d'un circuit logique tampon reliant le bus d'adresses de l'unité centrale à la mémoire du traceur. 5. Dispositif selon la revendication 4, pour la mise en oeuvre du procédé selon la revendication 3, caractérisé par le fait aue la sortie dudit circuit logique à fonction ET est reliée à l'une des entrées d'un circuit logique à fonction OU dont la sortie est également reliée à un circuit logique commandant l'armement du traceur et/ou par le fait que la sortie du circuit logique à fonction ET est aussi reliée à l'une des entrées d'un autre circuit logique à fonction OU dont la sortie est reliée à un autre circuit logique commandant le désarmement du traceur.