Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
First Claim
Patent Images
1. A non-intrusive method for debugging a multi-threaded digital signal processor, comprising:
- executing a plurality of processing instructions by a plurality of threads in the multi-threaded digital signal processor;
identifying one or more breakpoint instructions for generating at least one debugging event for one or more indicated threads of the plurality of threads;
receiving the one or more breakpoint instructions at an in-silicon debugging system (ISDB) of the multi-threaded digital signal processor;
reading a register of the ISDB to determine the one or more indicated threads corresponding to the one or more breakpoint instructions;
generating the at least one debugging event for the one or more indicated threads in response to executing at least one of the one or more breakpoint instructions;
executing a plurality of debugging instructions in response to the at least one debugging event, the debugging instructions for non-intrusively debugging the executing of the plurality of the processing instructions in the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; and
generating at least one debugging return from the executing of the plurality of debugging instructions for reporting the executing of the plurality of debugging instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system provide processing instructions in a multi-threaded process including the use of breakpoint instructions for generating debugging event(s). A debugging event is generated in response to the execution of breakpoint instructions and executes debugging instructions in response to the debugging event. The debugging instructions debug processing instructions in the multi-threaded processor by transitioning at least one or more threads into a debugging mode. A debugging return is generated for reporting the executing debugging instructions in the subset of the threads of the multi-threaded processor.
-
Citations
24 Claims
-
1. A non-intrusive method for debugging a multi-threaded digital signal processor, comprising:
-
executing a plurality of processing instructions by a plurality of threads in the multi-threaded digital signal processor; identifying one or more breakpoint instructions for generating at least one debugging event for one or more indicated threads of the plurality of threads; receiving the one or more breakpoint instructions at an in-silicon debugging system (ISDB) of the multi-threaded digital signal processor; reading a register of the ISDB to determine the one or more indicated threads corresponding to the one or more breakpoint instructions; generating the at least one debugging event for the one or more indicated threads in response to executing at least one of the one or more breakpoint instructions; executing a plurality of debugging instructions in response to the at least one debugging event, the debugging instructions for non-intrusively debugging the executing of the plurality of the processing instructions in the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; and generating at least one debugging return from the executing of the plurality of debugging instructions for reporting the executing of the plurality of debugging instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15, 16, 17)
-
-
8. A system for non-intrusively debugging a multi-threaded digital signal processor, comprising:
-
a plurality of threads for executing a plurality of processing instructions in the multi-threaded digital signal processor; a set of breakpoint instructions for generating at least one debugging event for one or more indicated threads of the plurality of threads; an in-silicon debugging system (ISDB) of the multi-threaded digital signal processor for receiving the set of breakpoint instructions; a register of the ISDB for determining the one or more indicated threads corresponding to the set of breakpoint instructions; debugging event generating instructions for generating the at least one debugging event for the one or more indicated threads in response to executing at least one of the breakpoint instructions; one or more of the threads for executing the plurality of debugging instructions in response to the at least one debugging event, the plurality of debugging instructions for non-intrusively debugging the executing of the plurality of processing instructions in the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; and debugging return instructions for generating at least one debugging return from the executing of the plurality of debugging instructions for reporting the executing of the plurality of debugging instructions in the one or more indicated threads of the multi-threaded digital signal processor. - View Dependent Claims (9, 10, 11, 12, 18, 19, 20)
-
-
13. A non-transient computer usable medium having computer readable program code embodied therein for processing instructions on a multi-threaded digital signal processor for non-intrusively debugging the multi-threaded digital signal processor, the computer usable medium comprising:
-
computer readable program code for executing a plurality of processing instructions using a plurality of threads in the multi-threaded digital signal processor; computer readable program code for identifying one or more breakpoint instructions for generating at least one debugging event for one or more indicated threads of the plurality of threads; computer readable program code for reading a register of an in-silicon debugging system (ISDB) to determine the one or more indicated threads, wherein the one or more indicated threads are each identified in the register by a mask bit; computer readable program code for generating the at least one debugging event for the one or more indicated threads in response to executing at least one of the one or more breakpoint instructions; computer readable program code for executing the plurality of debugging instructions in response to the at least one debugging event, the debugging instructions for non-intrusively debugging the executing of the plurality of processing instructions in the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; and computer readable program code for generating at least one debugging return from the executing of the plurality of debugging instructions for reporting the executing of the plurality of debugging instructions in the one or more indicated threads of the multi-threaded digital signal processor. - View Dependent Claims (14, 21)
-
-
22. A system to non-intrusively debug a multi-threaded digital signal processor, comprising:
-
a plurality of threads to execute a plurality of processing instructions at the multi-threaded digital signal processor; a set of breakpoint instructions to generate at least one debugging event associated with one or more indicated threads of the plurality of threads, wherein the one or more indicated threads are indicated by a mask; debugging instructions to generate the at least one debugging event for the one or more indicated threads in response to executing at least one of the breakpoint instructions; one or more of the plurality of threads to execute the debugging instructions in response to the at least one debugging event, the debugging instructions to non-intrusively debug execution of the plurality of processing instructions at the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; debugging return instructions to generate at least one debugging return from the execution of the plurality of debugging instructions and to report the execution of the plurality of debugging instructions in the one or more indicated threads at the multi-threaded digital signal processor; and an in-silicon debugging system (ISDB) to receive the at least one of the breakpoint instructions, wherein the at least one of the breakpoint instructions is treated as a no-operation (NOP) in response to determining that the ISDB is not trusted, that the ISDB is not enabled, or a combination thereof.
-
-
23. An apparatus comprising:
-
means for executing a plurality of processing instructions using a plurality of threads of a multi-threaded digital signal processor; means for identifying one or more breakpoint instructions for generating at least one debugging event for one or more indicated threads of the plurality of threads; means for reading a register of an in-silicon debugging system (ISDB) to determine the one or more indicated threads, wherein the one or more indicated threads are each identified in the register by a mask bit; means for generating the at least one debugging event for the one or more indicated threads in response to executing at least one of the one or more breakpoint instructions; means for executing a plurality of debugging instructions in response to the at least one debugging event, the debugging instructions for non-intrusively debugging the executing of the plurality of processing instructions in the multi-threaded digital signal processor by transitioning the one or more indicated threads of the multi-threaded digital signal processor into a debugging mode; and means for generating at least one debugging return from the executing of the plurality of debugging instructions for reporting the executing of the plurality of debugging instructions in the one or more indicated threads of the multi-threaded digital signal processor. - View Dependent Claims (24)
-
Specification