Patent US6167536A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6167536A Expired / Lapsed US ⏱️ 0.0 years remaining

Trace cache for a microprocessor-based device

Assignee: GlobalFoundries Inc
•
Filing: 1997-10-14
•
Granted: 2000-12-26
•
Expires: 2017-10-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor-based device incorporating an on-chip instruction trace cache capable of providing information for reconstructing instruction execution flow. The trace information can be captured without halting normal processor operation. Both serial and parallel communication channels are provided for communicating the trace information to external devices. In the disclosed embodiment of the invention, instructions that disrupt the instruction flow are reported, particularly instructions in which the target address is in some way data dependent. For example, call instructions or unconditional branch instructions in which the target address is provided from a data register (or other memory location such as a stack) cause a trace cache entry to be generated. In the case of many unconditional branches or sequential instructions, no entry is placed into the trace cache because the target address can be completely determined from the instruction stream. Other information provided by the instruction trace cache includes: the target address of a trap or interrupt handler, the target address of a return instruction, addresses from procedure returns, task identifiers, and trace capture stop/start information. The disclosed on-chip instruction trace cache allows less expensive external capture hardware to be utilized and also alleviates various of the bandwidth and clock synchronization issues confronting many existing solutions.

Inventors

  • 👤 Daniel Peter Mann

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:56
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/348; G06F11/36; G06F11/362; G06F11/3636; G06F11/3409; G06F11/3419; G06F11/22; G06F11/26; G06F11/261; G06F2201/00; G06F2201/86; G06F2201/88; G06F2201/885

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 120 words
An electronic processor-based device adapted to execute a series of instructions obtained from external sources, the processor-based device being provided with pins to permit connection to external conductors, the processor-based device comprising: a processor core; a trace cache coupled to the processor core for storing trace information indicative of the order in which the instructions are executed by the processor core, the trace cache comprising a series of storage elements, each storage element adapted to store trace information, the trace information including a plurality of instruction trace records supporting address and data information, the trace cache being configured for examination of the trace information by the processor core, the trace cache also being configured to maintain most recent trace information.
Claim 2
Dependent Claim 120 words
An electronic processor-based device adapted to execute a series of instructions obtained from external sources, the processor-based device being provided with pins to permit connection to external conductors, the processor-based device comprising: a processor core; a trace cache coupled to the processor core for storing trace information indicative of the order in which the instructions are executed by the processor core, the trace cache comprising a series of storage elements, each storage element adapted to store trace information, the trace information including a plurality of instruction trace records supporting address and data information, the trace cache being configured for examination of the trace information by the processor core, the trace cache also being configured to maintain most recent trace information.
Claim 3
Dependent Claim 17 words
The processor-based device of claim 1, wherein the trace cache is a first-in, first-out (FIFO) circular cache.
Claim 4
Dependent Claim 24 words
The processor-based device of claim 1, wherein the communication channel comprises a parallel interface between the trace cache and selected ones of the pins.
Claim 5
Dependent Claim 24 words
The processor-based device of claim 1, wherein the communication channel comprises a serial interface between the trace cache and selected ones of the pins.
Claim 6
Dependent Claim 23 words
The processor-based device of claim 4, wherein the serial interface is essentially compliant with the IEEE-1149.1-1990 JTAG interface standard or other similar standard.
Claim 7
Dependent Claim 35 words
The processor-based device of claim 1, wherein information concerning executed branch instructions having a target address that is not data register dependent is stored in the trace cache in the form of a single bit.
Claim 8
Dependent Claim 19 words
The processor-based device of claim 1, wherein the trace cache is further configured to provide trace capture start/stop information.
Claim 9
Dependent Claim 35 words
The processor-based device of claim 1, wherein the trace cache is further configured to periodically capture a synchronizing entry, the synchronizing entry being the address of the instruction most recently executed by the processor core.
Claim 10
Dependent Claim 19 words
The processor-based device of claim 1, wherein the trace cache is further configured to provide software performance profiling information.
Claim 11
Dependent Claim 20 words
The processor-based device of claim 1, wherein the trace cache is further configured to provide interrupt or exception vector information.
Claim 12
Dependent Claim 18 words
The processor-based device of claim 1, wherein the trace cache is further configured to provide task identifier information.
Claim 13
Dependent Claim 20 words
The processor-based device of claim 1, wherein the contents of the trace cache can be retrieved by an operating system.
Claim 14
Independent Claim 98 words
A method for analyzing trace information in a processor-based device having a processor, comprising the steps of: providing a trace cache within the processor-based device, the trace cache comprising a series of storage elements adapted to store trace information, the trace cache being configured to maintain most recent trace information; capturing trace information from the processor core that is indicative of the order in which the series of instructions is executed by the processor core; storing the trace information in the trace cache storage elements as instruction trace records; and examining the trace information by the processor core.
Claim 15
Independent Claim 98 words
A method for analyzing trace information in a processor-based device having a processor, comprising the steps of: providing a trace cache within the processor-based device, the trace cache comprising a series of storage elements adapted to store trace information, the trace cache being configured to maintain most recent trace information; capturing trace information from the processor core that is indicative of the order in which the series of instructions is executed by the processor core; storing the trace information in the trace cache storage elements as instruction trace records; and examining the trace information by the processor core.
Claim 16
Dependent Claim 44 words
The method of claim 13, wherein the instructions include conditional branch instructions, the capturing step comprising capturing one bit of information for each conditional branch instruction that is executed by the processor core, the one bit indicating whether the conditional branch instruction was taken.
Claim 17
Dependent Claim 27 words
The method of claim 13, wherein the capturing step includes capturing a branch target address if a branch is taken and the target address is data dependent.
Claim 18
Dependent Claim 31 words
The method of claim 13, wherein the capturing step includes periodically capturing a synchronizing entry, the synchronizing entry being the address of the instruction most recently executed by the processor core.
Claim 19
Dependent Claim 15 words
The method of claim 13, wherein the capturing step includes capturing trace capture start/stop information.
Claim 20
Dependent Claim 15 words
The method of claim 13, wherein the capturing step includes capturing software performance profiling information.
Claim 21
Dependent Claim 14 words
The method of claim 13, wherein the capturing step includes capturing task identifier information.
Claim 22
Dependent Claim 18 words
The method of claim 13, wherein the communication channel utilized in the communication step is a serial interface.
Claim 23
Dependent Claim 18 words
The method of claim 13, wherein the communication channel utilized in the communication step is a parallel interface.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-26 2004-06-26 2004-12-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-26 2008-06-26 2008-12-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-26 2012-06-26 2012-12-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag