Inter-thread trace alignment method and system for a multi-threaded processor
First Claim
1. A method for inter-thread trace timing alignment among threads of a multi-threaded processor during an execution tracing process, comprising:
- recording timing data relating to a common predetermined event, said common predetermined event being commonly referenceable by all operating threads of said multi-threaded processor during core processor execution tracing;
referencing a time at which a thread initiates execution tracing to said common predetermined event for maintaining the timing of execution tracing for said thread relative to said common predetermined event; and
updating said common predetermined event to associate with said time at which said thread initiated execution tracing, thereby aligning said time at which said thread initiated execution tracing to timing data associated with all other threads of said multi-threaded processor for which execution tracing may be occurring.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for the design and use of a digital signal processor, including (but not limited to) for processing transmissions in a communications (e.g., CDMA) system. Inter-thread trace alignment with execution trace processing includes recording timing data relating to a common predetermined event. Such an event may be the number of cycles since a last thread initiated execution tracing or the number of cycles since all threads terminated execution tracing. The number of cycles at which a thread initiates execution tracing is referenced to the common predetermined event for maintaining the timing of execution tracing. The data relating to the common predetermined event is then updated to associate with the time at which the thread initiated execution tracing. The result is to permit aligning the timing data associated with all threads. Interrelated records permit reconstructing interdependent execution tracing information for threads operating in the multi-threaded processor, as well as synchronizing timing data for all operating threads.
-
Citations
35 Claims
-
1. A method for inter-thread trace timing alignment among threads of a multi-threaded processor during an execution tracing process, comprising:
-
recording timing data relating to a common predetermined event, said common predetermined event being commonly referenceable by all operating threads of said multi-threaded processor during core processor execution tracing; referencing a time at which a thread initiates execution tracing to said common predetermined event for maintaining the timing of execution tracing for said thread relative to said common predetermined event; and updating said common predetermined event to associate with said time at which said thread initiated execution tracing, thereby aligning said time at which said thread initiated execution tracing to timing data associated with all other threads of said multi-threaded processor for which execution tracing may be occurring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A hardware digital signal processor debugging system for operation in association with a digital signal processor and including the ability to interrelate timing data relating to threads of a multi-threaded processor during multi-threaded software execution flow, comprising:
-
a plurality of offset fields for recording timing data relating to a common predetermined event, said common predetermined event being commonly referenceable by all operating threads of said multi-threaded processor during core processor execution tracing; time referencing instruction packets for referencing a time at which a thread initiates execution tracing to said common predetermined event for maintaining the timing of execution tracing for said thread relative to said common predetermined event; and time reference updating packets for updating said common predetermined event to associate with said time at which said thread initiated execution tracing, thereby aligning said time at which said thread initiated execution tracing to timing data associated with all other threads of said multi-threaded processor for which execution tracing may be occurring. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A multi-threaded digital signal processor for operation in support of a personal electronics device, the multi-threaded digital signal processor comprising debugging means for performing an execution tracing process and, in relation thereto, aligning inter-thread trace timing among threads of said multi-threaded processor, comprising:
-
means for recording timing data relating to a common predetermined event, said common predetermined event being commonly referenceable by all operating threads of said multi-threaded processor during core processor execution tracing; means for referencing a time at which a thread initiates execution tracing to said common predetermined event for maintaining the timing of execution tracing for said thread relative to said common predetermined event; and means for updating said common predetermined event to associate with said time at which said thread initiated execution tracing, thereby aligning said time at which said thread initiated execution tracing to timing data associated with all other threads of said multi-threaded processor for which execution tracing may be occurring. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A non-transitory computer usable medium having computer readable program code means embodied therein for debugging a multi-threaded digital signal processor including performing an execution tracing process and, in relation thereto, aligning inter-thread trace timing among threads of said multi-threaded processor, the computer usable medium comprising:
-
computer readable program code means for recording timing data relating to a common predetermined event, said common predetermined event being commonly referenceable by all operating threads of said multi-threaded processor during core processor execution tracing; computer readable program code means for referencing a time at which a thread initiates execution tracing to said common predetermined event for maintaining the timing of execution tracing for said thread relative to said common predetermined event; and computer readable program code means for updating said common predetermined event to associate with said time at which said thread initiated execution tracing, thereby aligning said time at which said thread initiated execution tracing to timing data associated with all other threads of said multi-threaded processor for which execution tracing may be occurring. - View Dependent Claims (32, 33, 34, 35)
-
Specification