Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
First Claim
1. A method, comprising:
- writing a stuff instruction at a debugging process registry associated with a debugging process, wherein the debugging process registry is associated with a core processor of a multi-threaded processor, wherein the multi-threaded processor is configured to execute a plurality of interleaved threads on the core processor, wherein each of the plurality of interleaved threads is identified by a thread number, wherein each of the plurality of interleaved threads may be executed independently and debugged independently of others of the plurality of interleaved threads, and wherein a program counter is separately maintained for each of the plurality of interleaved threads;
selecting a particular thread of the plurality of interleaved threads to execute the stuff instruction;
for the particular thread, stopping a program counter at a current program counter value during execution of the stuff instruction;
executing the stuff instruction at the particular thread of the multi-threaded processor during the debugging process; and
issuing, from the core processor, a debugging process control resume command during execution of the stuff instruction.
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. Stuffing instructions in a processing pipeline of a multi-threaded digital signal processor provides for operating a core processor process and a debugging process within a debugging mechanism. Writing a stuff instruction into a debugging process registry and a stuff command in a debugging process command register provides for identifying a predetermined thread of the multi-threaded digital signal processor in which to execute the stuff instruction. The instruction stuffing process issues a debugging process control resume command during a predetermined stage of executing on the predetermined thread and directs the core processor to perform the stuff instruction during the debugging process. The core processor may then execute the stuffed instruction in association with the core processor process and the debugging process.
172 Citations
35 Claims
-
1. A method, comprising:
-
writing a stuff instruction at a debugging process registry associated with a debugging process, wherein the debugging process registry is associated with a core processor of a multi-threaded processor, wherein the multi-threaded processor is configured to execute a plurality of interleaved threads on the core processor, wherein each of the plurality of interleaved threads is identified by a thread number, wherein each of the plurality of interleaved threads may be executed independently and debugged independently of others of the plurality of interleaved threads, and wherein a program counter is separately maintained for each of the plurality of interleaved threads; selecting a particular thread of the plurality of interleaved threads to execute the stuff instruction; for the particular thread, stopping a program counter at a current program counter value during execution of the stuff instruction; executing the stuff instruction at the particular thread of the multi-threaded processor during the debugging process; and issuing, from the core processor, a debugging process control resume command during execution of the stuff instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a debugging process registry configured to receive a stuff instruction, wherein the debugging process registry is associated with a debugging process; circuitry configured to execute the stuff instruction at a particular thread of a multi-threaded processor during the debugging process, wherein the multi-threaded processor is configured to execute a plurality of interleaved threads, wherein each of the plurality of interleaved threads is identified by a thread number, wherein each of the plurality of interleaved threads may be executed independently of others of the plurality of interleaved threads, and wherein a program counter is separately maintained for each of the plurality of interleaved threads; circuitry configured to stop a program counter for the particular thread at a current program counter value during execution of the stuff instruction; and a core processor configured to send a debugging process control resume command during execution of the stuff instruction, wherein the core processor is associated with the debugging process registry. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A digital signal processor comprising:
-
means for writing a stuff instruction at a debugging process registry associated with a debugging process of the digital signal processor, wherein the digital signal processor includes a plurality of interleaved threads, wherein each of the plurality of interleaved threads is identified by a thread number, wherein each of the plurality of interleaved threads may be executed independently of others of the plurality of interleaved threads, and wherein a program counter is separately maintained for each of the plurality of interleaved threads; means for executing the stuff instruction at a particular one of the plurality of interleaved threads of the digital signal processor during the debugging process; means for stopping a program counter for the particular one of the plurality of interleaved threads at a current program counter value during execution of the stuff instruction; and means for issuing, from a core processor, a debugging process control resume command during execution of the stuff instruction, wherein the core processor is associated with the debugging process registry. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer readable non-transitory medium storing processor executable instructions that, when executed by a processor, cause the processor to:
-
write a stuff instruction at a debugging process registry associated with a debugging process, wherein the debugging process registry is associated with a core processor of a multi-threaded processor, wherein the multi-threaded processor is configured to execute a plurality of interleaved threads on the core processor, wherein each of the plurality of interleaved threads is identified by a thread number, wherein each of the plurality of interleaved threads may be executed independently, and wherein a program counter is separately maintained for each of the plurality of interleaved threads; and execute the stuff instruction at a particular thread of the multi-threaded processor-during the debugging process, for the particular thread, stop a program counter at a current program counter value during execution of the stuff instruction; and issue, from the core processor, a debugging process control resume command during execution of the stuff instruction. - View Dependent Claims (33, 34, 35)
-
Specification