Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1997-10-08
2002-01-22
Trammell, James P. (Department: 2161)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
Reexamination Certificate
active
06341357
ABSTRACT:
BRIEF DESCRIPTION OF THE INVENTION
The present invention relates generally to systems and methods for program code development. More particularly, the invention relates to a hardware performance monitoring mechanism for the evaluation of a program module.
BACKGROUND OF THE INVENTION
Performance monitoring systems are often used to monitor the performance of the algorithms used in a program module and the supporting hardware. Performance monitoring techniques can be classified into three main categories: (1) hardware-based performance monitoring techniques; (2) software-based performance monitoring techniques; and (3) a hybrid technique utilizing a combination of software and hardware approaches.
Software-based performance monitoring techniques include software probes that write out information detailing the behavior of the program while the program is executing. A disadvantage to software performance monitoring is that it is intrusive to the program, often requiring substantial processor cycles and additional memory usage. Furthermore, the software probes cannot obtain detailed architectural performance measurements such as cache misses and the like.
The hybrid performance monitoring approach utilizes both hardware and software based techniques. In one such hybrid scheme, a probe data collection integrated circuit (chip) interfaces with a bus that is in communication with a number of processors. Program code running in each of the processors includes software probes that write event data to the probe data collection chip. The event data represents interprocess communications or events. The probe data collection chip affixes a time stamp to the data and stores the data for further analysis. A disadvantage with this technique is that it cannot obtain detailed architectural performance measurements.
Hardware performance monitoring techniques typically include probing physical signals with dedicated instrumentation and recording the results on external hardware. This approach is non-intrusive to the program code and can obtain detailed architectural performance measurements. However, there is no way of associating a hardware signal with a corresponding source code statement. This association is useful for making improvements to the program code.
Accordingly, there exists a need for a performance monitoring system that can overcome these shortcomings.
SUMMARY OF THE INVENTION
The technology of the present invention pertains to an apparatus and method for implementing a hardware performance monitoring mechanism for use in analyzing the behavior of a program module. The apparatus includes probe logic hardware that monitors the program's behavior in executing memory reference instructions. The probe logic hardware generates several probe signals which are transmitted to a performance monitor circuit when certain events occur. In an embodiment of the present invention, these events can be TLB or cache misses. The performance monitor circuit affixes a time stamp to the probe data and stores the time-stamped probe data in a temporary memory device until the data is stored in a secondary storage device.
A user can then analyze the probe data to determine a suitable manner for optimizing the program in order to improve its performance. The user will be able to associate a particular set of probe data with a particular program statement through the program counter. This will enable the user to optimize the program based on the architectural performance measurements.
REFERENCES:
patent: 3764995 (1973-10-01), Helf, Jr. et al.
patent: 4458309 (1984-07-01), Wilder, Jr.
patent: 5265254 (1993-11-01), Blasciak et al.
patent: 5682328 (1997-10-01), Roeber et al.
patent: 5768500 (1998-06-01), Agrawal et al.
patent: 5886899 (1999-03-01), Stapleton
Harden et al. “In Search of a Standards-Based Approach to Hybrid Performance Monitoring”
Rizvi et al. “Execution-Driven Simulation of a Superscalar Processor”(Proceedings of the 27th Annual Hawaii International Conference on System Sciences, 1994; 1994 IEEE).
Yamamoto et al. Performance Estimation of Multistreamed, Superscalar Processors (Proceedings of the 27th Annual Hawaii International Conference on System Sciences, 1994: 1994 IEEE).
Joseph G. Chamdari, Chapter 6 “Performance Analysis”, from thesis entitledMicroarchitecture Techniques to Improve the Design of Superscalar Microprocessors(Georgia Tech University, Mar. 1995).
Mink et al. “Multiprocessor Performance Measurement Instrumentation” (IEEE Computer, pp. 63-75, Sep. 1990).
Elisca Pierre E.
Pennie & Edmonds LLP
Sun Microsystems Inc.
Trammell James P.
LandOfFree
Apparatus and method for processor 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 Apparatus and method for processor performance monitoring, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for processor performance monitoring will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2826570