Electrical computers and digital processing systems: processing – Processing control – Branching
Reexamination Certificate
2007-11-06
2007-11-06
Sparks, Donald (Department: 2181)
Electrical computers and digital processing systems: processing
Processing control
Branching
C712S240000, C712S239000
Reexamination Certificate
active
10757237
ABSTRACT:
A method, apparatus, and computer instructions for autonomically counting selected branch instructions executed in a processor to improve branch predictions. Counters are provided to count branch instructions that are executed in a processor to collect branch statistics. A set of branch statistics fields is allocated to associate with a branch instruction. When a program is executed, the stored statistics allows the program to look at the branch statistics in the counter to perform branch prediction. Hence, a user may use branch statistics values from the hardware counter to perform analysis on application code.
REFERENCES:
patent: 4291371 (1981-09-01), Holtey
patent: 4316245 (1982-02-01), Luu et al.
patent: 5051944 (1991-09-01), Fetterolf et al.
patent: 5103394 (1992-04-01), Blasciak
patent: 5113507 (1992-05-01), Jaeckel
patent: 5142634 (1992-08-01), Fite et al.
patent: 5212794 (1993-05-01), Pettis et al.
patent: 5394529 (1995-02-01), Brown et al.
patent: 5581778 (1996-12-01), Chin et al.
patent: 5659679 (1997-08-01), Alpert et al.
patent: 5691920 (1997-11-01), Levine et al.
patent: 5752062 (1998-05-01), Gover et al.
patent: 5768500 (1998-06-01), Agrawal et al.
patent: 5774724 (1998-06-01), Heisch
patent: 5794028 (1998-08-01), Tran
patent: 5797019 (1998-08-01), Levine et al.
patent: 5930508 (1999-07-01), Faraboschi et al.
patent: 5937437 (1999-08-01), Roth et al.
patent: 5938778 (1999-08-01), John, Jr. et al.
patent: 5940618 (1999-08-01), Blandy et al.
patent: 5950003 (1999-09-01), Kaneshiro et al.
patent: 5950009 (1999-09-01), Bortnikov et al.
patent: 5966537 (1999-10-01), Ravichandran
patent: 5966538 (1999-10-01), Granston et al.
patent: 5987250 (1999-11-01), Subrahmanyam
patent: 6006033 (1999-12-01), Heisch
patent: 6026235 (2000-02-01), Shaughnessy
patent: 6070009 (2000-05-01), Dean et al.
patent: 6101524 (2000-08-01), Choi et al.
patent: 6119075 (2000-09-01), Dean et al.
patent: 6134676 (2000-10-01), VanHuben et al.
patent: 6189141 (2001-02-01), Benitez et al.
patent: 6189142 (2001-02-01), Johnston et al.
patent: 6192513 (2001-02-01), Subrahmanyam
patent: 6206584 (2001-03-01), Hastings
patent: 6223338 (2001-04-01), Smolders
patent: 6233679 (2001-05-01), Holmberg
patent: 6237141 (2001-05-01), Holzle et al.
patent: 6243804 (2001-06-01), Cheng
patent: 6256775 (2001-07-01), Flynn
patent: 6286132 (2001-09-01), Tanaka et al.
patent: 6324689 (2001-11-01), Lowney et al.
patent: 6330662 (2001-12-01), Patel et al.
patent: 6351844 (2002-02-01), Bala
patent: 6374364 (2002-04-01), McElroy et al.
patent: 6430741 (2002-08-01), Mattson, Jr. et al.
patent: 6442585 (2002-08-01), Dean et al.
patent: 6446029 (2002-09-01), Davidson et al.
patent: 6480938 (2002-11-01), Vondran, Jr.
patent: 6505292 (2003-01-01), Witt
patent: 6542985 (2003-04-01), Johnson et al.
patent: 6549998 (2003-04-01), Pekarich et al.
patent: 6594820 (2003-07-01), Ungar
patent: 6631514 (2003-10-01), Le
patent: 6681387 (2004-01-01), Hwu et al.
patent: 6925424 (2005-08-01), Jones et al.
patent: 6961925 (2005-11-01), Callahan, II et al.
patent: 7181723 (2007-02-01), Luk et al.
patent: 2001/0032305 (2001-10-01), Barry
patent: 2002/0019976 (2002-02-01), Patel et al.
patent: 2002/0073406 (2002-06-01), Gove
patent: 2002/0124237 (2002-09-01), Sprunt et al.
patent: 2002/0129309 (2002-09-01), Floyd et al.
patent: 2002/0147965 (2002-10-01), Swaine et al.
patent: 2002/0157086 (2002-10-01), Lewis et al.
patent: 2002/0199179 (2002-12-01), Lavery et al.
patent: 2003/0014741 (2003-01-01), Megiddo et al.
patent: 2003/0040955 (2003-02-01), Anaya et al.
patent: 2003/0066055 (2003-04-01), Spivey
patent: 2003/0101367 (2003-05-01), Bartfai et al.
patent: 2003/0131343 (2003-07-01), French et al.
patent: 2004/0194076 (2004-09-01), Comp et al.
patent: 2004/0268316 (2004-12-01), Fisher et al.
patent: 2000029731 (1999-12-01), None
patent: 2000347863 (2000-12-01), None
Cohen et al., “Hardware-Assisted Characterization of NAS Benchmarks”, Cluster Computing, vol. 4, No. 3, Jul. 2001, pp. 189-196.
Talla et al., “Evaluating Signal Processing and Multimedia Applications on SIMD, VLIW and Super Scalar Architectures”, International Conference on Computer Design, Austin, Sep. 17-20, 2000, pp. 163-172.
Talla et al., “Execution Characteristics of Multimedia Applications on a Pentium II Process r”, IEEE International Performance, Computing, and Communications Conference, 19th, Phoenix, F b. 20-22, 2000, pp. 516-524.
IBM Research Disclosure Bulletin 444188, “Enable Debuggers as an Objective Performanc Measurement Tool for Software Development Cost Reduction”, Apr. 2001, pp. 686-688.
U.S. Appl. No. 09/435,069, filed Nov. 4, 1999, Davidson et al., Method and Apparatus for Instruction Sampling for Performance Monitoring and Debug.
U.S. Appl. No. 08/538,071, filed Oct. 2, 1995, Gover et al., Method and System for Selecting and Distinguishing an Event Sequence using an Effective Address in a Pr cessing Syst m.
DeWitt, Jr. et al., Method and Apparatus for Counting Instruction Execution and Data Accesses, filed Sep. 30, 2003.
Levine et al., Method and Apparatus for Selectively Counting Instructions and Data Accesses, filed Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Generating Interrupts Upon Execution of Marked Instructions and Upon Access to Marked Memory Locations, filed Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Data Accesses and Instruction Executions that Exceed a Threshold, filed Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Execution of Specific Instructions and Accesses to Specific Data Locations, filed Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Debug Support for Individual Instructions and Memory Locations, filed Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Select Instructions for Selective Counting, filed Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Count Instruction Execution for Applications, filed Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Take an Exception on Specified Instructions, filed Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Profile Applications, filed Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Instruction and Memory Location Ranges, filed Sep. 30, 2003.
DeWitt, Jr. et al., Autonomic Method and Apparatus for Hardware Assist for Patching Code.
DeWitt, Jr. et al., Autonomic Method and Apparatus for Local Program Code Reorganization Using Branch Count Per Instruction Hardware.
Wikipedia “JavaServer Pages” downloaded Jan. 24, 2006 http://en.wikipedia.org/wiki/JavaServer—Pages.
“Hardware Cycle Based memory Residency”, IBM, May 22, 2003, ip.com, IPCOM000012728D, pp. 1-2.
Hyde, “The Art of Assembly Language”, 2001, Linux Edition, pp. 247-248, retrieved Mar. 1, 2005 from http://webster.cs.ucr.edu/AoA/Linux/PDFs/0—PDFIndexLinux.html.
Ramirez et al., “The Effect of Code Reordering on Branch Prediction”, Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, Oct. 2000, pp. 189-198.
Yang et al., “Improving Performance by Branch Reordering”, Proceedings of the ACM SIGPLAN 1998 Conference onProgramming Language Design and Implementation, Montreal Canada, 1008, pp. 130-141.
Conte et al., “Accurate and Practical Profile-Driven Compilation Using the Profile Buffer”, Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, Paris, France, 1996, pp. 36-45.
Conte et al., “Using Branch Handling Hardware to Support Profile-Driven Optimization”, Proceedings of the 27th Annual International Symposium on Microarchitecture, San Jose CA, 1994, pp. 12-21.
Fisher, “Trace Scheduling: A Technique for Global Microcode Compaction”, IEEE Transactions on Computers, vol. C30, No. 7, Jul. 1981, pp. 478-490.
Chang et al., “Using Profile Information to Assist Classic Code Optimizations”, Software Pract. Exper. 21, Dec. 1991
DeWitt, Jr. Jimmie Earl
Levine Frank Eliot
Richardson Christopher Michael
Urquhart Robert John
International Business Machines - Corporation
Lai Vincent
Lammes Francis
Rodriguez Herman
Sparks Donald
LandOfFree
Autonomic method and apparatus for counting branch... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Autonomic method and apparatus for counting branch..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Autonomic method and apparatus for counting branch... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3831562