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

Computer method and apparatus for analyzing program instructions executing in a computer system

Assignee: Samsung Electronics Co Ltd
•
Filing: 1998-10-30
•
Granted: 1999-12-28
•
Expires: 2018-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Monika Hildegard Henzinger
  • 👤 Shun-Tak Albert Leung
  • 👤 Richard L. Sites
  • 👤 Mark T. Vandevoorde
  • 👤 William Edward Weihl

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 22:12
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/44; G06F8/445; G06F11/00; G06F11/30; G06F11/34; G06F11/3409; G06F11/3452; G06F2201/00; G06F2201/815; G06F2201/865; G06F2201/88; G06F2201/885

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 77 words
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.
Claim 2
Dependent Claim 77 words
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.
Claim 3
Dependent Claim 16 words
A computerized method as claimed in claim 1, wherein the instruction is an operating system instruction.
Claim 4
Dependent Claim 16 words
A computerized method as claimed in claim 1, wherein the instruction is an application program instruction.
Claim 5
Dependent Claim 100 words
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.
Claim 6
Dependent Claim 100 words
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.
Claim 7
Dependent Claim 102 words
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.
Claim 8
Dependent Claim 102 words
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.

References Cited (Backward Citations)

US5465258A Cited
US5459837A Cited
US5615357A Cited
US5751945A Cited
US5799165A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-27 2003-06-28 2003-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-27 2007-06-28 2007-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-27 2011-06-28 2011-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag