EP1556765A1 - Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur - Google Patents

Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur

Info

Publication number
EP1556765A1
EP1556765A1 EP02785558A EP02785558A EP1556765A1 EP 1556765 A1 EP1556765 A1 EP 1556765A1 EP 02785558 A EP02785558 A EP 02785558A EP 02785558 A EP02785558 A EP 02785558A EP 1556765 A1 EP1556765 A1 EP 1556765A1
Authority
EP
European Patent Office
Prior art keywords
bits
groups
monitoring circuit
message
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02785558A
Other languages
German (de)
English (en)
Inventor
Laurent Regnier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of EP1556765A1 publication Critical patent/EP1556765A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Definitions

  • the present invention relates to microprocessor testing. It relates more particularly to a method and a device for transmitting digital data between a test circuit integrated in a microprocessor chip and an analysis tool.
  • FIG. 1 schematically represents an integrated circuit 10 comprising a microprocessor ( ⁇ P) 12, an internal memory (MEM) 14 and input / output terminals (I / O) 16.
  • the microprocessor 12 is intended to execute a program or software stored in memory 14. Under the control of the program, the microprocessor 12 can process data supplied by the input / output terminals 16 or stored in memory 14 and supply data by the input / output terminals 16
  • a monitoring circuit 18 (TEST) is generally integrated into the integrated circuit 10.
  • the monitoring circuit 18 is adapted to read specific data supplied by the microprocessor 12 during the course of a program, and possibly to carry out processing on the data read.
  • Monitoring terminals 22 connect the monitoring circuit 18 to an analysis tool 24.
  • the analysis tool 24 can perform processing of the signals received, for example as a function of commands supplied by a user, and provide a detailed analysis of the operation of the microprocessor 12. In particular, the analysis tool 24 can determine the sequence of program instructions actually executed by the microprocessor 12.
  • the number of monitoring terminals 22 for a conventional monitoring circuit 18 can be of the same order of magnitude as the number of input / output terminals 16 of the microprocessor 12, for example from 200 to 400.
  • the monitoring terminals 22 as well as the connections of the monitoring circuit 18 occupy a large surface area of silicon, which leads to an undesirable increase in the cost of the circuit.
  • a first version of the integrated circuit 10 including the monitoring circuit 18 and the monitoring terminals 22 is produced in small quantities to carry out the development of the microprocessor 12. After this development, a version of the integrated circuit 10 cleared of the monitoring circuit 18 and of the monitoring terminals 22 is marketed. This involves the production of two versions of the integrated circuit, which is labor intensive and relatively expensive. In addition, the final chip is not identical to the chip tested.
  • monitoring circuit 18 which occupies a reduced surface area and requires only a reduced number of monitoring terminals 22, which reduces the cost of the monitoring circuit 18.
  • the monitoring circuit 18 can then be left on the integrated circuit 10 finally marketed.
  • the standard IEEE-ISTO-5001 in preparation offers in its version of 1999, accessible for example on the site www.ieee-isto.org/Nexus5001, a particular protocol for the exchange of messages between a monitoring circuit 18 and a analysis tool 24 for a monitoring circuit 18 requiring only a reduced number of monitoring terminals 22.
  • the IEEE-ISTO-5001 standard provides for several standardized messages, called public messages, the characteristics of which are fixed once and for all and cannot be modified by the users of the chip 10.
  • public messages there are in particular the messages of program monitoring and data messages.
  • Program follow-up messages provide information on the order in which the program instructions are executed by the microprocessor 12. This is for example a message indicating that a jump has taken place during the execution of the program executed by the microprocessor 12.
  • the data messages group the other public messages that can be transmitted by the monitoring circuit 18 and in particular provide information on the data processed by the microprocessor 12. This is, for example, a message indicating that a operation of reading or writing data in an area of memory 14 was carried out by microprocessor 12.
  • Each public message is made up of a succession of bits divided into several juxtaposed groups comprising a header group and secondary groups, each group coding a particular datum.
  • the header group corresponds to an identifier of the type of message. It consists of a fixed and identical number of bits for all public messages.
  • the number of secondary groups of a given public message and the size of each of them are fixed by the value of the identifier of the message.
  • the secondary groups can correspond to a given representative of the address of the jump destination instruction and of the number of instructions executed by the microprocessor 12 since the last transmission of a jump message.
  • the secondary groups can correspond to the address of a register in memory 14 where the data is written or read and to the value of the data.
  • the analysis tool 24 From the public messages, in particular, from the program monitoring messages, the analysis tool 24 reconstructs the sequence of instructions executed by the microprocessor 12. The reconstructed sequence of instructions can then be compared to a sequence instructions theoretically executed by the microprocessor 12 so as to determine malfunctions of the microprocessor 12.
  • the standard IEEE-ISTO-5001 also provides for the possibility for users to define specific messages that can be transmitted by the monitoring circuit 18 in addition to the public messages.
  • a specific message is intended to be used when none of the public messages provided for by the standard can fulfill a function desired by the user.
  • a specific message comprises, like a public message, a first group of header bits corresponding to an identifier of the specific message. The arrangement of the other bits of the specific message does not follow any particular rules and can vary considerably from one user to another.
  • the analysis tool 24 connected to the monitoring circuit 18 must include processing means adapted to the processing of specific messages.
  • each user wishes the monitoring circuit 18 to transmit particular information which depends in particular on the architecture which has been defined for the microprocessor 12. The user then tends to favor the use of specific messages over public messages so as to transmit exactly the desired information. This reduces the interest of the IEEE standard. ISTO-5001 since in practice most of the messages transmitted by the monitoring circuit 18 are not public messages. In this case, it is very difficult to provide analysis tools 24 which can be used interchangeably for monitoring circuits 18 designed by different users and which implement different specific messages.
  • the present invention provides for the transmission of adaptable messages, the provision of which follows determined rules so as to be able to easily implement new functions without requiring the definition of specific messages and so as to allow the use of more standardized analysis tools.
  • An advantage of the present invention is that it makes use of messages whose structure is compatible with that of the public messages already provided for by the IEEE-ISTO-5001 standard, which promotes the aforementioned standardization.
  • the present invention provides a method of transmitting digital messages by output terminals of a microprocessor monitoring circuit of a determined type among several types of monitoring circuits and integrated into a microprocessor, each message comprising a message identifier and consisting of several groups of successive and juxtaposed bits, the groups of bits being divided into one or more segments each comprising a determined number of bits, the method consisting in successively transmitting segments associated with the groups of successive bits and juxtaposed comprising a first group of bits corresponding to the identifier and comprising a fixed number of bits whatever the type of monitoring circuit; second groups of bits, at least one of the second groups comprising a fixed number of bits depending on the identifier and the type of monitoring circuit, the number of the other second groups depending on the identifier and being independent of the type of monitoring circuit surveillance; a third group of bits comprising a number of bits greater than unity and dependent on the message to be transmitted; and fourth groups of bits each comprising a number of bits greater than unity and dependent on the message to be transmitted, the
  • said at least one of the second groups is juxtaposed with the first group.
  • said other second groups have a number of bits which depends on the identifier and which is independent of the type of monitoring circuit.
  • said other second groups have a number of bits greater than the unit which depends on the message to be transmitted.
  • the present invention also provides a device for transmitting digital messages by output terminals of a monitoring circuit, of a determined type from among several types of monitoring circuits, integrated into a microprocessor, each message comprising a message identifier, said device comprising means for supplying successive and juxtaposed groups of bits constituting the message, means for dividing the groups of bits into one or more segments each comprising a determined number of bits and means for successively transmitting said segments, the means for supply of groups of bits being adapted to successively supply a first group of bits corresponding to the identifier and comprising an identical fixed number of bits whatever the type of monitoring circuit, second groups of bits, at least one of said second groups comprising a fixed number of bits depending on the identifier and the type of circulation it monitoring, the number of other second groups depending on the identifier and being independent of the type of monitoring circuit, a third group of bits comprising a number of bits greater than unity and dependent on the message to be transmitted and fourth groups of bits each comprising a number of bits greater than unity and dependent on the message
  • FIG. 1 previously described , very schematically represents the architecture of a chip integrating a microprocessor and a monitoring circuit; and FIG. 2 represents an example of a message supplied by the monitoring circuit to an analysis tool according to the present invention.
  • the present invention provides for modifying the structure of public messages already provided for by the IEEE-ISTO-5001 standard so as to allow the transmission of messages adapted to the wishes of different users.
  • FIG. 2 represents a message according to the invention.
  • the bits are represented from the least significant bit on the left of the figure to the most significant bit on the right of the figure.
  • the bits of the message are transmitted by the monitoring circuit 18 in this order.
  • the message comprises a first group of TCODE bits corresponding to a fixed number of identical bits for all the messages.
  • the first group of bits is equal to an identifier of the message.
  • the identifier group can take different other values according to the wishes of the users.
  • the IEEE-ISTO-SOOl standard provides for an identifier group set at six bits. According to the present invention, the number of bits of the identifier group may possibly be increased depending on the number of messages to be provided to satisfy the wishes of users.
  • the TCODE identifier group is juxtaposed with a fixed CUSTOM user group.
  • the number of bits making up the CUSTOM fixed user group is set by the user for each possible identifier value.
  • the CUSTOM fixed user group may possibly contain no bits.
  • the CUSTOM fixed user group can represent any type of data that the user wishes to transmit to the analysis tool 24. It can be the concatenation of different values or a data item originating from processing carried out by the monitoring circuit 18.
  • the CUSTOM fixed user group is followed by several mandatory groups MAND_1 to MAND_N juxtaposed.
  • the number of compulsory groups, the number of bits of each compulsory group and the nature of the data contained in each compulsory group are determined once and for all for each identifier value.
  • the last compulsory group MAND_N of a message according to the invention necessarily comprises a variable number of bits, the other compulsory groups possibly comprising a fixed number greater than unity or a variable number of bits.
  • a group with a variable number of bits consists of at least one bit (possibly equal to 0).
  • the last mandatory group MAD_N is followed by one or more optional user groups CUST_1 at CUSTJS. juxtaposed each with a variable number of bits.
  • the number of optional user groups CUST_1 to CUSTJSF is not defined a priori and may vary for the same identifier and for the same user according to operating conditions of the microprocessor 12.
  • the message structure proposed according to the present invention advantageously uses the data transmission protocol between the monitoring circuit 18 and the analysis tool 24 provided for by the IEEE-ISTO-5001 standard.
  • the bits of successive groups each comprising a fixed number of bits are concatenated to form a single packet having a fixed number of bits.
  • the bits of a group having a fixed number of bits and the bits of a group having a variable number of bits which is juxtaposed and follows the group having a fixed number of bits can also be concatenated to form a single packet having a variable number of bits.
  • the packets thus formed are divided into segments of n bits, where n is for example between 4 and 16, each segment being intended to be transmitted by a bus of n bits.
  • n When the number of bits in a packet is less than n, all the bits are copied into a segment and the most significant bits not used in the segment are given a predetermined value, for example 0.
  • the n least significant bits of the packet When the number of bits of a packet is greater than n, the n least significant bits of the packet are copied bit by bit in a first segment, then the next n least significant bits of the packet are copied bit by bit in a second segment, and so on until each bit of the packet has been copied.
  • the most significant unused bits of the last segment thus formed receive a predetermined value, for example 0.
  • the segments are transmitted subsequently by the n-bit bus in cadence with a clock signal specific to the monitoring circuit 18 To allow the reconstruction of the data packets from the segments, it is planned to transmit with each segment to additional test terminals a transmission code which allows the analysis tool to identify the nature of the data contained in the segment.
  • the IEEE-ISTO-5001 standard provides transmission codes to identify: a message start segment; an intermediate segment of a packet having a fixed or variable number of bits; an end segment of a packet having a variable number of bits, when such a packet is followed by another packet of the same message; an end of message segment; and an empty segment corresponding to a period of inactivity between two messages.
  • the position of the optional user groups CUST_1 to CUST_N in the transmitted message advantageously uses the protocol previously described since the analysis tool 24 does not need to know beforehand the number of optional user groups CUST_1 to CUST_N present. in the message.
  • the optional user groups CUST_1 to CUST_N are groups having a variable number of bits placed at the end of the message.
  • a specific identification code indicating an end segment of an optional user group is therefore provided by the monitoring circuit 18 between each optional group during the transmission of the optional groups d user CUST_1 to CUST_N. This allows the analysis tool 24 to count the optional user groups when the message is received.
  • the present invention also makes it possible to modify the composition of the messages to be transmitted in order to adapt them to the wishes of the users while allowing the transmission of the public messages already provided for by the IEEE-ISTO-5001 standard.
  • the position of the groups in a message being fixed for all the messages according to the invention which can be transmitted by the monitoring circuit 18 to the analysis tool 24, it is possible to standardize the algorithms for calculating the tools as much as possible. analysis for processing received messages.
  • a configuration file is transmitted to the analysis tool 24 so that it has knowledge of the messages that can be transmitted by the monitoring circuit 18 and in particular that it has knowledge for each message of the number of bits (possibly equal to zero) constituting the fixed group CUSTOM user.
  • the analysis tool 24 On reception of a message by the analysis tool 24, the analysis tool 24 therefore knows the position of the fixed user group CUSTOM and can thus analyze all the data present in this group.
  • the optional user groups CTJST_1 to CUST_N being clearly identified by the analysis tool 24, they can be ignored by an analysis tool 24 which would not be suitable for processing them.
  • the nature of the data contained in the CUSTOM fixed user group can possibly be standardized. We can therefore offer users a choice of possible configurations of the fixed user group so as to further standardize the analysis tool 24.
  • Such a group can in particular contain data which are used by the analysis tool 24 to processing optional user groups CUST_1 to CUST_N.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

L'invention concerne un procédé de transmission de messages numériques par un circuit de surveillance (18) de microprocesseur d'un type déterminé et intégré à un microprocesseur (12), chaque message comprenant un identifiant et étant constitué de plusieurs groupes de bits successifs et juxtaposés divisés en segments. Le procédé consiste à transmettre successivement des segments associés à un premier groupe correspondant à l'identifiant et comportant un nombre fixe de bits ; à des deuxièmes groupes, au moins un des deuxièmes groupes comportant un nombre fixe de bits dépendant du type de circuit de surveillance, le nombre des autres deuxièmes groupes étant indépendant du type de circuit de surveillance ; à un troisième groupe comportant un nombre de bits supérieur à l'unité ; et à des quatrièmes groupes comportant chacun un nombre de bits supérieur à l'unité, le nombre de quatrièmes groupes dépendant de l'identifiant et du type de circuit de surveillance.

Description

TRANSMISSION DE MESSAGES NUMERIQUES GENERIQUES PAR UN CIRCUIT DE SURVEILLANCE D'UN MICROPROCESSEUR
La présente invention concerne le test de microprocesseurs. Elle concerne plus particulièrement un procédé et un dispositif de transmission de données numériques entre un circuit de test intégré dans une puce de microprocesseur et un outil d'analyse.
La figure 1 représente de façon schématique un circuit intégré 10 comportant un microprocesseur (μP) 12, une mémoire interne (MEM) 14 et des bornes d'entrée/sortie (I/O) 16. Le microprocesseur 12 est destiné à exécuter un programme ou logiciel stocké dans la mémoire 14. Sous la commande du programme, le microprocesseur 12 peut traiter des données fournies par les bornes d'entrée/sortie 16 ou stockées dans la mémoire 14 et fournir des données par les bornes d'entrée/sortie 16. De façon à vérifier le bon fonctionnement du microprocesseur, on intègre généralement au circuit intégré 10 un circuit de surveillance 18 (TEST) . Le circuit de surveillance 18 est adapté à lire des données spécifiques fournies par le microprocesseur 12 lors du déroulement d'un programme, et à réaliser éventuellement un traitement sur les données lues. Des bornes de surveillance 22 relient le circuit de surveillance 18 à un outil d'analyse 24. L'outil d'analyse 24 peut effectuer un traitement des signaux reçus, par exemple en fonction de commandes fournies par un utilisateur, et assurer une analyse détaillée du fonctionnement du microprocesseur 12. En particulier, l'outil d'analyse 24 peut déterminer la séquence d'instructions du programme réellement exécutée par le microprocesseur 12.
Le nombre de bornes de surveillance 22 pour un circuit de surveillance classique 18 peut être du même ordre de grandeur que le nombre de bornes d'entrée/sortie 16 du microprocesseur 12 par exemple de 200 à 400. Les bornes de surveillance 22 ainsi que les connexions du circuit de surveillance 18 occupent une surface de silicium importante, ce qui entraîne un accroissement indésirable du coût du circuit. Pour cela, une première version du circuit intégré 10 incluant le circuit de surveillance 18 et les bornes de surveillance 22 est produite en petites quantités pour effectuer la mise au point du microprocesseur 12. Après cette mise au point, une version du circuit intégré 10 débarrassée du circuit de surveillance 18 et des bornes de surveillance 22 est commercialisée. Cela implique la réalisation de deux versions du circuit intégré, ce qui demande un travail important et est relativement coûteux. De plus, la puce finale n'est pas identique à la puce testée.
Pour pallier les inconvénients précédemment mentionnés, on cherche à réaliser un circuit de surveillance 18 qui occupe une surface réduite et nécessite seulement un nombre réduit de bornes de surveillance 22, ce qui diminue le coût de revient du circuit de surveillance 18. Le circuit de surveillance 18 peut alors être laissé sur le circuit intégré 10 finalement commercialisé.
On cherche donc à diminuer le nombre de signaux fournis par le circuit de surveillance 18. Pour ce faire, on fait réaliser directement au niveau du circuit de surveillance 18 certaines opérations logiques sur les données mesurées au niveau du microprocesseur 12 de façon à transmettre seulement des messages ayant un contenu informationnel important.
Ainsi, la norme IEEE-ISTO-5001 en préparation propose dans sa version de 1999, accessible par exemple sur le site www.ieee-isto.org/Nexus5001, un protocole particulier d'échanges de messages entre un circuit de surveillance 18 et un outil d'analyse 24 pour un circuit de surveillance 18 ne nécessitant qu'un nombre réduit de bornes de surveillance 22.
La norme IEEE-ISTO-5001 prévoit plusieurs messages standardisés, appelés messages publics, dont les caractéristiques sont fixées une fois pour toute et ne peuvent pas être modifiées par les utilisateurs de la puce 10. Parmi les messages publics, on distingue notamment les messages de suivi de programme et les messages de données. Les messages de suivi de programme fournissent des informations sur l'ordre d'exécution des instructions du programme par le microprocesseur 12. Il s'agit par exemple d'un message indiquant qu'un saut a eu lieu lors du déroulement du programme exécuté par le microprocesseur 12. Les messages de données regroupent les autres messages publics pouvant être transmis par le circuit de surveillance 18 et fournissent notamment des informations sur les données traitées par le microprocesseur 12. Il s ' agit par exemple d'un message indiquant qu'une opération de lecture ou d'écriture d'une donnée dans une zone de la mémoire 14 a été réalisée par le microprocesseur 12.
Chaque message public est constitué d'une succession de bits répartis en plusieurs groupes juxtaposés comprenant un groupe d'entêté et des groupes secondaires, chaque groupe codant une donnée particulière. Le groupe d'entêté correspond à un identifiant du type du message. Il est constitué d'un nombre de bits fixe et identique pour tous les messages publics. Le nombre de groupes secondaires d'un message public donné et la taille de chacun d'entre eux sont fixés par la valeur de l'identifiant du message. A titre d'exemple, dans le cas d'un message de saut, les groupes secondaires peuvent correspondre à une donnée représentative de l'adresse de l'instruction de destination du saut et au nombre d'instructions exécutées par le microprocesseur 12 depuis la dernière transmission d'un message de saut. Dans le cas d'un message indiquant une opération de lecture ou d'écriture d'une donnée, les groupes secondaires peuvent correspondre à l'adresse d'un registre de la mémoire 14 où la donnée est inscrite ou lue et à la valeur de la donnée.
A partir des messages publics, en particulier, à partir des messages de suivi de programme, l'outil d'analyse 24 reconstitue la séquence d'instructions exécutée par le microprocesseur 12. La séquence d' instructions reconstituée peut alors être comparée à une séquence d'instructions théoriquement exécutée par le microprocesseur 12 de façon à déterminer des dysfonctionnements du microprocesseur 12. La norme IEEE-ISTO-5001 prévoit également la possibilité pour les utilisateurs de définir des messages spécifiques pouvant être transmis par le circuit de surveillance 18 en plus des messages publics. Un message spécifique est destiné à être utilisé lorsque aucun des messages publics prévus par la norme ne permet de remplir une fonction souhaitée par l'utilisateur. Un message spécifique comprend, comme un message public, un premier groupe de bits d'entêté correspondant à un identifiant du message spécifique. L'agencement des autres bits du message spécifique ne suit pas de règles particulières et peut varier considérablement d'un utilisateur à un autre. En outre, l'outil d'analyse 24 relié au circuit de surveillance 18 doit comporter des moyens de traitement adaptés au traitement des messages spécifiques.
En pratique, chaque utilisateur souhaite que le circuit de surveillance 18 transmettre des informations particulières qui dépendent notamment de 1 ' architecture qui a été définie pour le microprocesseur 12. L'utilisateur tend alors à privilégier l'utilisation de messages spécifiques par rapport aux messages publics de façon à transmettre exactement 1 ' information désirée. Ceci réduit 1 ' intérêt de la norme IEEE- ISTO-5001 puisqu'en pratique la plupart des messages transmis par le circuit de surveillance 18 ne sont pas des messages publics. Dans ce cas, il est très difficile de prévoir des outils d'analyse 24 pouvant être utilisés de façon interchangeable pour des circuits de surveillance 18 conçus par des utilisateurs différents et qui mettent en oeuvre des messages spécifiques différents.
La présente invention prévoit la transmission de messages adaptables dont la fourniture suit des règles déterminées de façon à pouvoir facilement mettre en oeuvre de nouvelles fonctions sans requérir la définition de messages spécifiques et de façon à permettre d'utiliser des outils d'analyse plus standardisés.
Un avantage de la présente invention est qu'elle fait usage de messages dont la structure est compatible avec celle des messages publics déjà prévus par la norme IEEE-ISTO-5001, ce qui favorise la standardisation susmentionnée.
Pour atteindre cet objet, la présente invention prévoit un procédé de transmission de messages numériques par des bornes de sortie d'un circuit de surveillance de microprocesseur d'un type déterminé parmi plusieurs types de circuits de surveillance et intégré à un microprocesseur, chaque message comprenant un identifiant de message et étant constitué de plusieurs groupes de bits successifs et juxtaposés, les groupes de bits étant divisés en un ou plusieurs segments comportant chacun un nombre de bits déterminé, le procédé consistant à transmettre successivement des segments associés aux groupes de bits successifs et juxtaposés comprenant un premier groupe de bits correspondant à 1 ' identifiant et comportant un nombre fixe de bits quel que soit le type de circuit de surveillance ; des deuxièmes groupes de bits, au moins un des deuxièmes groupes comportant un nombre fixe de bits dépendant de 1 ' identifiant et du type de circuit de surveillance, le nombre des autres deuxièmes groupes dépendant de l'identifiant et étant indépendant du type de circuit de surveillance ; un troisième groupe de bits comportant un nombre de bits supérieur à l'unité et dépendant du message à transmettre ; et des quatrièmes groupes de bits comportant chacun un nombre de bits supérieur à l'unité et dépendant du message à transmettre, le nombre de quatrièmes groupes dépendant de l'identifiant, du type de circuit de surveillance et du message à transmettre.
Selon un mode de réalisation de 1 ' invention, ledit au moins un des deuxièmes groupes est juxtaposé au premier groupe. Selon un mode de réalisation de l'invention, lesdits autres deuxièmes groupes ont un nombre de bits qui dépend de l'identifiant et qui est indépendant du type de circuit de surveillance .
Selon un mode de réalisation de l'invention, lesdits autres deuxièmes groupes ont un nombre de bits supérieur à l'unité qui dépend du message à transmettre.
La présente invention prévoit également un dispositif de transmission de messages numériques par des bornes de sortie d'un circuit de surveillance, d'un type déterminé parmi plusieurs types de circuits de surveillance, intégré à un microprocesseur, chaque message comprenant un identifiant de message, ledit dispositif comportant un moyen de fourniture de groupes de bits successifs et juxtaposés constituant le message, un moyen pour diviser les groupes de bits en un ou plusieurs segments comportant chacun un nombre de bits déterminé et un moyen pour transmettre successivement lesdits segments, le moyen de fourniture de groupes de bits étant adapté à fournir successivement un premier groupe de bits correspondant à l'identifiant et comportant un nombre fixe de bits identique quel que soit le type de circuit de surveillance, des deuxièmes groupes de bits, au moins un desdits deuxièmes groupes comportant un nombre fixe de bits dépendant de l'identifiant et du type de circuit de surveillance, le nombre des autres deuxièmes groupes dépendant de l'identifiant et étant indépendant du type de circuit de surveillance, un troisième groupe de bits comportant un nombre de bits supérieur à l'unité et dépendant du message à transmettre et des quatrièmes groupes de bits comportant chacun un nombre de bits supérieur à l'unité et dépendant du message à transmettre, le nombre de quatrièmes groupes dépendant de 1 ' identifiant et du type de circuit de surveillance déterminé.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1, précédemment décrite, représente, de façon très schématique, l'architecture d'une puce intégrant un microprocesseur et un circuit de surveillance ; et la figure 2 représente un exemple de message fourni par le circuit de surveillance à un outil d'analyse selon la présente invention.
La présente invention prévoit de modifier la structure des messages publics déjà prévus par la norme IEEE-ISTO-5001 de façon à permettre la transmission de messages adaptés aux souhaits d'utilisateurs différents.
La figure 2 représente un message selon l'invention. Les bits sont représentés depuis le bit le moins significatif sur la gauche de la figure jusqu'au bit le plus significatif sur la droite de la figure. Les bits du message sont transmis par le circuit de surveillance 18 dans cet ordre. Le message comprend un premier groupe de bits TCODE correspondant à un nombre fixe de bits identique pour tous les messages. Le premier groupe de bits est égal à un identifiant du message. Ainsi, outre les identifiants déjà prévus par la norme IEEE-ISTO-5001, le groupe d'identifiant peut prendre différentes autres valeurs selon les souhaits des utilisateurs. A titre d'exemple, la norme IEEE- ISTO-SOOl prévoit un groupe d' identifiant fixé à six bits. Selon la présente invention, le nombre de bits du groupe d'identifiant peut éventuellement être augmenté suivant le nombre de messages à prévoir pour satisfaire les souhaits des utilisateurs.
Le groupe d'identifiant TCODE est juxtaposé à un groupe fixe d'utilisateur CUSTOM. Le nombre de bits constituant le groupe fixe d'utilisateur CUSTOM est fixé par l'utilisateur pour chaque valeur possible d'identifiant. Le groupe fixe d'utilisateur CUSTOM peut éventuellement ne comporter aucun bit. Le groupe fixe d'utilisateur CUSTOM peut représenter n'importe quel type de données que l'utilisateur souhaite transmettre à l'outil d'analyse 24. Il peut s'agir de la concaténation de différentes valeurs ou d'une donnée issue d'un traitement effectué par le circuit de surveillance 18.
Le groupe fixe d'utilisateur CUSTOM est suivi de plusieurs groupes obligatoires MAND_1 à MAND_N juxtaposés. Le nombre de groupes obligatoires, le nombre de bits de chaque groupe obligatoire et la nature des données contenues dans chaque groupe obligatoire sont déterminés une fois pour toute pour chaque valeur d'identifiant. Le dernier groupe obligatoire MAND_N d'un message selon l'invention comporte nécessairement un nombre variable de bits, les autres groupes obligatoires pouvant comporter un nombre fixe supérieur à l'unité ou un nombre variable de bits. Un groupe ayant un nombre variable de bits est constitué d'au moins un bit (éventuellement égal à 0) .
Le dernier groupe obligatoire MAD_N est suivi par un ou plusieurs groupes optionnels d'utilisateur CUST_1 à CUSTJS. juxtaposés comportant chacun un nombre de bits variable. Le nombre de groupes optionnels d'utilisateur CUST_1 à CUSTJSF n'est pas défini a priori et peut varier pour un même identifiant et pour un même utilisateur selon des conditions de fonctionnement du microprocesseur 12.
La structure de messages proposée selon la présente invention utilise de façon avantageuse le protocole de transmission de données entre le circuit de surveillance 18 et l'outil d'analyse 24 prévu par la norme IEEE-ISTO-5001. Selon un tel protocole, les bits de groupes successifs comprenant chacun un nombre fixe de bits sont concaténés pour former un paquet unique ayant un nombre fixe de bits. De même, les bits d'un groupe ayant un nombre fixe de bits et les bits d'un groupe ayant un nombre variable de bits qui est juxtaposé et suit le groupe ayant un nombre fixe de bits peuvent également être concaténés pour former un paquet unique ayant un nombre variable de bits. Les paquets ainsi formés sont divisés en segments de n bits, où n est par exemple compris entre 4 et 16, chaque segment étant destiné à être transmis par un bus de n bits. Lorsque le nombre de bits d'un paquet est inférieur à n, tous les bits sont recopiés dans un segment et les bits de poids le plus fort non utilisés du segment reçoivent une valeur prédéterminée, par exemple 0. Lorsque le nombre de bits d'un paquet est supérieur à n, les n bits de poids le plus faible du paquet sont recopiés bit à bit dans un premier segment, puis les n bits suivants de poids le plus faible du paquet sont recopiés bit à bit dans un deuxième segment, et ainsi de suite jusqu'à ce que chaque bit du paquet ait été recopié. Les bits de poids le plus fort non utilisés du dernier segment ainsi formé reçoivent une valeur prédéterminée, par exemple 0. Les segments sont transmis à la suite par le bus à n bits en cadence avec un signal d'horloge propre au circuit de surveillance 18. Pour permettre la reconstruction des paquets de données à partir des segments, il est prévu de transmettre avec chaque segment sur des bornes de test supplémentaires un code de transmission qui permet à 1 'outil d'analyse d' identifier la nature des données contenues dans le segment.
La norme IEEE-ISTO-5001 prévoit des codes de transmission pour identifier : un segment de début de message ; un segment intermédiaire d'un paquet ayant un nombre fixe ou variable de bits ; un segment de fin d'un paquet ayant un nombre variable de bits, lorsqu'un tel paquet est suivi d'un autre paquet du même message ; un segment de fin de message ; et un segment vide correspondant à une période d' inactivité entre deux messages.
La position des groupes optionnels d'utilisateur CUST_1 à CUST_N dans le message transmis utilise avantageusement le protocole précédemment décrit puisque l'outil d'analyse 24 n'a pas besoin de connaître au préalable le nombre de groupes optionnels d'utilisateur CUST_1 à CUST_N présents dans le message. En effet, les groupes optionnels d'utilisateur CUST_1 à CUST_N sont des groupes ayant un nombre variable de bits placés en fin du message. Lorsque des groupes optionnels d'utilisateur sont présents, un code d'identification spécifique indiquant un segment de fin d'un groupe optionnel d'utilisateur est donc fourni par le circuit de surveillance 18 entre chaque groupe optionnel lors de la transmission des groupes optionnels d'utilisateur CUST_1 à CUST_N. Ceci permet à l'outil d'analyse 24 de compter les groupes optionnels d'utilisateur lors de la réception du message.
La présente invention permet en outre de modifier la composition des messages à transmettre afin de les adapter aux souhaits des utilisateurs tout en permettant la transmission des messages publics déjà prévus par la norme IEEE-ISTO-5001. La position des groupes dans un message étant fixée pour tous les messages selon 1 ' invention pouvant être transmis par le circuit de surveillance 18 à l'outil d'analyse 24, il est possible de standardiser au maximum les algorithmes de calcul des outils d'analyse pour le traitement des messages reçus. Un fichier de configuration est transmis à 1 'outil d' analyse 24 de façon qu' il ait connaissance des messages pouvant être transmis par le circuit de surveillance 18 et en particulier qu'il ait connaissance pour chaque message du nombre de bits (éventuellement égal à zéro) constituant le groupe fixe d'utilisateur CUSTOM. Lors de la réception d'un message par l'outil d'analyse 24, l'outil d'analyse 24 connaît donc la position du groupe fixe d'utilisateur CUSTOM et peut ainsi analyser toutes les données présentes dans ce groupe. Les groupes optionnels d'utilisateur CTJST_1 à CUST_N étant clairement identifiés par l'outil d'analyse 24, ils peuvent être ignorés par un outil d'analyse 24 qui ne serait pas adapté à les traiter.
La nature des données contenues dans le groupe fixe d'utilisateur CUSTOM peut éventuellement être standardisée. On peut donc proposer aux utilisateurs un choix de configurations possibles du groupe fixe d'utilisateur de façon à standardiser davantage l'outil d'analyse 24. Un tel groupe peut notamment contenir des données qui sont utilisées par l'outil d'analyse 24 pour le traitement des groupes optionnels d'utilisateur CUST_1 à CUST_N.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, on peut maintenir la possibilité aux utilisateurs de définir des messages spécifiques en plus des messages selon la présente invention.

Claims

REVENDICATIONS
1. Procédé de transmission de messages numériques par des bornes de sortie (22) d'un circuit de surveillance (18) de microprocesseur d'un type déterminé parmi plusieurs types de circuits de surveillance et intégré à un microprocesseur (12) , chaque message comprenant un identifiant de message et étant constitué de plusieurs groupes de bits successifs et juxtaposés, les groupes de bits étant divisés en un ou plusieurs segments comportant chacun un nombre de bits déterminé, le procédé consistant à transmettre successivement des segments associés aux groupes de bits successifs et juxtaposés suivants : un premier groupe de bits correspondant à l'identifiant et comportant un nombre fixe de bits quel que soit le type de circuit de surveillance ; des deuxièmes groupes de bits, au moins un des deuxièmes groupes comportant un nombre fixe de bits dépendant de l'identifiant et du type de circuit de surveillance, le nombre des autres deuxièmes groupes dépendant de 1 ' identifiant et étant indépendant du type de circuit de surveillance ; un troisième groupe de bits comportant un nombre de bits supérieur à l'unité et dépendant du message à transmettre ; et des quatrièmes groupes de bits comportant chacun un nombre de bits supérieur à l'unité et dépendant du message à transmettre, le nombre de quatrièmes groupes dépendant de l'identifiant, du type de circuit de surveillance et du message à transmettre.
2. Procédé selon la revendication 1, dans lequel ledit au moins un des deuxièmes groupes est juxtaposé au premier groupe.
3. Procédé selon la revendication 1, dans lequel chacun desdits autres deuxièmes groupes a un nombre de bits qui dépend de l'identifiant et qui est indépendant du type de circuit de surveillance.
4. Procédé selon la revendication 1, dans lequel chacun desdits autres deuxièmes groupes a un nombre de bits supérieur à l'unité qui dépend du message à transmettre.
5. Dispositif de transmission de messages numériques par des bornes de sortie (22) d'un circuit de surveillance (18) , d'un type déterminé parmi plusieurs types de circuits de surveillance, intégré à un microprocesseur (12) , chaque message comprenant un identifiant de message, ledit dispositif comportant un moyen de fourniture de groupes de bits successifs et juxtaposés constituant le message, un moyen pour diviser les groupes de bits en un ou plusieurs segments comportant chacun un nombre de bits déterminé, et un moyen pour transmettre successivement lesdits segments, le moyen de fourniture de groupes de bits étant adapté à fournir successivement un premier groupe de bits correspondant à l'identifiant et comportant un nombre fixe de bits identique quel que soit le type de circuit de surveillance, des deuxièmes groupes de bits, au moins un desdits deuxièmes groupes comportant un nombre fixe de bits dépendant de 1 ' identifiant et du type de circuit de surveillance, le nombre des autres deuxièmes groupes dépendant de 1 ' identifiant et étant indépendant du type de circuit de surveillance, un troisième groupe de bits comportant un nombre de bits supérieur à l'unité et dépendant du message à transmettre et des quatrièmes groupes de bits comportant chacun un nombre de bits supérieur à l'unité et dépendant du message à transmettre, le nombre de quatrièmes groupes dépendant de 1 ' identifiant et du type de circuit de surveillance déterminé .
EP02785558A 2002-10-29 2002-10-29 Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur Withdrawn EP1556765A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2002/003723 WO2004042576A1 (fr) 2002-10-29 2002-10-29 Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur

Publications (1)

Publication Number Publication Date
EP1556765A1 true EP1556765A1 (fr) 2005-07-27

Family

ID=32309749

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02785558A Withdrawn EP1556765A1 (fr) 2002-10-29 2002-10-29 Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur

Country Status (4)

Country Link
US (2) US20060026313A1 (fr)
EP (1) EP1556765A1 (fr)
JP (1) JP4389786B2 (fr)
WO (1) WO2004042576A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214469B2 (en) * 2006-04-06 2012-07-03 Qwest Communications International Inc. Multiple use of common perspectives
WO2010036288A2 (fr) * 2008-04-30 2010-04-01 Alexander Poltorak Réseau de communications sans fil à services multi-niveaux
JP5312162B2 (ja) * 2009-04-10 2013-10-09 キヤノン株式会社 情報処理装置、管理サーバ、情報処理方法、及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE470031B (sv) * 1991-06-20 1993-10-25 Icl Systems Ab System och metod för övervakning och förändring av driften av ett datorsystem
US5237684A (en) * 1991-08-12 1993-08-17 International Business Machines Corporation Customized and versatile event monitor within event management services of a computer system
US5996092A (en) * 1996-12-05 1999-11-30 International Business Machines Corporation System and method for tracing program execution within a processor before and after a triggering event
EP1184790B1 (fr) 1997-04-08 2009-11-25 Advanced Micro Devices, Inc. Mémoire cache pour traces dans un dispositif à microprocesseur
US6167536A (en) * 1997-04-08 2000-12-26 Advanced Micro Devices, Inc. Trace cache for a microprocessor-based device
JP3277900B2 (ja) * 1998-09-30 2002-04-22 日本電気株式会社 プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6332117B1 (en) * 1998-10-22 2001-12-18 International Business Machines Corporation General event stamping scheme
US6519766B1 (en) * 1999-06-15 2003-02-11 Isogon Corporation Computer program profiler

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004042576A1 *

Also Published As

Publication number Publication date
JP2006504203A (ja) 2006-02-02
US20090006898A1 (en) 2009-01-01
WO2004042576A1 (fr) 2004-05-21
JP4389786B2 (ja) 2009-12-24
US7602810B2 (en) 2009-10-13
US20060026313A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
FR2936384A1 (fr) Dispositif d'echange de donnees entre composants d'un circuit integre
FR2689264A1 (fr) Procédé d'authentification accompli entre une carte à circuit intégré et une unité terminale et système prévu dans ce but.
EP0889429B1 (fr) Lecteur de cartes à puces à protocole de transmission rapide
FR2747209A1 (fr) Police de lettres creuses a restitution progressive et ses procedes de creation, transmission et restitution
FR2969451A1 (fr) Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert
EP0027851A1 (fr) Système pour commander la durée de l'intervalle de temps entre blocs de données dans un système de communication calculateur à calculateur
EP1556765A1 (fr) Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur
EP0540427A1 (fr) Circuit d'interface pour carte à circuit intégré
EP1554656B1 (fr) Protocole de transmission de messages numeriques
EP1556767B1 (fr) Correlation temporelle de messages transmis par un circuit de surveillance d'un microprocesseur
FR2790892A1 (fr) Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau
EP1576476B1 (fr) Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties
FR2865292A1 (fr) Procede d'arbitrage hierarchise
FR2685838A1 (fr) Procede pour verifier la conformite a une norme d'une cellule representative d'un circuit dedie a la gestion d'un protocole de communication, et systeme pour sa mise en óoeuvre.
EP1556766B1 (fr) Surveillance d'un programme de microprocesseur par envoi de messages reperables dans le temps
EP1164487B1 (fr) Dispositif de reproduction fonctionnelle d'un circuit intégré spécifique et son utilisation comme dispositif d'émulation
EP1554653A1 (fr) Transmission de messages numeriques de repetition entre un circuit de surveillance de microprocesseur et un outil d'analyse
EP1330781A1 (fr) Circuit de detection et de mise en forme de trames de donnees
EP1599801A1 (fr) Transmission d'un message numerique entre un circuit de surveillance d'un microprocesseur et un outil d'analyse
WO2004049163A1 (fr) Dispositif de surveillance a memoire tampon optimisee
FR2828568A1 (fr) Methode et dispositif d'identification des dispositifs connectes a un reseau de communication
EP1436712B1 (fr) Recepteur de donnees asynchrones comprenant des moyens de basculement en un mode veille
EP0859312B1 (fr) Procédé d'utilisation en réseau d'un processeur de logique floue, et processeur de logique floue utilisable en réseau
EP1436714A1 (fr) Recepteur asynchrone de type uart a deux modes de fonctionnement
FR3102902A1 (fr) Procede et module pour la regulation de la connectivite d’objets connectes

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050519

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

RBV Designated contracting states (corrected)

Designated state(s): DE ES FR GB IT

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20120322