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

Programmable max/min counter for performance analysis of computer systems

Assignee: HP Inc
•
Filing: 1991-07-12
•
Granted: 1992-11-17
•
Expires: 2011-07-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method counts the maximum and minimum number of continuous cycles in which a RISC system event occurs. Additionally, a hold enable input offers the functionality of counting max/min events that are not continuous in time. These maximum and minimum counts are useful for benchmarking performance measurements and for performance debugging. The system and method provides a self-test mode for component testing, as well as maximum, minimum, and accumulator counting modes for use in a programmable performance analysis system. These counting modes allow various aspects of a target system to be categorized for performance analysis. The system has applicability in workstations and RISC systems having high frequency requirements typically greater than 50 Mhz. In one embodiment, a programmable system designed to be utilized in a workstation environment makes use of two identical full speed clock counters and a comparator which are controlled by a PAL that implements a state machine to provide the above four modes of operation.

Inventors

  • 👤 Richard K. Alley
  • 👤 Anthony L. Riccio, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 00:58
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/348; G06F11/3409; G06F11/22; G06F11/26; G06F11/3428; G06F2201/00; G06F2201/86; G06F2201/88

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 119 words
A system for counting a number of events which occur in a computer comprising: (a) a first counter which produces a first event count; (b) a second counter which produces a second event count; (c) a comparator comprising: (i) a first input for receiving a first event count from said first counter; (ii) a second input for receiving a second count event from said second counter; (iii) an output for indicating a relationship between said first and second event count; and (d) a controller for receiving said output from said comparator and implementing a state machine, wherein said state machine provides one of a maximum, minimum or normal counting modes of operation for counting the number of system events.
Claim 2
Independent Claim 119 words
A system for counting a number of events which occur in a computer comprising: (a) a first counter which produces a first event count; (b) a second counter which produces a second event count; (c) a comparator comprising: (i) a first input for receiving a first event count from said first counter; (ii) a second input for receiving a second count event from said second counter; (iii) an output for indicating a relationship between said first and second event count; and (d) a controller for receiving said output from said comparator and implementing a state machine, wherein said state machine provides one of a maximum, minimum or normal counting modes of operation for counting the number of system events.
Claim 3
Dependent Claim 50 words
The system of claim 1, wherein one of said modes further comprises: (a) a self-test mode for checking for correct operation of said counters; (b) a self-test mode for checking for correct operation of said comparator; and (c) a self-test mode for checking for correct operation of said state machine.
Claim 4
Independent Claim 150 words
A method for counting a maximum number of consecutive events occurring in a computer, comprising the steps of: (a) setting a count enable signal to true when a predetermined event occurs within a specified time period; (b) setting the count enable signal to false when the event does not occur within a specified time period; (c) incrementing a first counter when said count enable signal is true; (d) clearing the first counter to a zero value when said count enable signal is false; (e) incrementing a second counter for counting a maximum number of consecutive events when said second counter contains a value equivalent to a current value of said first counter when said count enable is true; and (f) holding said second counter to its current value when said second counter contains a value equivalent to a current value of said first counter when said count enable is false.
Claim 5
Independent Claim 150 words
A method for counting a maximum number of consecutive events occurring in a computer, comprising the steps of: (a) setting a count enable signal to true when a predetermined event occurs within a specified time period; (b) setting the count enable signal to false when the event does not occur within a specified time period; (c) incrementing a first counter when said count enable signal is true; (d) clearing the first counter to a zero value when said count enable signal is false; (e) incrementing a second counter for counting a maximum number of consecutive events when said second counter contains a value equivalent to a current value of said first counter when said count enable is true; and (f) holding said second counter to its current value when said second counter contains a value equivalent to a current value of said first counter when said count enable is false.
Claim 6
Independent Claim 141 words
A method for counting a minimum number of consecutive events which occur in a computer comprising the steps of: (a) counting with a first counter a number of events in a first continuous stream of events; (b) counting with a second counter a number of events in a second continuous stream of events; (c) comparing values of said first counter and said second counter to determine a larger value; (d) clearing the counter containing the larger value; (e) counting the number of events in a next continuous stream of events with the previously cleared counter; (f) repeating steps (c), (d) and (e) until counting of events is completed; (g) comparing the values of said first counter and said second counter to determine a smaller value; (h) selecting the smaller value as a final minimum count of the number of consecutive events.
Claim 7
Independent Claim 141 words
A method for counting a minimum number of consecutive events which occur in a computer comprising the steps of: (a) counting with a first counter a number of events in a first continuous stream of events; (b) counting with a second counter a number of events in a second continuous stream of events; (c) comparing values of said first counter and said second counter to determine a larger value; (d) clearing the counter containing the larger value; (e) counting the number of events in a next continuous stream of events with the previously cleared counter; (f) repeating steps (c), (d) and (e) until counting of events is completed; (g) comparing the values of said first counter and said second counter to determine a smaller value; (h) selecting the smaller value as a final minimum count of the number of consecutive events.
Claim 8
Independent Claim 114 words
A method of counting bursts of consecutive events that are not continuous in time in a computer comprising the steps of: (a) setting a count enable to true when an event occurs, and setting said count enable to false when said event does not occur during a specified time period; (b) setting a hold enable to true when said count enable is to be ignored, and setting said hold enable to false when said count enable is not to be ignored; (c) incrementing a first counter when said count enable is true and said hold enable is false; and (d) retaining said first counter at its current value when said hold enable is true.
Claim 9
Independent Claim 114 words
A method of counting bursts of consecutive events that are not continuous in time in a computer comprising the steps of: (a) setting a count enable to true when an event occurs, and setting said count enable to false when said event does not occur during a specified time period; (b) setting a hold enable to true when said count enable is to be ignored, and setting said hold enable to false when said count enable is not to be ignored; (c) incrementing a first counter when said count enable is true and said hold enable is false; and (d) retaining said first counter at its current value when said hold enable is true.
Claim 10
Dependent Claim 126 words
A method for counting as in claim 5 further comprising the steps of: (e) clearing said first counter to a zero value when said count enable is false and said hold enable is false; (f) counting a maximum number of consecutive events by incrementing a second counter when a current value of said second counter is equal to a current value of said first counter, when said count enable is true and said hold enable is false; (g) retaining said second counter at its current value when any one of the following set of conditions exist: (i) said count enable is false; (ii) the value of said first counter is not equal to the value of the second counter; or (iii) said hold enable is true.
Claim 11
Dependent Claim 190 words
A method for counting as in claim 5, further comprising the steps of: (e) counting a minimum number of consecutive events by incrementing a second counter when: (i) a current value of said second counter is equal to a current value of said first counter, (ii) when the count enable is true, and (iii) the hold enable is false; (f) retaining said second counter at its current value when any one of the following set of conditions exist: (i) said count enable is false; (ii) the value of said first counter is not equal to the value of the second counter; or (iii) said hold enable is true. (g) comparing the values of said first counter and said second counter to determine a larger value; (h) clearing the counter which has the larger value; (i) counting with the newly cleared counter a number of events in a next stream of events; (j) repeating steps (g)-(i) until counting is completed; (k) comparing values of said first counter and said second counter to determine which is smaller; and (l) selecting the smaller counter value as a final minimum count of consecutive events.

References Cited (Backward Citations)

US4016406A Cited
US3841456A Cited
US4001699A Cited
US4255809A Cited
US4691330A Cited
US4780895A Cited
US4870665A Cited
US4881040A Cited
US5033066A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-11-17 1996-05-18 1996-11-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-11-17 2000-05-18 2000-11-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-11-17 2004-05-18 2004-11-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag