← Back to Patent Explorer
US5835705A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for performance per-thread monitoring in a multithreaded processor

Assignee: International Business Machines Corp
•
Filing: 1997-03-11
•
Granted: 1998-11-10
•
Expires: 2017-03-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for performance monitoring within a multithreaded processor are provided. The system includes a processor responsive to instructions within first and second threads and a performance monitor that separately records a first event generated by the processor in response to the first thread and a second event generated by the processor in response to the second thread. In one embodiment, the processor has first and second modes of operation. In this embodiment, when the performance monitor is operating in the first mode, a first counter within the performance monitor increments in response to each occurrence of the first event and a second counter within the performance monitor increments in response to each occurrence of the second event. Alternatively, when the performance monitor is operating in the second mode, the first counter increments in response to each occurrence of the first event and in response to each occurrence of the second event.

Inventors

  • 👤 Troy Dale Larsen
  • 👤 Jack Chris Randolph
  • 👤 Andrew Henry Wottreng

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 07:14
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3409; G06F2201/00; G06F2201/86; G06F2201/88; G06F2201/885

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 71 words
A system, comprising: a processor responsive to instructions within a first thread and instructions within a second thread; and a performance monitor that separately records a first event occurrence generated by said processor in response to said first thread and a second event occurrence generated by said processor in response to said second thread, wherein said first event occurrence and said second event occurrence are two occurrences of the same event.
Claim 2
Independent Claim 71 words
A system, comprising: a processor responsive to instructions within a first thread and instructions within a second thread; and a performance monitor that separately records a first event occurrence generated by said processor in response to said first thread and a second event occurrence generated by said processor in response to said second thread, wherein said first event occurrence and said second event occurrence are two occurrences of the same event.
Claim 3
Dependent Claim 20 words
The system of claim 1, wherein said processor and said performance monitor are both formed within a single semiconductor substrate.
Claim 4
Dependent Claim 57 words
The system of claim 1, said performance monitor including a first counter and a second counter and having a first mode of operation, wherein when said performance monitor is operating in said first mode, said first counter increments in response to said first event occurrence and said second counter increments in response to said second event occurrence.
Claim 5
Dependent Claim 105 words
The system of claim 1, said performance monitor including a plurality of counters for recording event occurrences, wherein a first subset of said plurality of counters are allocated to said first thread and a second subset of said plurality of counters are allocated to said second thread, wherein for a particular event, only a counter belonging to said first subset can increment in response to an occurrence of said particular event generated while said first thread is active and only a counter belonging to said second subset can increment in response to an occurrence of said particular event generated while said second thread is active.
Claim 6
Dependent Claim 43 words
The system of claim 3, wherein said performance monitor has a second mode of operation, wherein when said performance monitor is operating in said second mode, said first counter increments in response to both said first event occurrence and said second event occurrence.
Claim 7
Dependent Claim 47 words
The system of claim 1, wherein said processor generates occurrences of a plurality of diverse events in response to said first and second threads, wherein said performance monitor includes a control that selectively determines a subset of said plurality of diverse events for which occurrences are recorded.
Claim 8
Dependent Claim 69 words
The system of claim 1, said multithreaded processor executing said first thread and said second thread one at a time, wherein at least one instruction within said second thread is executed by said processor between generation of said first event occurrence and a third event occurrence generated in response to said first thread, and wherein said performance monitor records said first event occurrence and said third event occurrence together.
Claim 9
Dependent Claim 19 words
The system of claim 1, wherein said processor generates said first event occurrence while said first thread is inactive.
Claim 10
Dependent Claim 48 words
The system of claim 4, and further comprising addressing logic, wherein in response to a read request from one of said first and second threads, said addressing logic maps said read request to a particular counter in a corresponding one of said first and second subsets of counters.
Claim 11
Dependent Claim 61 words
The system of claim 4, and further comprising interrupt generation circuitry, wherein said interrupt generation circuitry generates an interrupt in response to a state of a counter in said first subset only when said first thread is active and generates an interrupt in response to a state of a counter in said second subset only when said second thread is active.
Claim 12
Independent Claim 86 words
A method of performance monitoring within a multithreaded processor, said method comprising: within a multithreaded processor, processing a first thread and a second thread; generating a first event occurrence within said multithreaded processor in response to processing said first thread and generating a second event occurrence within said multithreaded processor in response to processing said second thread, wherein said first event occurrence and said second event occurrence are two occurrences of the same event; and recording said first event occurrence and said second event occurrence separately.
Claim 13
Independent Claim 86 words
A method of performance monitoring within a multithreaded processor, said method comprising: within a multithreaded processor, processing a first thread and a second thread; generating a first event occurrence within said multithreaded processor in response to processing said first thread and generating a second event occurrence within said multithreaded processor in response to processing said second thread, wherein said first event occurrence and said second event occurrence are two occurrences of the same event; and recording said first event occurrence and said second event occurrence separately.
Claim 14
Dependent Claim 130 words
The method of claim 11, said multithreaded processor including a plurality of counters for recording event occurrences, wherein a first subset of said plurality of counters are allocated to said first thread and a second subset of said plurality of counters are allocated to said second thread, and wherein said first event occurrence and said second event occurrence are two occurrences of a particular event, wherein said step of recording said first event occurrence and said second event occurrence separately comprises: incrementing a counter belonging to said first subset in response to an occurrence of said particular event generated while said first thread is active; and incrementing a counter belonging to said second subset in response to an occurrence of said particular event generated while said second thread is active.
Claim 15
Dependent Claim 89 words
The method of claim 11, said multithreaded processor having a performance monitor including a first counter and a second counter, said performance monitor having a first mode of operation, wherein said step of recording said first event occurrence and said second event occurrence separately is performed in response to said performance monitor operating in said first mode, and wherein said recording step comprises the step of: incrementing said first counter in response to said first event occurrence and incrementing said second counter in response to said second event occurrence.
Claim 16
Dependent Claim 42 words
The method of claim 12, and further comprising: in response to a read request by one of said first and second threads, mapping said read request to a particular counter in a corresponding one of said first and second subsets of counters.
Claim 17
Dependent Claim 50 words
The method of claim 13, wherein said performance monitor has a second mode of operation, said method further comprising the step of: in response to said performance monitor operating in said second mode, incrementing said first counter in response to both said first event occurrence and said second event occurrence.
Claim 18
Dependent Claim 48 words
The method of claim 11, wherein said multithreaded processor generates occurrences of a plurality of diverse events in response to processing said first and second threads, said method further comprising the step of: selectively determining a subset of said plurality of diverse events for which occurrences are recorded.
Claim 19
Dependent Claim 71 words
The method of claim 11, said multithreaded processor executing said first thread and said second thread one at a time, wherein at least one instruction within said second thread is executed by said processor between generation of said first event occurrence and a third event occurrence generated in response to said first thread, said method further comprising the step of recording said first event occurrence and said third event occurrence together.
Claim 20
Dependent Claim 29 words
The method of claim 11, wherein said step of generating said first event occurrence comprises the step of generating said first event occurrence while said first thread is inactive.
Claim 21
Dependent Claim 56 words
The method of claim 12, and further comprising the step of: generating an interrupt in response to a state of a counter in said first subset only when said first thread is active and generating an interrupt in response to a state of a counter in said second subset only when said second thread is active.

References Cited (Backward Citations)

US529727A Cited
US5694604A Cited
US4821178A Cited
US5179702A Cited
US5193187A Cited
US5463775A Cited
US5355484A Cited
US5511192A Cited
US5657253A Cited
US5450349A Cited
US5490272A Cited
US5537541A Cited
US5557548A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-09 2002-05-11 2002-11-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-09 2006-05-11 2006-11-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-09 2010-05-11 2010-11-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag