Patent US5774724A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5774724A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for acquiring high granularity performance data in a computer system

Assignee: International Business Machines Corp
•
Filing: 1995-11-20
•
Granted: 1998-06-30
•
Expires: 2015-11-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A microprocessor performance monitor and instruction address break point facility are interconnected to provide finer granularity and performance monitoring. The microprocessor is initialized to collect processor statistics preselected prior to performance monitoring. Application start and stop instruction breakpoint addresses are preselected from a software program bounding instructions for which such statistics are desired. An exception handler is installed for instruction address breakpoints (IAB), enabling and disabling the performance monitor and stop addresses, respectively. The IAB register is then initalized to the start address, and the statistics counters are cleared. Upon starting the application, when the application start address instruction is executed, the breakpoint handler obtains control and enables the performance monitor counters, which count the desired statistics after returning from the breakpoint handler. Before returning, the handler sets the IAB register to the stop address. When the application stop address is encountered, the breakpoint handler disables the performance monitor counters, and rearms the start address in the IAB register. The performance monitor counters are then read to determine the desired statistics for the specific sequence of code within the boundaries of the start and stop addresses in the application.

Inventors

  • 👤 Randall Ray Heisch

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 20:41
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3409; G06F11/348; G06F2201/00; G06F2201/86; G06F2201/88; G06F2201/885

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 86 words
A method for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, comprising: preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; executing said computer program; hardware performance monitoring for occurrence of said start and stop address breakpoints during said execution; and activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 2
Independent Claim 86 words
A method for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, comprising: preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; executing said computer program; hardware performance monitoring for occurrence of said start and stop address breakpoints during said execution; and activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 3
Dependent Claim 58 words
The method of claim 1 wherein said monitoring comprises: detecting occurrence of said start and stop address breakpoints; and wherein said activating and deactivating comprises: activating a performance monitor counter in response to said detecting occurrence of said start address breakpoint; and deactivating said performance monitor counter in response to said detecting occurrence of said stop address breakpoint.
Claim 4
Dependent Claim 30 words
The method of claim 2 further including preselecting a performance monitor parameter prior to said executing; and wherein said counter counts occurrences of events corresponding to said performance monitor parameter.
Claim 5
Dependent Claim 12 words
The method of claim 3 wherein address breakpoints are instruction address breakpoints.
Claim 6
Dependent Claim 58 words
The method of claim 4 further including recording at said occurrence of said start address breakpoint an address at which said program was executing last prior to said occurrence of said start address breakpoint; and resuming said executing of said program at said address at which said program was executing after said occurrence of said stop address breakpoint.
Claim 7
Dependent Claim 18 words
The method of claim 5 wherein said detecting steps activate, in response thereto, an address breakpoint exception handler.
Claim 8
Dependent Claim 32 words
The method of claim 6 wherein said address breakpoint exception handler enables said counter of said performance monitor in response to said detecting of said start and said stop address breakpoints, respectively.
Claim 9
Dependent Claim 39 words
The method of claim 7 wherein said system includes an instruction address breakpoint register; and wherein said method further includes alternately setting said address breakpoint register with said exception handler to said start and said stop address breakpoints, respectively.
Claim 10
Dependent Claim 44 words
The method of claim 8 further including counting the number of times during said executing that said portion of said computer program executes; and adjusting said count of occurrences of said parameter in response to said counting the number of times said portion executes.
Claim 11
Independent Claim 95 words
An apparatus for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, comprising: means for preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; means for executing said computer program; hardware performance monitor means for monitoring for occurrence of said start and stop address breakpoints during said execution; and means for activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 12
Independent Claim 95 words
An apparatus for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, comprising: means for preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; means for executing said computer program; hardware performance monitor means for monitoring for occurrence of said start and stop address breakpoints during said execution; and means for activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 13
Dependent Claim 70 words
The apparatus of claim 10 wherein said means for monitoring comprises: means for detecting occurrence of said start and stop address breakpoints; and wherein said means for activating and deactivating comprises: means for activating a performance monitor counter in response to said means for detecting occurrence of said start address breakpoint; and means for deactivating said performance monitor counter in response to said detecting occurrence of said stop address breakpoint.
Claim 14
Dependent Claim 32 words
The apparatus of claim 11 further including means for preselecting a performance monitor parameter prior to said executing; and wherein said counter counts occurrences of events corresponding to said performance monitor parameter.
Claim 15
Dependent Claim 12 words
The apparatus of claim 12 wherein address breakpoints are instruction address breakpoints.
Claim 16
Dependent Claim 62 words
The apparatus of claim 13 further including means for recording at said occurrence of said start address breakpoint an address at which said program was executing last prior to said occurrence of said start address breakpoint; and means for resuming said executing of said program at said address at which said program was executing after said occurrence of said stop address breakpoint.
Claim 17
Dependent Claim 22 words
The apparatus of claim 14 wherein said means for detecting steps activates, in response to said detecting, an address breakpoint exception handler.
Claim 18
Dependent Claim 34 words
The apparatus of claim 15 wherein said address breakpoint exception handler enables said counter of said performance monitor in response to said means for detecting of said start and said stop address breakpoints, respectively.
Claim 19
Dependent Claim 41 words
The apparatus of claim 16 wherein said system includes an instruction address breakpoint register; and wherein said apparatus further includes means for alternately setting said address breakpoint register with said exception handler to said start and said stop address breakpoints, respectively.
Claim 20
Dependent Claim 50 words
The apparatus of claim 17 further including means for counting the number of times during said executing that said portion of said computer program executes; and means for adjusting said count of occurrences of said events in response to said means for counting the number of times said portion executes.
Claim 21
Dependent Claim 142 words
A computer program product for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, said computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for effecting said acquiring of said data, said computer program product having computer readable program code means for preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; computer readable program code means for executing said computer program; computer readable program code means for hardware performance monitoring for occurrence of said start and stop address breakpoints during said execution; and computer readable program code means for activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 22
Dependent Claim 142 words
A computer program product for acquiring fine granularity hardware performance monitor data for a microprocessor architecture design associated with a computer program operating in a computer system, said computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for effecting said acquiring of said data, said computer program product having computer readable program code means for preselecting start and stop hardware address breakpoints bounding a portion of said computer program for which said performance monitor data is desired; computer readable program code means for executing said computer program; computer readable program code means for hardware performance monitoring for occurrence of said start and stop address breakpoints during said execution; and computer readable program code means for activating and deactivating said hardware performance monitoring to acquire said hardware performance monitor data at a subprocess level.
Claim 23
Dependent Claim 92 words
The computer program product of claim 19 wherein said computer readable program code means for monitoring comprises: computer readable program code means for detecting occurrence of said start and stop address breakpoints; and wherein said computer readable program code means for activating and deactivating comprises: computer readable program code means for activating a performance monitor counter in response to said means for detecting occurrence of said start address breakpoint; and computer readable program code means for deactivating said performance monitor counter in response to said detecting occurrence of said stop address breakpoint.
Claim 24
Dependent Claim 38 words
The computer program product of claim 20 further including computer readable program code means for preselecting a performance monitor parameter prior to said executing; and wherein said counter counts occurrences of events corresponding to said performance monitor parameter.
Claim 25
Dependent Claim 14 words
The computer program product of claim 21 wherein address breakpoints are instruction address breakpoints.
Claim 26
Dependent Claim 72 words
The computer program product of claim 22 further including computer readable program code means for recording at said occurrence of said start address breakpoint an address at which said program was executing last prior to said occurrence of said start address breakpoint; and computer readable program code means for resuming said executing of said program at said address at which said program was executing after said occurrence of said stop address breakpoint.
Claim 27
Dependent Claim 28 words
The computer program product of claim 23 wherein said computer readable program code means for detecting steps activates, in response to said detecting, an address breakpoint exception handler.
Claim 28
Dependent Claim 40 words
The computer program product of claim 24 wherein said address breakpoint exception handler enables said counter of said performance monitor in response to said computer readable program code means for detecting of said start and said stop address breakpoints, respectively.
Claim 29
Dependent Claim 51 words
The computer program product of claim 25 wherein said system includes an instruction address breakpoint register; and wherein said computer readable program code means further includes computer readable program code means for alternately setting said address breakpoint register with said exception handler to said start and said stop address breakpoints, respectively.
Claim 30
Dependent Claim 60 words
The computer program product of claim 26 further including computer readable program code means for counting the number of times during said executing that said portion of said computer program executes; and computer readable program code means for adjusting said count of occurrences of said events in response to said means for counting the number of times said portion executes.

References Cited (Backward Citations)

US3707725A Cited
US4541048A Cited
US4503495A Cited
US4511960A Cited
US4972314A Cited
US4873630A Cited
US5093914A Cited
US5226162A Cited
US5297274A Cited
US5265254A Cited
US5450586A Cited
US5446900A Cited
US5367550A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag