EP1599801A1 - Übertragung von einer digitalnachricht zwischen einer überwachungsschaltung eines mikroprozessors und eines analysewerkzeugs - Google Patents

Übertragung von einer digitalnachricht zwischen einer überwachungsschaltung eines mikroprozessors und eines analysewerkzeugs

Info

Publication number
EP1599801A1
EP1599801A1 EP02788057A EP02788057A EP1599801A1 EP 1599801 A1 EP1599801 A1 EP 1599801A1 EP 02788057 A EP02788057 A EP 02788057A EP 02788057 A EP02788057 A EP 02788057A EP 1599801 A1 EP1599801 A1 EP 1599801A1
Authority
EP
European Patent Office
Prior art keywords
jump
instruction
instructions
bits
microprocessor
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
EP02788057A
Other languages
English (en)
French (fr)
Inventor
Catherine Robert
Xavier Robert
Jehan-Philippe Barbiero
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 EP1599801A1 publication Critical patent/EP1599801A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

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 suitable for reading specific data supplied by the microprocessor .12 during the course of a program, and possibly performing 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.
  • a message indicates the occurrence of a jump during the course of the program executed by the microprocessor 12.
  • a jump corresponds on the passage from an initial instruction which has just been executed by the program to a destination instruction other than the instruction which follows the initial instruction in the sequence of instructions forming the program.
  • the analysis tool 24 seeks to reconstruct the sequence of instructions executed by the microprocessor 12. The reconstructed sequence of instructions can then be compared to a sequence of instructions theoretically executed by the microprocessor 12 so as to determine errors during the operation of the microprocessor 12.
  • FIG. 2 represents a general example of a digital message transmitted by the monitoring circuit 18 according to the IEEE-ISTO-5001 standard.
  • the message includes a series of fields each corresponding to a fixed or variable number of bits.
  • the least significant bits of the message are located on the left of the figure, and the most significant bits on the right of the figure.
  • a first Tcode field represents an identifier of the message. For each identifier given, the number of fields making up the message is fixed.
  • the IEEE-ISTO-5001 standard provides two possible identifiers for jump messages. A first identifier corresponds to a so-called "explicit" jump.
  • An explicit jump results from a direct jump instruction executed by the microprocessor 12 which results in a jump to a program instruction whose address, or data representative of the address, is explicitly indicated in the jump instruction.
  • a second identifier corresponds to the other types of jumps, called "implicit jumps", which can occur during the execution of a program by the microprocessor 12.
  • the jump message comprises a second SRC field comprising a number of bits variable according to the use of the monitoring circuit 18.
  • the SRC field is used when the monitoring circuit 18 simultaneously exchanges data with several microprocessors or when the monitoring circuit 18 exchanges data with the same microprocessor 12 which simultaneously executes several programs.
  • the SRC field may include no bits.
  • the jump message comprises a third ICT field comprising a variable number of bits and corresponding to the number of instructions executed by the microprocessor 12 since the last instruction executed for which the monitoring circuit 18 transmitted a message explicit or implicit jump.
  • the jump message includes a fourth ADDR field comprising a variable number of bits and representing the address of the jump destination instruction.
  • the value of the ADDR field corresponds, for example, to the difference between the address of the destination instruction and the address of the last instruction executed by the microprocessor 12.
  • An indirect jump instruction is a jump instruction which does not include data representative of the address of the destination instruction of the jump but a reference to a register in which said representative data is stored.
  • An implicit jump can also correspond to a jump imposed by the very structure of the microprocessor 12.
  • a jump is then performed although the last instruction of the program executed by the microprocessor 12 is not an indirect jump instruction.
  • An interruption corresponds, when certain conditions for triggering an interruption are fulfilled, to a forced stop of the execution of the program, to the execution of an interrupt routine then to the possible resumption of the execution of the program.
  • An interrupt jump therefore takes place from a program instruction to the first instruction of the interrupt routine.
  • An example of the condition for triggering an interruption is the reception by the microprocessor of a signal indicating that the level of charge of batteries supplying the microprocessor 12 is below a determined threshold.
  • a circuit jump corresponds to a jump imposed by the very structure of the microprocessor 12 when certain conditions are fulfilled from an initial instruction of the program to a destination instruction also belonging to the program. Circuit hopping is frequently used to effect the repetition of a small number of instructions a certain number of times by the microprocessor 12.
  • the instruction of the sequence of instructions reconstituted by the analysis tool 24 corresponding to the message received by the analysis tool 24 is not an indirect jump instruction, there is no it is not possible with certainty to determine whether the implicit jump message received actually corresponds to a jump imposed by the microprocessor or if the received message corresponds to an indirect jump and that the sequence of instructions reconstructed by the analysis tool 24 is incorrect, for example offset from the sequence of instructions actually executed by the microprocessor 12.
  • the present invention provides a method of transmitting digital messages making it possible to limit certain ambiguities during the reconstruction by the analysis tool of the sequence of instructions executed by the microprocessor regardless of the type of jump performed by the microprocessor.
  • the present invention further provides a method of transmitting digital messages which does little to modify the jump messages provided for by the IEEE-ISTO-5001 standard.
  • the present invention provides a method of transmitting digital messages, during the execution of a sequence of instructions by the microprocessor, by output terminals of a monitoring circuit integrated into the microprocessor, at least one of said digital messages being representative of characteristic data stored by the monitoring circuit upon detection of a jump in the execution of the sequence d instructions from an initial instruction to a destination instruction different from the instruction following the initial instruction in the sequence of instructions, the method comprising the steps consisting, for the transmission of a digital message, of determining whether the jump is associated with a jump instruction of the sequence of instructions for which data representative of the address of the jump destination instruction is explicitly indicated in the instruction; if so, assigning a first value to a first set of bits of the digital message, and if not, assigning a second value to the first set of bits; if the first set of bits is at the second value, assigning to a second set of bits of the digital message a third value identifying the jump among several types of hops; and transmit the digital message.
  • the method further comprises the step consisting in assigning to a third set of bits of the digital message a value corresponding to the number of instructions executed by the microprocessor since the last instruction executed in the sequence of instructions corresponding to a digital message associated with a jump.
  • the method further comprises the step consisting, if the first set of bits is at the second value, in assigning to a fourth set of bits of the digital message a value representative of the address of the destination instruction.
  • a type of jump corresponds to a jump resulting from a jump instruction of the sequence of instructions containing the reference of a register in which is stored data representative of the address of the destination instruction.
  • a type of jump corresponds to a jump forced by the microprocessor, the destination instruction corresponding to an instruction from a series of specific instructions not belonging to the sequence of instructions.
  • a type of jump corresponds to a jump forced by the microprocessor, the destination instruction being an instruction of the sequence of instructions.
  • the present invention also provides a device for transmitting digital messages between a monitoring circuit integrated into a microprocessor and an analysis tool via output terminals comprising means for detecting a jump during the execution of 'a sequence of instructions by the microprocessor; means for memorizing data characteristic of the detected jump; means for determining a digital message from the stored characteristic data, the digital message comprising a first set of bits fixed at a first value if the jump is associated with a jump instruction of the sequence of instructions for which a datum representative of the address of the jump destination instruction is explicitly indicated in the instruction, and set to a second value otherwise; and means for transmitting the determined digital message, in which, when the first set of bits is set to the second value, the determining means is adapted to include a second set of bits in the digital message set to a third value identifying the jump among several types of jumps.
  • FIG. 1 previously described, very schematically represents the architecture of a chip integrating a microprocessor and a monitoring circuit
  • FIG. 2 represents an example of a conventional implicit jump message sent by a monitoring circuit
  • FIG. 3 represents an example of an implicit jump message sent by a monitoring circuit according to the invention.
  • the present invention plans to keep the explicit jump message already provided for by the IEEE-ISTO-5001 standard.
  • the present invention provides to add to the implicit jump message provided by the IEEE-ISTO-5001 standard an additional field specifying the nature of the implicit jump in order to modify the IEEE-ISTO-5001 standard as little as possible.
  • FIG. 3 represents an example of an implicit jump message according to the invention.
  • the message includes on the side of the least significant bits the Tcode field which, as has been previously explained, has a specific value for an implicit jump.
  • the implicit jump message includes a second SRC field which, as explained above, has a variable number of bits and indicates whether the monitoring circuit
  • the implicit jump message according to the invention comprises a third BType field having a variable number of bits and indicating the different possible implicit jumps.
  • the BType field can comprise two bits, which makes it possible to code a first value corresponding to a jump resulting from an indirect jump instruction, a second value corresponding to a jump resulting from an interruption and a third value corresponding to a circuit break.
  • the number of bits depends on the number of types of implicit jumps that one wishes to be able to distinguish by the analysis tool 24.
  • the implicit jump message also includes a third ICNT field.
  • the ICNT field comprises a variable number of bits and is equal to the number of instructions which separates the instruction executed by the microprocessor 12 to which a jump was made from the last instruction executed by the program which gave rise to the transmission of d a jump message by the monitoring circuit 18.
  • the implicit jump message finally comprises a fourth field ADDR corresponding to a datum representative of the address of the instruction for the destination of the jump.
  • the ADDR field generally designates an instruction of a routine stored in the memory 14 which does not belong to the program executed by the microprocessor 12.
  • the analysis tool 24 can differentiate the different types of implicit jumps in order to remove any ambiguities during the reconstruction of the sequence of instructions executed by the microprocessor 12.
  • the present invention has the advantage of modifying as little as possible the implicit jump message provided for by the IEEE-ISTO-5001 standard. Indeed, it provides for the addition of a single field of variable length in the message initially provided for by the IEEE-ISTO-5001 standard, the other fields remaining unchanged.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
EP02788057A 2002-11-14 2002-11-14 Übertragung von einer digitalnachricht zwischen einer überwachungsschaltung eines mikroprozessors und eines analysewerkzeugs Withdrawn EP1599801A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2002/003908 WO2004046929A1 (fr) 2002-11-14 2002-11-14 Transmission d'un message numerique entre un circuit de surveillance d'un microprocesseur et un outil d'analyse

Publications (1)

Publication Number Publication Date
EP1599801A1 true EP1599801A1 (de) 2005-11-30

Family

ID=32319944

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02788057A Withdrawn EP1599801A1 (de) 2002-11-14 2002-11-14 Übertragung von einer digitalnachricht zwischen einer überwachungsschaltung eines mikroprozessors und eines analysewerkzeugs

Country Status (4)

Country Link
US (1) US20060155971A1 (de)
EP (1) EP1599801A1 (de)
JP (1) JP2006506720A (de)
WO (1) WO2004046929A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1783649A1 (de) * 2005-10-10 2007-05-09 Nagracard S.A. Sicherer Mikroprozessor mit Sprungbefehlesüberprüfung
US8489866B2 (en) * 2010-06-30 2013-07-16 International Business Machines Corporation Branch trace history compression

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
JP2006506720A (ja) 2006-02-23
WO2004046929A1 (fr) 2004-06-03
US20060155971A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
WO2006128997A1 (fr) Procede, dispositif et programme d’ordinateur pour la reconnaissance de la parole
US11709971B2 (en) Method for detecting an unauthorized physical access to a bus system
EP3203445A1 (de) System und verfahren zur automatischen identifiezirung eines fahrzeurgsmodells
EP1599801A1 (de) Übertragung von einer digitalnachricht zwischen einer überwachungsschaltung eines mikroprozessors und eines analysewerkzeugs
EP0606791B1 (de) Gerät und Verfahren zur Verwendung von Pseudo-Sockets
EP0380378B1 (de) Verfahren und Vorrichtung für hierarchischen Zugriff zu einem Nachrichtenübertragungsnetz
EP1556767B1 (de) Zeitkorrelation von, durch eine überwachungsschaltung eines mikroprozessors, übertragenen nachrichten
FR2675921A1 (fr) Procede et dispositif de test d'une carte d'un systeme informatique.
CN111813901B (zh) 会话内容生成和处理方法、对话机器人的诊断方法及装置
EP1554656B1 (de) Protokoll zur übertragung von digitalen nachrichten
WO2004042576A1 (fr) Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur
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.
EP1576476B1 (de) Überwachungschaltung eines mikroprozessors und analysewerkzeug und seine ein- und ausgänge
EP1570356B1 (de) Überwachungsvorrichtung mit einem optimierten pufferspeicher
EP1556766A1 (de) Überwachung eines microprozessorprogramms durch das senden von zeitörtlichen nachrichten
EP3528111A1 (de) It-system und -verfahren zur analyse der leistung einer anwendung, die funktionsaufrufe zur kommunikation zwischen verschiedenen prozessen ausführt
EP0733977A1 (de) Rechnersystem mit hierarchischen Speichern
EP3598315B1 (de) Direkter speicherzugang
FR3084179A1 (fr) Acces direct en memoire
FR3156267A1 (fr) Procédé, dispositif et système de communication de données dans un réseau de communication commuté d’un véhicule
EP4432175A1 (de) Verfahren zur parametrierung einer datenverarbeitungsleitung
FR3145661A1 (fr) Procédé et dispositif de détermination d’un type de bus de données utilisé pour la transmission de signaux entre périphériques dans un véhicule
FR3156269A1 (fr) Procédé, dispositif et système de communication de fichiers de trace dans un réseau de communication commuté d’un véhicule
FR3162292A1 (fr) Procédé et dispositif de traitement de signal pour véhicule
EP0675438B1 (de) Verfahren und Einrichtung zum Fehlernachweis auf elektronischen Platinen

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

RBV Designated contracting states (corrected)

Designated state(s): DE ES FR GB IT

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BARBIERO, JEHAN-PHILIPPE

Inventor name: ROBERT, CATHERINE - ICHIGAYA SADOHARA HOUSE 401

Inventor name: ROBERT, XAVIER

17Q First examination report despatched

Effective date: 20060609

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20140603