US2012042212A1PendingUtilityA1

Mixed Mode Processor Tracing

48
Assignee: LAURENTI GILBERTPriority: Aug 10, 2010Filed: Aug 18, 2010Published: Feb 16, 2012
Est. expiryAug 10, 2030(~4.1 yrs left)· nominal 20-yr term from priority
G06F 2201/86G06F 11/348G06F 11/364G06F 11/3466Y02D10/00
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A program is executed on a processor to produce execution events. The execution events are traced using a first trace mode during a first portion of the program execution, wherein a portion of trace information for the execution events is omitted from a trace report while tracing in the first trace mode. The mode of tracing is dynamically changed to a second trace mode in response to an event trigger, such that all execution events that occur during the change of mode are captured. Execution events are traced during a second portion of the program execution using the second trace mode, wherein additional trace information for the execution events is included in the trace report while tracing in the second trace mode. The trace mode may be dynamically switched between the two trace modes during execution of the program.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for tracing program execution, comprising
 executing the program on a processor to produce a sequence of execution events;   tracing a portion of the sequence of execution events using a first trace mode and reporting trace information indicative of the execution events during a first portion of the program execution;   dynamically changing the mode of tracing to a second trace mode in response to an event trigger, such that tracing of the sequence of execution events continues during the change of mode; and   tracing a contiguous portion of the sequence of execution events using the second trace mode and reporting trace information indicative of the execution events during a second portion of the program execution.   
     
     
         2 . The method of  claim 1 , further comprising:
 dynamically changing the mode of tracing to the first trace mode in response to another event trigger, such that tracing of the sequence of execution events continues during the change of mode; and   tracing another contiguous portion of the sequence of execution events and reporting trace information indicative of the execution events during a third portion of the program execution using the first trace mode.   
     
     
         3 . The method of  claim 1 , wherein the trace information indicative of the execution events in the second trace mode is formatted differently in the trace report from the trace information in the first trace mode. 
     
     
         4 . The method of  claim 1 , further comprising inserting a mode change indicator in the trace report. 
     
     
         5 . The method of  claim 1 , wherein trace information reported in the first trace mode is non-cycle accurate, and trace information reported in the second trace mode is cycle accurate. 
     
     
         6 . The method of  claim 2 , further comprising:
 transmitting the trace report over a link having a transmission bandwidth, wherein the trace report has a data bandwidth less than the transmission bandwidth while in the first trace mode and a data bandwidth that is greater than the transmission bandwidth while in the second trace mode;   storing excess trace information while in the second trace mode; and   transmitting the stored excess trace information after changing to the first trace mode.   
     
     
         7 . A method for tracing program execution, comprising
 receiving a trace report containing trace information indicative of execution events that occurred during execution of the program for a period of time, wherein one or more portions of the trace report contain trace information from a first trace mode and one or more portions of the trace report contain trace information from a second trace mode; wherein the trace report contains trace information for all execution events that occurred during the period of time; and   analyzing the trace report to interpret the non-cycle accurate trace information and the cycle accurate trace information.   
     
     
         8 . The method of  claim 7 , wherein the trace information from the first trace mode has a different format from the trace information from the second trace mode. 
     
     
         9 . The method of  claim 7 , wherein the trace report includes a mode change indicator between each portion of the trace report. 
     
     
         10 . The method of  claim 7 , wherein trace information reported in the first trace mode is non-cycle accurate, and trace information reported in the second trace mode is cycle accurate. 
     
     
         11 . A digital system comprising an integrated circuit, wherein the integrated circuit comprises:
 at least one processing module operable execute a program and to thereby generate hardware or software execution events for tracing;   a execution trace module connected to detect the execution events from the at least one processing module, wherein the execution trace module is operable to form trace information indicative of each execution event; and   a port coupled to the execution trace module for transmitting the sequence of trace information to an external trace receiver; and   wherein the execution trace module is operable to:
 trace execution events using a first trace mode during a first portion of the program execution, wherein a portion of trace information for the execution events is omitted from a trace report while tracing in the first trace mode; 
 dynamically change the mode of tracing to a second trace mode in response to an event trigger, such that tracing of the sequence of execution events continues during the change of mode; and 
 trace execution events using the second trace mode during a contiguous second portion of the program execution. 
   
     
     
         12 . The digital system of  claim 11 , wherein the execution trace module is further operable to:
 dynamically change the mode of tracing to the first trace mode in response to another event trigger, such that all execution events that occur during the change of mode are captured; and   trace execution events during a contiguous third portion of the program execution using the first trace mode.   
     
     
         13 . The digital system of  claim 11 , wherein the execution trace module is operable to format trace information indicative of the execution events in the second trace mode differently from the trace information in the first trace mode. 
     
     
         14 . The digital system of  claim 11 , wherein the execution trace module is operable to insert a mode change indicator in the trace report. 
     
     
         15 . The digital system of  claim 11 , wherein trace information reported in the first trace mode is non-cycle accurate, and trace information reported in the second trace mode is cycle accurate. 
     
     
         16 . The digital system of  claim 11 , further comprising an elastic buffer coupled between the execution trace module and the port, wherein:
 the port is operable to transmit the trace report over a link having a transmission bandwidth, wherein the trace report has a data bandwidth less than the transmission bandwidth while in the first trace mode and a data bandwidth that is greater than the transmission bandwidth while in the second trace mode;   the elastic buffer is operable to store excess trace information while in the second trace mode; and   the port is operable to transmit the stored excess trace information.   
     
     
         17 . The digital system of  claim 15  being a cellular telephone, further comprising a connector coupled to the port for connecting to an external trace receiver.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.