EP1576476B1 - Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties - Google Patents
Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties Download PDFInfo
- Publication number
- EP1576476B1 EP1576476B1 EP02788058A EP02788058A EP1576476B1 EP 1576476 B1 EP1576476 B1 EP 1576476B1 EP 02788058 A EP02788058 A EP 02788058A EP 02788058 A EP02788058 A EP 02788058A EP 1576476 B1 EP1576476 B1 EP 1576476B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- microprocessor
- monitoring circuit
- circuit
- transmitting
- request
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Definitions
- the present invention relates to microprocessor testing. It relates more particularly to a method and a device for transmitting digital data between a monitoring 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 (I / O) terminals 16.
- the microprocessor 12 is intended to execute a program or software stored in the memory 14. Under the control of the program, the microprocessor 12 can process data provided by the input / output terminals 16 or stored in the memory 14 and read or write data through the input terminals / exit 16.
- a monitoring circuit 18 is generally integrated in the integrated circuit 10.
- the monitoring circuit 18 is adapted to read specific data provided by the microprocessor 12 during the course of a program, and possibly to perform a processing on the data read.
- Test terminals 22 connect the monitoring circuit 18 to a analysis tool 24.
- the analysis tool 24 can perform a processing of the received signals, for example according to commands provided by a user, and provide a detailed analysis of the operation of the microprocessor 12.
- the analysis 24 can determine the instruction sequence of the program actually executed by the microprocessor 12.
- the number of test terminals 22 may be of the same order of magnitude as the number of input / output terminals 16, for example 200 to 400 terminals.
- the test terminals 22 and the connections of the monitoring circuit 18 occupy a large 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 test terminals 22 is produced in small quantities for debugging the program of the microprocessor 12 or "user program".
- a version of the integrated circuit 10 cleared of the monitoring circuit 18 and the test terminals 22 is marketed. This involves the realization of two versions of the integrated circuit, which requires significant work and is relatively expensive.
- the final chip is not necessarily identical to the chip tested.
- monitoring circuit 18 which occupies a reduced area and only requires a reduced number of test terminals 22, which reduces the cost of the monitoring circuit.
- the monitoring circuit 18 can then be left on the integrated circuit 10 finally marketed.
- the IEEE-ISTO-5001 standard currently being prepared proposes in its 1999 version, accessible for example on the website www.ieee-isto.org/Nexus5001, a particular protocol for the exchange of messages between a monitoring circuit and a tool. analysis system for a monitoring circuit 18 requiring only a small number of test terminals 22.
- a message indicates for example that a jump has taken place during the course of the program executed by the microprocessor 12.
- Another message may indicate the fact that the microprocessor 12 performs a read or write operation, for example an operation of reading or writing data in an area of the memory 14. From the messages transmitted by the monitoring circuit 18, the tool The reconstituted instruction sequence can then be compared to a sequence of instructions theoretically executed by the microprocessor 12 so as to determine malfunctions of the microprocessor 12.
- the present invention aims to obtain a device and a method for transmitting messages between a test circuit and an analysis tool for the transmission of messages representative of events that are not related to the execution of the program by the microprocessor.
- the present invention further aims to obtain a device and a message transmission method that cause the least possible modifications of the monitoring circuit provided by the IEEE-ISTO-5001 standard.
- the microprocessor provides a method of transmitting digital messages via output terminals of a microprocessor integrated monitoring circuit, digital messages being representative of specific first events dependent on the execution of a sequence of instructions.
- the microprocessor comprising the steps of transmitting to the monitoring circuit by dedicated accesses a request signal for sending a message associated with a specific event among specific second events independent of the execution of the sequence of events. instructions by the microprocessor and a characteristic data signal associated with said specific event; causing the monitoring circuit to read said request message and, if resource management conditions are met, to issue an acknowledgment message by dedicated access and to store said characteristic data signal; and transmitting a digital message representative of the stored characteristic data signal.
- resource management conditions are fulfilled when the monitoring circuit is not transmitting messages representative of the first specific events.
- the digital message representative of the stored data signal comprises an identifier and the characteristic data signal.
- the characteristic data signal corresponds to the values on input terminals of the microprocessor.
- the present invention also provides a device for transmitting digital messages between a microprocessor-integrated monitoring circuit and an analysis tool, first digital messages being representative of specific first events depending on the execution of a sequence of instructions. by the microprocessor.
- the device comprises means for detecting a specific event among specific second events independent of the execution of the sequence of instructions by the microprocessor; request transmission means for transmitting to the monitoring circuit, when a specific event is detected, a request signal and a characteristic data signal associated with said specific event.
- the monitoring circuit comprises means for storing the characteristic data signal provided by the request transmission means, means for transmitting to the request transmission means an acknowledgment signal when the data signal characteristics is stored, and means for transmitting a digital message from said stored characteristic data signal.
- the detection means, the request transmission means, the monitoring circuit and the microprocessor are integrated in the same chip.
- the detection means is connected to input terminals of the microprocessor.
- FIG. 2 represents an exemplary embodiment of a chip 10 according to the invention integrating a request circuit 26 (HEVENT) and an interface circuit 28 (INT).
- the interface circuit 28 is connected to the input / output terminals 16 and to the microprocessor 12.
- the interface circuit 28 is adapted to shape the signals received from the input / output terminals 16 so that they are exploitable by the microprocessor 12 and to shape the signals provided by the microprocessor 12 before they are sent out of the chip 10.
- the interface circuit 28 provides via a link 29 to the request circuit 26 signals which may correspond to a particular selection of some of the signals of the input / output terminals 16.
- the request circuit 26 also receives signals directly from the microprocessor 12. Such signals may indicate, for example, the execution of a particular instruction by the microprocessor 12.
- the request circuit 26 exchanges signals with the monitoring circuit 18 via a link 30.
- the interface circuit 28 is not integrated with the chip 10.
- the request circuit 26 is then directly connected to some of the input / output terminals 16.
- FIG. 3 represents a more detailed example of the signals exchanged on the link 30 between the request circuit 26 and the monitoring circuit 18.
- the request circuit 26 is adapted to transmit to the monitoring circuit 18 a request signal Rq on a first one-bit line and a DATA bit signal on N 1-bit lines forming a data bus.
- the request circuit 26 can transmit, on each of the lines constituting the data bus, a signal present on one of the input / output terminals 16.
- the data signal DATA can also be derived from preprocessing signals present on the input / output terminals 16 made by the interface circuit 28.
- certain bits of the signal DATA may correspond to a particular identifier, while the other bits of the message DATA can correspond to some of the signals received by the input / output terminals 16.
- the most significant bits of the DATA signal are not transmitted when they are null so as to reduce the amount of data exchanged. .
- the monitoring circuit 18 is adapted to transmit to the analysis tool 24 a message from the data signal DATA.
- the message may comprise an identifier, indicating that the message is related to the occurrence of an event that is not related to the execution of the program by the microprocessor 12, and the data signal DATA.
- the monitoring circuit 18 is adapted to transmit to the request circuit 26 an acknowledgment signal Ack on a second one-bit line.
- FIG. 4 represents a timing diagram of the signals exchanged between the request circuit 26 and the monitoring circuit 18 according to the embodiment of FIG. 3.
- the request circuit 26 receives a clock signal CLK which is also provided to the microprocessor 12 and to the monitoring circuit 18.
- CLK clock signal
- the request circuit 26 sets high the request signal Rq and maintains stable on the data bus a specific value of the data signal DATA associated with the event.
- the monitoring circuit 18 samples at the clock rate CLK the request signal Rq and the data signal DATA on the data bus.
- the monitoring circuit 18 When a high state of the request signal Rq is detected, the monitoring circuit 18 is warned that it must transmit a message in relation to the value of the data signal DATA present on the data bus.
- the storage of the data signal DATA by the monitoring circuit 18 is carried out at the same clock cycle as the detection of the high state of the request signal Rq or at a subsequent clock cycle according to the workload of the circuit. 18.
- the monitoring circuit 18 sets high the acknowledgment signal Ack.
- the request circuit 26 samples the acknowledgment signal Ack high, the request circuit 26 lowers the request signal Rq and stops the maintenance of the specific value of the DATA data signal on the data bus. The request circuit can then, at a subsequent clock cycle, re-send the request signal Rq high if an event corresponding to a message to be transmitted by the monitoring circuit 18 occurs.
- request signals Rq and acknowledgment Ack makes it possible to prevent additional messages, associated with events that are not linked to the execution of the program by the microprocessor 12, to be transmitted by the control circuit.
- monitoring 18 do not modify the normal operation of the monitoring circuit. Indeed, as long as the monitoring circuit 18 is busy transmitting to the analysis tool 24 messages determined from data provided by the microprocessor 12, in particular according to the IEEE-ISTO-5001 standard, it does not transmit an acknowledgment signal Ack to the request circuit 26 even if the request signal is at the high level .
- the request circuit 26 then maintains the value of the DATA data signal present on the data bus.
- the request circuit 26 may comprise a buffer area in which a plurality of DATA data to be transmitted to the monitoring circuit 18 may be stored until the monitoring circuit 18 is available. Since, in general, the request circuit 26 transmits new values of the data signal DATA to the monitoring circuit 18 only at a low frequency with respect to the message transmission frequency by the monitoring circuit 18. , the size of such a buffer zone may be relatively small.
- FIG. 5 represents a more detailed exemplary embodiment of the request circuit 26 of FIGS. 2 and 3.
- the request circuit 26 comprises a state machine 32 (STATE MACHINE) receiving input data In1, In2, In3, provided for example by the interface circuit 28. As for example, three entries are shown.
- the state machine 32 supplies the monitoring circuit 18 with a state signal STATE comprising, for example, four bits. To these four bits are added the values of the three inputs In1, In2, In3 to form the state signal DATA transmitted to the monitoring circuit 18.
- the data signal DATA is also supplied to a logic circuit 34 (TRIGGER) which is adapted transmitting the request signal Rq to the monitoring circuit 18 and receiving the acknowledgment signal Ack from the monitoring circuit 18.
- TONEYGER logic circuit 34
- the logic circuit 34 provides a request signal Rq only for specific STATE state signals from the set of state signals that can be supplied by the state machine 32.
- the value of the data signal DATA is therefore read by the monitoring circuit 18 only when the STATE status signal is equal to one of the specific status signal values.
- the logic circuit 34 may be programmable so as to be able to modify the specific values of state signals STATE of the state machine 32 for which a request signal Rq is transmitted to the monitoring circuit 18.
- Configuration registers of the logic circuit 34 can be programmed by the analysis tool 24 via the monitoring circuit 18.
- the request circuit may not be integrated with the chip comprising the microprocessor and the monitoring circuit.
- the monitoring circuit is then connected by dedicated terminals to the request circuit realized outside the chip.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
- 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 surveillance 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 lire ou écrire 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 test 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 test 22 peut être du même ordre de grandeur que le nombre de bornes d'entrée/sortie 16, par exemple 200 à 400 bornes. Les bornes de test 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 test 22 est produite en petites quantités pour effectuer la mise au point du programme du microprocesseur 12 ou "programme utilisateur". 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 test 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 forcément 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 test 22, ce qui diminue le coût de revient du circuit de surveillance. 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 et un outil d'analyse pour un circuit de surveillance 18 ne nécessitant qu'un nombre réduit de bornes de test 22.
- Parmi les messages fournis par le circuit de surveillance 18 selon la norme IEEE-ISTO-5001, un message indique par exemple qu'un saut a eu lieu lors du déroulement du programme exécuté par le microprocesseur 12. Un autre message peut indiquer le fait que le microprocesseur 12 exécute une opération de lecture ou d'écriture, par exemple une opération de lecture ou d'écriture d'une donnée dans une zone de la mémoire 14. A partir des messages transmis par le circuit de surveillance 18, 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.
- Il y a toutefois certains événements qui ne correspondent pas à des instructions particulières du programme exécuté par le microprocesseur 12 ou qui n'entraînent pas de modifications dans l'exécution du programme par le microprocesseur 12. Il s'agit, par exemple, dans le cas d'une application en téléphonie mobile, de l'extinction automatique d'un écran d'un téléphone portable commandée par un signal de contrôle spécifique qui n'est pas fourni par le microprocesseur 12 du téléphone portable. De tels événements ne sont généralement pas décelés par le circuit de surveillance 18 et n'entraînent donc pas la transmission de messages par le circuit de surveillance 18 à l'outil d'analyse 24. Il s'agit également par exemple de signaux particuliers produits par les circuits internes du microprocesseur 12.
- Il serait souhaitable que l'outil d'analyse 24 puisse indiquer à l'utilisateur que de tels événements ont eu lieu. En effet, de tels événements peuvent apporter une aide lors du diagnostic de dysfonctionnements du microprocesseur 12.
- La présente invention vise à obtenir un dispositif et un procédé de transmission de messages entre un circuit de test et un outil d'analyse permettant la transmission de messages représentatifs d'événements qui ne sont pas liés à l'exécution du programme par le microprocesseur.
- La présente invention vise en outre à obtenir un dispositif et un procédé de transmission de messages qui entraînent le moins de modifications possible du circuit de surveillance prévu par la norme IEEE-ISTO-5001.
- Dans ce but, elle prévoit un procédé de transmission de messages numériques par des bornes de sortie d'un circuit de surveillance intégré à un microprocesseur, des messages numériques étant représentatifs de premiers événements spécifiques dépendant de l'exécution d'une suite d'instructions par le microprocesseur, comprenant les étapes consistant à transmettre au circuit de surveillance par des accès dédiés un signal de requête pour l'envoi d'un message associé à un événement spécifique parmi des seconds événements spécifiques indépendants de l'exécution de la suite d'instructions par le microprocesseur et un signal de données caractéristiques associées audit événement spécifique ; amener le circuit de surveillance à lire ledit message de requête et, si des conditions de gestion de ressources sont remplies, à émettre par un accès dédié un message d'accusé de réception et à mémoriser ledit signal de données caractéristiques ; et transmettre un message numérique représentatif du signal de données caractéristiques mémorisé.
- Selon un mode de réalisation de l'invention, les conditions de gestion de ressources sont remplies lorsque le circuit de surveillance n'est pas en train de transmettre des messages représentatifs des premiers événements spécifiques.
- Selon un mode de réalisation de l'invention, le message numérique représentatif du signal de données mémorisé comprend un identifiant et le signal de données caractéristiques.
- Selon un mode de réalisation de l'invention, le signal de données caractéristiques correspond aux valeurs sur des bornes d'entrée du microprocesseur.
- La présente invention prévoit également un dispositif de transmission de messages numériques entre un circuit de surveillance intégré à un microprocesseur et un outil d'analyse, des premiers messages numériques étant représentatifs de premiers événements spécifiques dépendant de l'exécution d'une suite d'instructions par le microprocesseur. Le dispositif comporte un moyen de détection d'un événement spécifique parmi des seconds événements spécifiques indépendants de l'exécution de la suite d'instructions par le microprocesseur ; un moyen d'émission de requête pour transmettre au circuit de surveillance, lorsqu'un événement spécifique est détecté, un signal de requête et un signal de données caractéristiques associé audit événement spécifique. De plus, le circuit de surveillance comprend un moyen de mémorisation du signal de données caractéristiques fourni par le moyen d'émission de requête, un moyen pour transmettre au moyen d'émission de requête un signal d'accusé de réception lorsque le signal de données caractéristiques est mémorisé, et un moyen pour transmettre un message numérique à partir dudit signal de données caractéristiques mémorisé.
- Selon un mode de réalisation de l'invention, le moyen de détection, le moyen d'émission de requête, le circuit de surveillance et le microprocesseur sont intégrés dans une même puce.
- Selon un mode de réalisation de l'invention, le moyen de détection est relié à des bornes d'entrée du microprocesseur.
- 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 classique intégrant un microprocesseur et un circuit de surveillance ;
- la figure 2 représente, de façon très schématique, un exemple de réalisation d'architecture d'une puce selon l'invention ;
- la figure 3 représente un détail de la figure 2 ;
- la figure 4 représente un chronogramme de signaux caractéristiques du procédé de transmission de messages selon l'invention ; et
- la figure 5 représente un mode de réalisation particulier du système de la figure 3.
- La figure 2 représente un exemple de réalisation d'une puce 10 selon l'invention intégrant un circuit de requête 26 (HEVENT) et un circuit d'interface 28 (INT). Le circuit d'interface 28 est relié aux bornes d'entrée/sortie 16 et au microprocesseur 12. Le circuit d'interface 28 est adapté à mettre en forme les signaux reçus depuis les bornes d'entrée/sortie 16 pour qu'ils soient exploitables par le microprocesseur 12 et à mettre en forme les signaux fournis par le microprocesseur 12 avant leur émission hors de la puce 10.
- Le circuit d'interface 28 fournit par une liaison 29 au circuit de requête 26 des signaux qui peuvent correspondre à une sélection particulière de certains des signaux des bornes d'entrée/sortie 16. Le circuit de requête 26 reçoit également des signaux directement du microprocesseur 12. De tels signaux peuvent indiquer par exemple l'exécution d'une instruction particulière par le microprocesseur 12. Finalement, le circuit de requête 26 échange des signaux avec le circuit de surveillance 18 par une liaison 30.
- Selon une variante de l'invention, le circuit d'interface 28 n'est pas intégré à la puce 10. Le circuit de requête 26 est alors directement connecté à certaines des bornes d'entrée/sortie 16.
- La figure 3 représente un exemple plus détaillé des signaux échangés sur la liaison 30 entre le circuit de requête 26 et le circuit de surveillance 18. Selon le présent exemple de réalisation, le circuit de requête 26 est adapté à transmettre au circuit de surveillance 18 un signal de requête Rq sur une première ligne à un bit et un signal de données binaires DATA sur N lignes à 1 bit formant un bus de données. A titre d'exemple, le circuit de requête 26 peut émettre, sur chacune des lignes constituant le bus de données, un signal présent sur l'une des bornes d'entrée/sortie 16. Le signal de données DATA peut également être issu d'un traitement préalable de signaux présents sur les bornes d'entrée/sortie 16 réalisé par le circuit d'interface 28. A titre d'exemple, certains bits du signal DATA peuvent correspondre à un identifiant particulier, tandis que les autres bits du message DATA peuvent correspondre à certains des signaux reçus par les bornes d'entrée/sortie 16. De façon générale, les bits de poids le plus fort du signal DATA ne sont pas transmis lorsqu'ils sont nuls de façon à réduire la quantité de données échangée.
- Le circuit de surveillance 18 est adapté à transmettre à l'outil d'analyse 24 un message à partir du signal de données DATA. Le message peut comprendre un identifiant, indiquant que le message est relatif à la survenue d'un événement qui n'est pas lié à l'exécution du programme par le microprocesseur 12, et le signal de données DATA. Le circuit de surveillance 18 est adapté à transmettre au circuit de requête 26 un signal d'accusé de réception Ack sur une seconde ligne à un bit.
- La figure 4 représente un chronogramme des signaux échangés entre le circuit de requête 26 et le circuit de surveillance 18 selon l'exemple de réalisation de la figure 3. Le circuit de requête 26 reçoit un signal d'horloge CLK qui est également fourni au microprocesseur 12 et au circuit de surveillance 18. Lorsque le circuit de requête 26 reçoit des signaux du circuit d'interface 28 indiquant qu'il s'est produit un événement pour lequel le circuit de surveillance 18 doit transmettre un message à l'outil d'analyse 24, le circuit de requête 26 met à l'état haut le signal de requête Rq et maintient stable sur le bus de données une valeur spécifique du signal de données DATA associée à l'événement. Le circuit de surveillance 18 échantillonne à la fréquence d'horloge CLK le signal de requête Rq et le signal de données DATA sur le bus de données. Lorsqu'un état haut du signal de requête Rq est détecté, le circuit de surveillance 18 est prévenu qu'il doit transmettre un message en relation avec la valeur du signal de données DATA présentes sur le bus de données. La mémorisation du signal de données DATA par le circuit de surveillance 18 est réalisée au même cycle d'horloge que la détection de l'état haut du signal de requête Rq ou à un cycle d'horloge ultérieur selon la charge de travail du circuit de surveillance 18. Lorsque la mémorisation est effectuée, le circuit de surveillance 18 met à l'état haut le signal d'accusé de réception Ack. Lorsqu'au cycle d'horloge suivant, le circuit de requête 26 échantillonne le signal d'accusé de réception Ack à l'état haut, le circuit de requête 26 met à l'état bas le signal de requête Rq et cesse le maintien de la valeur spécifique du signal de données DATA sur le bus de données. Le circuit de requête peut alors, à un cycle d'horloge ultérieur, mettre à nouveau le signal de requête Rq à l'état haut si un événement correspondant à un message à émettre par le circuit de surveillance 18 se produit.
- L'utilisation de signaux de requête Rq et d'accusé de réception Ack permet d'éviter que les messages supplémentaires, associés à des événements qui ne sont pas liés à l'exécution du programme par le microprocesseur 12, à transmettre par le circuit de surveillance 18 ne modifient le fonctionnement normal du circuit de surveillance. En effet, tant que le circuit de surveillance 18 est occupé à transmettre à l'outil d'analyse 24 des messages déterminés à partir de données fournies par le microprocesseur 12, notamment selon la norme IEEE-ISTO-5001, il ne transmet pas de signal d'accusé de réception Ack au circuit de requête 26 même si le signal de requête est au niveau haut. Le circuit de requête 26 maintient alors la valeur du signal de données DATA présentes sur le bus de données. Le circuit de requête 26 peut comprendre une zone de mémoire tampon dans laquelle plusieurs données DATA à transmettre au circuit de surveillance 18 peuvent être stockées tant que le circuit de surveillance 18 n'est pas disponible. Etant donné que, de façon générale, le circuit de requête 26 ne transmet de nouvelles valeurs du signal de données DATA au circuit de surveillance 18 qu'à une faible fréquence par rapport à la fréquence d'émission de messages par le circuit de surveillance 18, la taille d'une telle zone mémoire tampon peut être relativement réduite.
- La figure 5 représente un exemple de réalisation plus détaillé du circuit de requête 26 des figures 2 et 3.
- Le circuit de requête 26, selon cet exemple de réalisation, comprend une machine d'états 32 (STATE MACHINE) recevant des données d'entrée In1, In2, In3, fournies par exemple par le circuit d'interface 28. A titre d'exemple, trois entrées sont représentées. La machine d'états 32 fournit au circuit de surveillance 18 un signal d'état STATE comportant par exemple quatre bits. A ces quatre bits sont ajoutées les valeurs des trois entrées In1, In2, In3 pour former le signal d'état DATA transmis au circuit de surveillance 18. Le signal de données DATA est également fourni à un circuit logique 34 (TRIGGER) qui est adapté à transmettre au circuit de surveillance 18 le signal de requête Rq et recevoir du circuit de surveillance 18 le signal d'accusé de réception Ack.
- Le circuit logique 34 fournit un signal de requête Rq seulement pour des signaux d'états STATE spécifiques parmi l'ensemble des signaux d'états pouvant être fournis par la machine d'états 32. La valeur du signal de données DATA est donc lue par le circuit de surveillance 18 uniquement lorsque le signal d'état STATE est égal à l'une des valeurs spécifiques de signal d'état.
- Le circuit logique 34 peut être programmable de façon à pouvoir modifier les valeurs spécifiques de signaux d'états STATE de la machine d'états 32 pour lesquelles un signal de requête Rq est transmis au circuit de surveillance 18. A titre d'exemple, des registres de configuration du circuit logique 34 peuvent être programmés par l'outil d'analyse 24 par l'intermédiaire du circuit de surveillance 18.
- La présente invention présente de nombreux avantages :
- Premièrement, elle permet la prise en compte par le circuit de surveillance de données pour la transmission à l'outil d'analyse de messages caractéristiques d'événements qui ne sont pas liés au fonctionnement du microprocesseur.
- Deuxièmement, elle permet de modifier le moins possible la structure du circuit de surveillance prévue par la norme IEEE-ISTO-5001.
- Troisièmement, l'utilisation de signaux de requête et d'accusé de réception permet au circuit de test de ne traiter les données fournies par le circuit de requête seulement lorsqu'il a transmis tous les messages définis à partir de données transmises directement par le microprocesseur.
- Quatrièmement, dans le cas où le circuit de surveillance a une activité trop importante pour transmettre à l'outil d'analyse des messages à partir des signaux de données fournies par le circuit de la requête, le circuit de requête peut éventuellement stocker les valeurs des signaux de données.
- Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. Par exemple, le circuit de requête peut ne pas être intégré à la puce comportant le microprocesseur et le circuit de surveillance. Le circuit de surveillance est alors relié par des bornes dédiées au circuit de requête réalisé hors de la puce.
Claims (7)
- Procédé de transmission de messages numériques par des bornes de sortie (22) d'un circuit de surveillance (18) intégré à un microprocesseur (12), des messages numériques étant représentatifs de premiers événements spécifiques dépendant de l'exécution d'une suite d'instructions par le microprocesseur, caractérisé en ce qu'il comprend les étapes suivantes :- transmettre au circuit de surveillance par des accès dédiés un signal de requête (Rq) pour l'envoi d'un message associé à un événement spécifique parmi des seconds événements spécifiques indépendants de l'exécution de la suite d'instructions par le microprocesseur et un signal de données caractéristiques (DATA) associées audit événement spécifique ;- amener le circuit de surveillance à lire ledit message de requête et, si des conditions de gestion de ressources sont remplies, à émettre par un accès dédié un message d'accusé de réception (Ack) et à mémoriser ledit signal de données caractéristiques ; et- transmettre un message numérique représentatif du signal de données caractéristiques mémorisé.
- Procédé selon la revendication 1, dans lequel les conditions de gestion de ressources sont remplies lorsque le circuit de surveillance (18) n'est pas en train de transmettre des messages représentatifs des premiers événements spécifiques.
- Procédé selon la revendication 1, dans lequel le message numérique représentatif du signal de données mémorisé comprend un identifiant et le signal de données caractéristiques (DATA).
- Procédé selon la revendication 1, dans lequel le signal de données caractéristiques (DATA) correspond aux valeurs sur des bornes d'entrée (16) du microprocesseur (12).
- Dispositif de transmission de messages numériques entre un circuit de surveillance (18) intégré à un microprocesseur (12) et un outil d'analyse (24), des premiers messages numériques étant représentatifs de premiers événements spécifiques dépendant de l'exécution d'une suite d'instructions par le microprocesseur, caractérisé en ce qu'il comporte :un moyen de détection (26) d'un événement spécifique parmi des seconds événements spécifiques indépendants de l'exécution de la suite d'instructions par le microprocesseur ;un moyen d'émission de requête (26, 34) pour transmettre au circuit de surveillance, lorsqu'un événement spécifique est détecté, un signal de requête (Rq) et un signal de données caractéristiques (DATA) associé audit événement spécifique,et en ce que le circuit de surveillance comprend un moyen de mémorisation du signal de données caractéristiques fourni par le moyen d'émission de requête, un moyen pour transmettre au moyen d'émission de requête un signal d'accusé de réception (Ack) lorsque le signal de données caractéristiques est mémorisé, et un moyen pour transmettre un message numérique à partir dudit signal de données caractéristiques mémorisé.
- Dispositif selon la revendication 5, dans lequel le moyen de détection (26), le moyen d'émission de requête (26, 34), le circuit de surveillance (18) et le microprocesseur (12) sont intégrés dans une même puce (10).
- Dispositif selon la revendication 5, dans lequel le moyen de détection (26) est relié à des bornes d'entrée (16) du microprocesseur (12).
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/FR2002/003909 WO2004046928A1 (fr) | 2002-11-14 | 2002-11-14 | Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP1576476A1 EP1576476A1 (fr) | 2005-09-21 |
| EP1576476B1 true EP1576476B1 (fr) | 2007-08-29 |
Family
ID=32319945
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP02788058A Expired - Lifetime EP1576476B1 (fr) | 2002-11-14 | 2002-11-14 | Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7673121B2 (fr) |
| EP (1) | EP1576476B1 (fr) |
| DE (1) | DE60222187D1 (fr) |
| WO (1) | WO2004046928A1 (fr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8176225B2 (en) * | 2008-11-04 | 2012-05-08 | Renesas Electronics America Inc. | Microcontroller peripheral event distribution bus |
| US8156269B2 (en) * | 2008-11-04 | 2012-04-10 | Renesas Electronics America Inc. | Reference distribution bus |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4783739A (en) * | 1979-11-05 | 1988-11-08 | Geophysical Service Inc. | Input/output command processor |
| US5732279A (en) * | 1994-11-10 | 1998-03-24 | Brooktree Corporation | System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like |
| US5974573A (en) | 1996-01-16 | 1999-10-26 | Dell Usa, L.P. | Method for collecting ECC event-related information during SMM operations |
| US5724505A (en) | 1996-05-15 | 1998-03-03 | Lucent Technologies Inc. | Apparatus and method for real-time program monitoring via a serial interface |
| US5848264A (en) | 1996-10-25 | 1998-12-08 | S3 Incorporated | Debug and video queue for multi-processor chip |
| KR100229897B1 (ko) * | 1997-01-10 | 1999-11-15 | 윤종용 | 직접 메모리 억세스 전송방법에 따른 타이밍 모드선택장치 |
| EP1184790B1 (fr) | 1997-04-08 | 2009-11-25 | Advanced Micro Devices, Inc. | Mémoire cache pour traces dans un dispositif à microprocesseur |
| GB2329049B (en) | 1997-09-09 | 2002-09-11 | Advanced Risc Mach Ltd | Apparatus and method for identifying exceptions when debugging software |
| US6321331B1 (en) | 1998-04-22 | 2001-11-20 | Transwitch Corporation | Real time debugger interface for embedded systems |
| US6961875B2 (en) * | 2001-03-22 | 2005-11-01 | International Business Machines Corporation | Method and apparatus for capturing event traces for debug and analysis |
-
2002
- 2002-11-14 DE DE60222187T patent/DE60222187D1/de not_active Expired - Lifetime
- 2002-11-14 EP EP02788058A patent/EP1576476B1/fr not_active Expired - Lifetime
- 2002-11-14 US US10/535,063 patent/US7673121B2/en not_active Expired - Lifetime
- 2002-11-14 WO PCT/FR2002/003909 patent/WO2004046928A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US7673121B2 (en) | 2010-03-02 |
| US20060212684A1 (en) | 2006-09-21 |
| WO2004046928A1 (fr) | 2004-06-03 |
| DE60222187D1 (de) | 2007-10-11 |
| EP1576476A1 (fr) | 2005-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7610176B2 (en) | Technique for collecting information about computing devices | |
| TW201133008A (en) | On-die logic analyzer for semiconductor die | |
| FR2479534A1 (fr) | Circuit de detection d'erreur pour une memoire | |
| EP1310847A1 (fr) | Système de téléchargement et de télémaintenance d'une carte électronique | |
| EP1576476B1 (fr) | Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties | |
| EP0540427A1 (fr) | Circuit d'interface pour carte à circuit intégré | |
| US8250545B2 (en) | Associated apparatus and method for supporting development of semiconductor device | |
| US7484027B1 (en) | Apparatus and method for configurable device pins | |
| 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 | |
| EP1556767B1 (fr) | Correlation temporelle de messages transmis par un circuit de surveillance d'un microprocesseur | |
| CN101083141A (zh) | 半导体器件 | |
| EP1554653B1 (fr) | Transmission de messages numeriques de repetition entre un circuit de surveillance de microprocesseur et un outil d'analyse | |
| WO2003107185A1 (fr) | Procede et systeme de gestion des evenements____________________ | |
| EP0426531B1 (fr) | Système de test d'un microprocesseur | |
| CN110381035A (zh) | 网络安全测试方法、装置、计算机设备及可读存储介质 | |
| WO2004042576A1 (fr) | Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur | |
| EP1556766B1 (fr) | Surveillance d'un programme de microprocesseur par envoi de messages reperables dans le temps | |
| FR2870955A1 (fr) | Debogueur d'un circuit electronique fabrique a partir d'un programme en langage de description de materiel | |
| EP1164487B1 (fr) | Dispositif de reproduction fonctionnelle d'un circuit intégré spécifique et son utilisation comme dispositif d'émulation | |
| 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. | |
| EP1554656B1 (fr) | Protocole de transmission de messages numeriques | |
| EP1051693B1 (fr) | Carte a memoire asynchrone | |
| WO2004049163A1 (fr) | Dispositif de surveillance a memoire tampon optimisee | |
| FR2661269A1 (fr) | Cartes a circuits integres. | |
| CN120743230B (zh) | 通用框架及其数据处理方法、装置、设备及介质 |
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: 20050614 |
|
| 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 |
|
| AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RBV | Designated contracting states (corrected) |
Designated state(s): DE ES FR GB IT |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 11/36 20060101AFI20060619BHEP |
|
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE ES FR GB IT |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
| REF | Corresponds to: |
Ref document number: 60222187 Country of ref document: DE Date of ref document: 20071011 Kind code of ref document: P |
|
| GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 20071003 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20071210 |
|
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20071130 |
|
| 26N | No opposition filed |
Effective date: 20080530 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20071130 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20101026 Year of fee payment: 9 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20111205 Year of fee payment: 10 |
|
| GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20121114 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20130731 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121114 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20121130 |