Computer method and apparatus for analyzing program instructions executing in a computer system
First Claim
1. A computerized method for analyzing an instruction of a program executing in a computer system, comprising the steps of:
- determining an average number of cycles incurred to issue the instruction dependent on a sample count collected for the instruction;
determining a number of stall cycles incurred while issuing the instruction dependent on the determined average number of cycles and a predetermined minimum number of cycles for the instruction; and
determining and providing reasons for the stall cycles.
3 Assignments
0 Petitions
Accused Products
Abstract
In a computerized method, performance data collected while a computer system executed instructions of a program are analyzed. The method collects performance data while executing the program. The performance data includes sample counts of instructions executed. The program is analyzed to determine classes of instructions. Instructions of the same equivalence class all execute the identical number of times. The execution frequencies for each instructions of each equivalence class is estimated. The estimated execution frequencies can then be used to determine the average number of cycles required to issue each instruction of each equivalence class. The average number of cycles can be compared with the minimum number of cycles to determine the number of dynamic stall cycles incurred by the instructions. Furthermore, reasons for the dynamic stall cycles can be inferred.
-
Citations
5 Claims
-
1. A computerized method for analyzing an instruction of a program executing in a computer system, comprising the steps of:
-
determining an average number of cycles incurred to issue the instruction dependent on a sample count collected for the instruction; determining a number of stall cycles incurred while issuing the instruction dependent on the determined average number of cycles and a predetermined minimum number of cycles for the instruction; and determining and providing reasons for the stall cycles. - View Dependent Claims (2, 3)
-
-
4. A computer system comprising:
-
a central processing unit connected to a memory system by a bus; and a performance analysis routine located in the memory system responsive to a request for analyzing an instruction of a program executing in the central processing unit, which; determines an actual number of cycles incurred to issue the instruction dependent on an sample count for the instruction; determines a number of stall cycles incurred while issuing the instruction dependent on the determined actual number of cycles and a predetermined number of cycles for the instruction; and determines and provides reasons for the stall cycles.
-
-
5. A computerized method for pre-execution analysis of a program comprising:
-
representing procedures of the program as a control flow graph having nodes and arcs, each node representing a basic block of the program, and the arcs representing execution flows between the basic blocks and procedures, each instruction of a particular block being executed an identical number of times so that the instructions of the basic block form an equivalence class of instructions; identifying all nodes and arcs of the control flow graph which have an identical execution frequency; and assigning all the nodes having the identical frequency to the same equivalence class.
-
Specification