Method and apparatus for multiplexing hardware performance...

Data processing: measuring – calibrating – or testing – Measurement system – Performance or efficiency evaluation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C701S035000, C712S043000, C712S236000

Reexamination Certificate

active

06546359

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the field of processor performance instrumentation, and more particularly to multiplexing multiple performance indicators during processor performance instrumentation.
BACKGROUND OF THE INVENTION
A computer processor, such as a central processing unit, performs instructions under the direction of software programs. These instructions include loading memory, accessing cache, etc., and they consume processor resources. It is useful for computer software testers to measure how often the processor performs instructions under the direction of a program in order to measure the performance of the program. As a result, processor designers include hardware “counters” in the processor that count the number of times the processor performs specific instructions or the number of times a particular event occurs. These counters are often called “Performance Instrumentation Counters,” and the instructions or events they count, or measure, are often called “performance indicators.” Further, this field is generally called “processor performance instrumentation.”
The number of hardware counters, however, is usually less than the number of performance indicators the tester needs to measure. For instance, there may be sixteen indicators to measure, but only two hardware counters, allowing the tester to measure only two of the sixteen indicators at a time. In order to measure the performance of the program with regard to all sixteen indicators, the tester must run the program multiple times. In this example, the tester must run the program eight times (sixteen indicators divided by two counters) to measure the performance of the program with respect to all the sixteen indicators. This procedure is inconvenient and time consuming.
One solution to this problem would be to have as many hardware counters as performance indicators to measure. Then, the tester could measure all the indicators with one run of the program. Added hardware counters, however, would increase the cost of the processor. Thus, it is desirable to count all the performance indicators during a single run of a program without adding more hardware counters to the processor.
SUMMARY OF THE INVENTION
In accordance with methods and systems consistent with the present invention, an improved processor performance instrumentation system is provided that allows a software tester to measure more performance indicators than there are hardware counters during a single execution of a tested program. The improved processor performance instrumentation system accomplishes this by “multiplexing” performance indicators while executing the tested program. In effect, methods and systems consistent with the present invention extend the abilities of the limited number of hardware counters to allow them to measure a number of performance indicators otherwise not allowed during one execution of the tested program.
In accordance with methods consistent with the present invention, a method is provided in a data processing system for running a tested program. In accordance with this method, while the tested program runs, the method selects one of a plurality of performance indicators and instructs a processor to initialize a performance counter. Methods consistent with the present invention instruct the processor to measure the selected performance indicator and record measured data from the performance counter when a predetermined time period has expired after instructing the processor to measure. Finally, methods consistent with the present invention repeat the steps of selecting one of the performance indicators, instructing the processor to initialize the performance counter, instructing the processor to measure the selected performance indicator, and recording the measured data such that each of the predetermined plurality of performance indicators is measured by the performance counter.
In accordance with systems consistent with the present invention, an apparatus is provided containing a memory and a processor. The processor contains a performance instrumentation counter. The memory contains a tested program and a multiplexing application. The multiplexing application contains first code to run the tested program. The multiplexing application contains second code to select one of a plurality of performance indicators, and third code to instruct the processor to initialize the performance counter. The multiplexing application also contains fourth code to instruct the processor to measure the selected performance indicator and fifth code to record measured data from the performance counter when a predetermined time period has expired after instructing the processor to measure. Finally, the multiplexing application contains sixth code to repeat selecting one of the performance indicators, instructing the processor to initialize the performance counter, instructing the processor to measure the selected performance indicator, and recording the measured data such that each of the predetermined plurality of performance indicators is measured by the performance counter.
The summary and the following detailed description should not restrict the scope of the claimed invention. Both provide examples and explanations to enable others to practice the invention.


REFERENCES:
patent: 4675832 (1987-06-01), Robinson et al.
patent: 4812996 (1989-03-01), Stubbs
patent: 5075847 (1991-12-01), Fromme
patent: 5079707 (1992-01-01), Bird et al.
patent: 5301312 (1994-04-01), Christopher, Jr. et al.
patent: 5325499 (1994-06-01), Kummer et al.
patent: 5325533 (1994-06-01), McInerney et al.
patent: 5353401 (1994-10-01), Iizawa et al.
patent: 5438659 (1995-08-01), Notess et al.
patent: 5499349 (1996-03-01), Nikhil et al.
patent: 5500881 (1996-03-01), Levin et al.
patent: 5519866 (1996-05-01), Lawrence et al.
patent: 5530816 (1996-06-01), Holt
patent: 5553235 (1996-09-01), Chen et al.
patent: 5613063 (1997-03-01), Eustace et al.
patent: 5636374 (1997-06-01), Rodgers et al.
patent: 5673387 (1997-09-01), Chen et al.
patent: 5675790 (1997-10-01), Walls
patent: 5675802 (1997-10-01), Allen et al.
patent: 5689712 (1997-11-01), Heisch
patent: 5710727 (1998-01-01), Mitchell et al.
patent: 5724262 (1998-03-01), Ghahramni
patent: 5742793 (1998-04-01), Sturges et al.
patent: 5745897 (1998-04-01), Perkins et al.
patent: 5748961 (1998-05-01), Hanna et al.
patent: 5761426 (1998-06-01), Ishizaki et al.
patent: 5774724 (1998-06-01), Heisch
patent: 5784698 (1998-07-01), Brady et al.
patent: 5787480 (1998-07-01), Scales et al.
patent: 5805795 (1998-09-01), Whitten
patent: 5835705 (1998-11-01), Larsen et al.
patent: 5850554 (1998-12-01), Carver
patent: 5860024 (1999-01-01), Kyle et al.
patent: 5864867 (1999-01-01), Krusche et al.
patent: 5867649 (1999-02-01), Larson
patent: 5872977 (1999-02-01), Thompson
patent: 5905488 (1999-05-01), Demers et al.
patent: 5905856 (1999-05-01), Ottensooser
patent: 5963975 (1999-10-01), Boyle et al.
patent: 5974536 (1999-10-01), Richardson
patent: 5978892 (1999-11-01), Noel et al.
patent: 5991708 (1999-11-01), Levine et al.
patent: 5991893 (1999-11-01), Snider
patent: 6009514 (1999-12-01), Henzinger et al.
patent: 6016474 (2000-01-01), Kim et al.
patent: 6018793 (2000-01-01), Rao
patent: 6044438 (2000-03-01), Olnowich
patent: 6052708 (2000-04-01), Flynn et al.
patent: 6055368 (2000-04-01), Kunioka
patent: 6065019 (2000-05-01), Ault et al.
patent: 6077312 (2000-06-01), Bates et al.
patent: 6081868 (2000-06-01), Brooks
patent: 6085029 (2000-07-01), Kolawa et al.
patent: 6098169 (2000-08-01), Ranganathan
patent: 6101525 (2000-08-01), Hecker
patent: 6119198 (2000-09-01), Fromm
patent: 6125430 (2000-09-01), Noel et al.
patent: 6173327 (2001-01-01), De Borst et al.
patent: 6205537 (2001-03-01), Albonesi
patent: 6223134 (2001-04-01), Rust et al.
patent: 6253252 (2001-06-01), Schofield
patent: 6263485 (2001-07-01), Schofield
patent: 6269457 (2001-07-01), Lane
patent: 6286130 (2001-09-01), Poulsen et al.
patent: 6311320 (2001-10-01), Jibbe
patent: 6351845 (2002-02-01), Hinker et al.
patent: 2001/0051974 (2001-12-01), Saad

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for multiplexing hardware performance... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for multiplexing hardware performance..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for multiplexing hardware performance... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3080775

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.