Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
168 words
A multithreaded processor, arranged and configured to process a plurality of threads and facilitate thread switch, for monitoring performance of the application executed by the processor, comprising: (a) a first thread arranged and configured for executing the application on the first thread; (b) a second thread arranged and configured for executing recording of at least one selectable thread switch event upon detection of the selectable thread switch event during execution of the application on the first thread; and (c) a thread switch controller for detecting the selectable thread switch event and controlling thread switch between the first thread and the second thread, wherein in response to detection of the selectable thread switch event, the thread switch controller switches processing from the first thread to the second thread, whereby the second thread records information of the selectable thread switch event, and upon completion of recording, the thread switch controller switches processing from the second thread to a thread other than the second thread to continue execution of the application.
Claim 2
Dependent Claim
168 words
A multithreaded processor, arranged and configured to process a plurality of threads and facilitate thread switch, for monitoring performance of the application executed by the processor, comprising: (a) a first thread arranged and configured for executing the application on the first thread; (b) a second thread arranged and configured for executing recording of at least one selectable thread switch event upon detection of the selectable thread switch event during execution of the application on the first thread; and (c) a thread switch controller for detecting the selectable thread switch event and controlling thread switch between the first thread and the second thread, wherein in response to detection of the selectable thread switch event, the thread switch controller switches processing from the first thread to the second thread, whereby the second thread records information of the selectable thread switch event, and upon completion of recording, the thread switch controller switches processing from the second thread to a thread other than the second thread to continue execution of the application.
Claim 3
Dependent Claim
69 words
A multithreaded processor of claim 1 , wherein the thread switch controller comprises a thread switch control register including a first bit for forcing a thread switch, a second bit for indicating whether the thread switch has occurred, a third bit for blocking a thread switch, a fourth bit for allowing exactly two thread switches to occur, and a set of bits for encoding a latest thread switch reason.
Claim 4
Dependent Claim
24 words
A multithreaded processor of claim 1 , wherein the first thread is normally an active thread, the second thread is normally a dormant thread.
Claim 5
Dependent Claim
42 words
A multithreaded processor of claim 2 , wherein the thread switch control register is an architected software-accessible special purpose register in which the second bit, the third bit, and the set of bits are set by hardware operatively connecting to the processor.
Claim 6
Dependent Claim
53 words
A multithreaded processor of claim 1 , wherein the selectable thread switch event includes at least one from the group consisting of: L1 data cache miss, L2 data cache miss, L1 instruction cache miss, L2 instruction cache miss, instruction translation lookaside buffer (TLB) miss, data translation lookaside buffer (TLB) miss, and thread time-out.
Claim 7
Independent Claim
113 words
A method of monitoring at least one selectable event of at least one application by a multithreaded processor which is arranged and configured to process a plurality of threads and facilitate thread switch, the method comprising the steps of: (a) executing the application on a first thread of the multithreaded processor; (b) detecting the selectable event of the application by a thread switch controller; (c) switching processing from the first thread to a second thread responsive to detecting the selectable event; (d) executing the second thread to record information of the selectable event; and (e) switching processing from the second thread to a thread other than the second thread, upon completion of recording.
Claim 8
Independent Claim
113 words
A method of monitoring at least one selectable event of at least one application by a multithreaded processor which is arranged and configured to process a plurality of threads and facilitate thread switch, the method comprising the steps of: (a) executing the application on a first thread of the multithreaded processor; (b) detecting the selectable event of the application by a thread switch controller; (c) switching processing from the first thread to a second thread responsive to detecting the selectable event; (d) executing the second thread to record information of the selectable event; and (e) switching processing from the second thread to a thread other than the second thread, upon completion of recording.
Claim 9
Dependent Claim
66 words
The method of claim 6 , the thread switch controller providing a thread switch control register including a first bit for forcing a thread switch, a second bit for indicating whether the thread switch has occurred, a third bit for blocking thread switch, a fourth bit for allowing exactly two thread switches to occur, and a set of bits for encoding a latest thread switch reason.
Claim 10
Dependent Claim
22 words
The method of claim 6 , the first thread being normally an active thread, the second thread being normally a dormant thread.
Claim 11
Dependent Claim
40 words
The method of claim 7 , the thread switch control register being an architected software-accessible special purpose register in which the second bit, the third bit, and the set of bits are set by hardware operatively connecting to the processor.
Claim 12
Dependent Claim
50 words
The method of claim 6 , wherein the selectable event includes at least one from the group consisting of: L1 data cache miss, L2 data cache miss, L1 instruction cache miss, L2 instruction cache miss, instruction translation lookaside buffer (TLB) miss, data translation lookaside buffer (TLB) miss, and thread time-out.
Claim 13
Dependent Claim
130 words
An article of manufacture for a computer-based user-interface, the article of manufacture comprising a computer readable medium having instructions for causing a computer to perform a method, by a multithreaded processor arranged and configured to process a plurality of threads and facilitate thread switch, the method comprising the steps of: (a) executing the application on a first thread of the multithreaded processor; (b) detecting at least one selectable event of the application by a thread switch controller of the multithreaded processor; (c) switching processing from the first thread to a second thread responsive to detecting the selectable event; (d) executing the second thread to record information of the selectable event; and (e) switching processing from the second thread to a thread other than the second thread, upon completion of recording.
Claim 14
Dependent Claim
130 words
An article of manufacture for a computer-based user-interface, the article of manufacture comprising a computer readable medium having instructions for causing a computer to perform a method, by a multithreaded processor arranged and configured to process a plurality of threads and facilitate thread switch, the method comprising the steps of: (a) executing the application on a first thread of the multithreaded processor; (b) detecting at least one selectable event of the application by a thread switch controller of the multithreaded processor; (c) switching processing from the first thread to a second thread responsive to detecting the selectable event; (d) executing the second thread to record information of the selectable event; and (e) switching processing from the second thread to a thread other than the second thread, upon completion of recording.
Claim 15
Dependent Claim
147 words
A computer system, comprising: a multithreaded processor, said multithreaded processor supporting the concurrent execution of a plurality of threads and including: (a) a plurality of sets of registers, each set corresponding to a respective thread, and (b) thread switch logic, said thread switch logic switching execution from one of said plurality of threads to another of said plurality of threads in response to detection of a thread switch condition; and a performance monitor embodied as a plurality of processor-executable instructions in a monitoring thread stored on said computer system, wherein said monitoring thread records the occurrence of a thread switch event responsive to said thread switch logic switching execution from a monitored thread to said monitoring thread, and wherein said monitoring thread causes said thread switch logic to switch execution to a thread other than said monitoring thread after recording the occurrence of said thread switch event.
Claim 16
Dependent Claim
147 words
A computer system, comprising: a multithreaded processor, said multithreaded processor supporting the concurrent execution of a plurality of threads and including: (a) a plurality of sets of registers, each set corresponding to a respective thread, and (b) thread switch logic, said thread switch logic switching execution from one of said plurality of threads to another of said plurality of threads in response to detection of a thread switch condition; and a performance monitor embodied as a plurality of processor-executable instructions in a monitoring thread stored on said computer system, wherein said monitoring thread records the occurrence of a thread switch event responsive to said thread switch logic switching execution from a monitored thread to said monitoring thread, and wherein said monitoring thread causes said thread switch logic to switch execution to a thread other than said monitoring thread after recording the occurrence of said thread switch event.
Claim 17
Dependent Claim
44 words
A computer system of claim 12 , wherein the thread switch logic comprises a software-accessible thread switch control register having a plurality of thread switch control bits, wherein at least one of said control bits is set by hardware operatively connected to the processor.
Claim 18
Dependent Claim
21 words
A computer system of claim 13 , wherein said thread switch control bits include a bit for forcing a thread switch.
Claim 19
Dependent Claim
25 words
A computer system of claim 13 , wherein said thread switch control bits include a plurality of bits specifying a reason for a thread switch.