Non-intrusive performance monitoring

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

C702S183000, C702S189000, C702S198000

Reexamination Certificate

active

06275782

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to performance monitoring in integrated circuits.
2. Description of the Related Art
Most microprocessors used in desk top computer systems, are equipped with performance monitoring counters. These counters permit processor performance parameters to be monitored and measured. Such information is useful for performance tuning. Current techniques typically utilize two counters which simultaneously record the occurrence of prespecified events. W hen one of the counters overflows, counting stops and an interrupt is generated. Post-processing software is use d to analyze the gathered data.
Typically two large counters, of e.g., 40-bits or more, are provided for event counting. The counters can generally be read and written from within register address space. The counters can be configured to measure such parameters as the number of data reads that hit in the cache. When configured to determined cache hits, the first counter is programmed to record the number of cache hits and the second counter is programmed to record the number of actual data reads performed. The ratio of the two numbers gives the cache hit rate for read operations. Measured performance parameters are a good estimate of future performance. Actual performance at any instant may vary widely from the measured estimate. The typical use of two large counters does not make any attempt to measured this deviation from the average.
When one of the counters reaches its limit, the overflow signal stops all counting and generates an interrupt. The software interrupt handler then records the counter values, completes post data processing and any other support work necessary.
The size of the counters is important. The larger the counter, the less frequently an interrupt is generated. Such interrupts are undesirable because they intrude into normal processor operation. A larger counter also results in greater data averaging. Therefore, temporary fluctuation in cache hit rate may not be observed. Such temporary fluctuations may, or may not be what is of interest.
Before performance monitoring can be accomplished, an interrupt handler must be installed to deal with counter overflow. Of course, overflow can be avoided by the use of extremely large counters. But extremely large counters may be expensive to implement, unreliable or fail to produce the desired analysis. It would be desirable to monitor performance parameters in an integrated circuit such as a processor without having to provide two large counters, without having to deal with counter overflow, without having to provide software interrupt handlers. It would also be desirable to avoid intrusion of the performance monitoring into the normal functioning of the processor in the system.
SUMMARY OF THE INVENTION
Accordingly, the invention provides a new technique for gathering and analyzing performance data with a microprocessor or microcontroller or other integrated circuit. The technique avoids the limitations imposed by fixed size counters which eventually overflow. The method is less intrusive and suitable for monitoring a wide range of performance parameters.
In a first embodiment an integrated circuit includes a performance monitoring circuit which includes an adaptive adder circuit coupled to receive a first input signal indicative of a performance parameter of the integrated circuit and to provide a count value as a measure of the performance parameter. The adaptive adder circuit includes a random number generator circuit providing a random number, a counter circuit providing a count value and a comparator circuit coupled to compare the random number and the count value and to output a compare signal indicative thereof, the compare signal being provided to the counter as an up/down count signal. The adaptive adder circuit also includes a first logic circuit coupled to receive the performance parameter being measured and the compare signal. The first logic circuit outputs a first control signal which is used for controlling operation of the counter circuit. The counter circuit is responsive to count up or down when the first input signal and the compare signal are at different values and the counter circuit does not count when the first input signal and the compare signal are at the same value.
In another embodiment a method of measuring a performance parameter in an integrated circuit includes providing to an adaptive adder circuit, a first input signal indicative of the performance parameter and providing a count value in the adaptive adder circuit as a measure of the performance parameter. The method further includes generating a random number in a random number generator circuit, providing a counter circuit providing the count value, and comparing the random number and the count value and providing a compare signal. The compare signal is provided to the counter circuit as a first control signal. The method further includes logically combining the performance parameter and the compare signal to provide a second control signal for controlling operation of the counter circuit.


REFERENCES:
patent: 3812478 (1974-05-01), Tomisawa et al.
patent: 3887869 (1975-06-01), Connolly et al.
patent: 4115867 (1978-09-01), Vladimirov et al.
patent: 4176402 (1979-11-01), Sipple
patent: 4219877 (1980-08-01), Valdimirov et al.
patent: 4409592 (1983-10-01), Hunt
patent: 4608559 (1986-08-01), Friedman et al.
patent: 4694412 (1987-09-01), Domenik
patent: 5392289 (1995-02-01), Varian
patent: 5412587 (1995-05-01), Holt et al.
patent: 5557548 (1996-09-01), Gover et al.
patent: 5657253 (1997-08-01), Dreyer et al.
patent: 5696828 (1997-12-01), Koopman, Jr.
patent: 5768152 (1998-06-01), Battaline et al.
patent: 5768500 (1998-06-01), Agrawal et al.
patent: 5778194 (1998-07-01), McCombs
patent: 5835702 (1998-11-01), Levine et al.
patent: 5835705 (1998-11-01), Larsen et al.
patent: 5919268 (1999-07-01), McDonald
patent: 6038195 (2000-03-01), Farmwald et al.
patent: 6119075 (2000-09-01), Dean et al.
patent: 2304215 (1997-03-01), None
Richter, Jeffrey for Microsoft Corporation, “Custom Performance Monitoring for Your Windows NT Applications”, copyright 1998, pp. 1-25, http://premium.microsoft.com/msdn/library/periodic/period98/html/layouts_performa_performa_oigi.htm.
IBM Technical Disclosure Bulletin “Hardware Performance Trace Enhancement to Include Performance Events”, vol. 39, No. 10, Oct. 1996, pp. 87-88.
IBM Technical Disclosure Bulletin “Self-Adjusting Utilization Monitor”, vol. 38, No. 2, Feb. 1995, pp. 371-372.
Rohava, S. Ye., “Elements of Stochastic Systems —instrumentation of Non-Deterministic Learning Patterns”, Soviet Automatic Control, vol. 13, No. 5, 1968, pp. 67-69.
Miller, A.J. et al., “A study for an output interface for a digital stochastic computer”, Int. J. Electronics, vol. 37, No. 5, 1974, pp. 637-655.
Gaines, Brian R., “Stochastic computer thrives on noise”, Electronics, vol. 40, No. 14, Jul. 10, 1967, pp. 72-81.*
IBM Technical Disclosure Bulletin, vol. 40, No. 1, “Processor Performance Monitoring with a Depiction of the Efficency of the Cache Coherency Protocol of a Superscalar Microprocessor in an Symmetric Multiple Processor Environment”, Jan. 1997, pp. 79.81.

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

Non-intrusive performance monitoring does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Non-intrusive performance monitoring, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Non-intrusive performance monitoring will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2492742

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