Breakpoint method for parallel hardware threads in multithreaded processor
First Claim
1. A computer-implemented method comprising:
- in parallel hardware threads executing in a processor comprising a plurality of microengines, receiving a source code line to be break pointed in a selected microengine;
determining whether the source code line can be break pointed;
if the source code line can be break pointed, identifying the selected microengine to insert a break point into, which microengine threads to enable breakpoints for, and which microengines to stop if a break point occurs; and
if the source code line cannot be break pointed, signaling an error.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of debugging code that executes in a multithreaded processor having a microengines includes receiving a program instruction and an identification representing a selected one of the microengines from a remote user interface connected to the processor pausing program execution in the threads executing in the selected microengine, inserting a breakpoint after a program instruction in the selected microengine that matches the program instruction received from the remote user interface, resuming program execution in the selected microengine, executing a breakpoint routine if program execution in the selected microengine encounters the breakpoint and resuming program execution in the microengine.
-
Citations
12 Claims
-
1. A computer-implemented method comprising:
-
in parallel hardware threads executing in a processor comprising a plurality of microengines, receiving a source code line to be break pointed in a selected microengine; determining whether the source code line can be break pointed; if the source code line can be break pointed, identifying the selected microengine to insert a break point into, which microengine threads to enable breakpoints for, and which microengines to stop if a break point occurs; and if the source code line cannot be break pointed, signaling an error. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor that can execute multiple parallel threads in multiple microengines and that comprises:
-
a register stack; a program counter for each executing context; an arithmetic logic unit coupled to the register stack and a program control store that stores a breakpoint routine that causes the processor to; receive a source code line to be break pointed in a selected microengine; determine whether the source code line can be break pointed; if the source code line can be break pointed, identify the selected microengine to insert a break point into, which microengine threads to enable breakpoints for, and which microengines to stop if a break point occurs; and if the source code line cannot be break pointed, signal an error. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification