Trace synchronization in a processor
First Claim
1. A method of operating a processor during a trace operation providing trace records indicative of instruction execution flow, the method comprising:
- determining when a predetermined number of said trace records have been provided without address information; and
providing synchronizing address information in a trace record when said predetermined number of trace records have been provided without said address information, said synchronizing address information being indicative of a current program address being traced.
4 Assignments
0 Petitions
Accused Products
Abstract
A processor provides trace synchronization information to ensure that address information for reconstructing instruction execution flow is provided in trace records with sufficient frequency. A trace record is provided for instructions that change the program flow such as conditional branches. However, target address information is not provided in the trace record for such instructions as conditional branches, only an indication of whether the branch was taken. Target address information is provided, however, for those instructions in which the target address is in some way data dependent. The processor determines whether each trace record includes address information. Each trace entry providing address information causes a counter to be reloaded to a predetermined value which is the desired maximum number of trace records generated before current program address information is provided. The counter counts each trace record produced which does not include address information. When the count of such trace records reaches the predetermined number, trace logic provides the current program address as a trace entry, thereby providing trace synchronization information.
169 Citations
23 Claims
-
1. A method of operating a processor during a trace operation providing trace records indicative of instruction execution flow, the method comprising:
-
determining when a predetermined number of said trace records have been provided without address information; and providing synchronizing address information in a trace record when said predetermined number of trace records have been provided without said address information, said synchronizing address information being indicative of a current program address being traced. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of providing trace synchronization information on a processor, comprising:
-
setting a synchronization register to a first value, said first value indicating a maximum number of trace records to provide sequentially without address information, said address information indicative of a current location of program execution; determining whether each of said trace records includes said address information; reloading a counter to count to said first value each time it is determined that one of said trace records includes said address information; counting in said counter each time one of said trace records does not include said address information; and providing current program address information in a synchronizing trace record, when said counter indicates said first value has been counted, thereby providing said trace synchronization information. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A processor comprising:
-
a synchronizing register containing a first value; a counter circuit coupled to said synchronizing register, said counter circuit receiving a count control signal causing said counter circuit to count and receiving a load signal causing said counter circuit to load an initial value, said counter circuit providing an output signal indicating when said first value has been counted; trace logic coupled to said counter and receiving said output signal, said trace logic asserting said load signal when a trace record includes synchronizing address information and wherein said trace logic asserts said count control signal each time a trace record does not include said synchronizing address information and wherein said trace logic outputs a current program address indication in response to assertion of said output signal by said counter circuit. - View Dependent Claims (19, 20, 21)
-
-
22. A method comprising:
-
generating a stream of first trace records tracing program execution in a processor; and inserting a synchronizing address trace record in the stream of first trace records, each of the first trace records lacking a program address, the synchronizing address trace record including program address information. - View Dependent Claims (23)
-
Specification