CPC G06F 11/3466 (2013.01) [G06F 9/542 (2013.01); G06F 11/302 (2013.01); G06F 11/3495 (2013.01); G06F 11/3612 (2013.01); G06F 11/348 (2013.01); G06F 2201/86 (2013.01); G06F 2201/865 (2013.01)] | 20 Claims |
1. A method, comprising:
executing a sequence of program code to perform operations using components of a processor, each component of the components having a time counter indicating a time value, wherein each time counter comprises a respective offset bit used for compensating phase variations between the time counters while performing the operations, wherein the sequence of program code comprises a first time parameter as a trigger condition for triggering a trace event across two or more components of the processor while performing the operations, and wherein one of the time counters is selected as a global time counter;
determining a global time value represented by the global time counter;
updating, based on the global time value, at least the time value represented by a corresponding time counter that is not selected as the global time counter using the respective offset bit;
determining, by comparing the time value against the first time parameter in the sequence of program code, if the trigger condition is satisfied;
in response to determining that the trigger condition is satisfied, triggering the trace event to generate event data for the two or more of the components of the processor; wherein the event data is synchronized based on the global time value; and
providing the event data to a host used to analyze the performance of the sequence of program code.
|