Data processing: software development – installation – and managem – Software upgrading or updating
Reexamination Certificate
2004-01-14
2008-08-19
An, Meng-Al T. (Department: 2193)
Data processing: software development, installation, and managem
Software upgrading or updating
C717S128000, C717S169000
Reexamination Certificate
active
07415705
ABSTRACT:
A method, apparatus and computer instructions for hardware assist for autonomically patching code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original 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: 5142634 (1992-08-01), Fite et al.
patent: 5212794 (1993-05-01), Pettis et al.
patent: 5339426 (1994-08-01), Aoshima
patent: 5394529 (1995-02-01), Brown, III et al.
patent: 5544342 (1996-08-01), Dean
patent: 5581778 (1996-12-01), Chin et al.
patent: 5603004 (1997-02-01), Kurpanek et al.
patent: 5659679 (1997-08-01), Alpert et al.
patent: 5689712 (1997-11-01), Heisch
patent: 5691920 (1997-11-01), Levine et al.
patent: 5708803 (1998-01-01), Ishimi 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: 5875334 (1999-02-01), Chow et al.
patent: 5920721 (1999-07-01), Hunter et al.
patent: 5930508 (1999-07-01), Faraboschi et al.
patent: 5937437 (1999-08-01), Roth et al.
patent: 5938766 (1999-08-01), Anderson 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: 5970439 (1999-10-01), Levine et al.
patent: 5987250 (1999-11-01), Subrahmanyam
patent: 6006033 (1999-12-01), Heisch
patent: 6009514 (1999-12-01), Henzinger et al.
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: 6202199 (2001-03-01), Wygodny et al.
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: 6256771 (2001-07-01), O'Neil et al.
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: 6349406 (2002-02-01), Levine 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: 6594820 (2003-07-01), Ungar
patent: 6601233 (2003-07-01), Underwood
patent: 6631514 (2003-10-01), Le
patent: 6775825 (2004-08-01), Grumann et al.
patent: 6832296 (2004-12-01), Hooker
patent: 6848030 (2005-01-01), Tokar et al.
patent: 6918106 (2005-07-01), Burridge et al.
patent: 6961681 (2005-11-01), Choquier et al.
patent: 6961925 (2005-11-01), Callahan, II et al.
patent: 6966057 (2005-11-01), Lueh
patent: 7131115 (2006-10-01), Hundt 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/0131343 (2003-07-01), French et al.
patent: 2003/0135719 (2003-07-01), DeWitt, Jr. et al.
patent: 2003/0191900 (2003-10-01), Hooker
patent: 2003/0225917 (2003-12-01), Partamian et al.
patent: 2004/0049712 (2004-03-01), Betker et al.
patent: 2004/0194076 (2004-09-01), Comp et al.
patent: 2004/0268316 (2004-12-01), Fisher et al.
patent: 2005/0210275 (2005-09-01), Homing et al.
patent: 2007/0006150 (2007-01-01), Walmsley
patent: 2000029731 (1999-12-01), None
patent: 2000347863 (2000-12-01), None
Kikuchi, “Parallelization Assist System”, Joho Shori, vol. 34, No. 9, Sep. 1993, pp. 1158-1169.
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.
Iwasawa et al., “Parallelization Method of Fortran DO Loops by Parallelizing Assist System”, Transactions of Information Processings Society of Japan, vol. 36, No. 8, Aug. 1995, pp. 1995-2006.
Talla et al., “Execution Characteristics of Multimedia Applications on a Pentium II Processor”, IEEE International Performance, Computing, and Communications Conference, 19th, Phoenix, Feb. 20-22, 2000, pp. 516-524.
IBM Research Disclosure Bulletin 444188, “Enable Debuggers as an Objective Performance Measurement Tool for Software Development Cost Reduction”, Apr. 2001, pp. 686-688.
U.S. Appl. No. 09/435,069, Davidson et al., Method and Apparatus for Instruction Sampling for Performance Monitoring and Debug, filed Nov. 4, 1999.
U.S. Appl. No. 08/538,071, Gover et al., Method and System for Selecting and Distinguishing an Event Sequence using an Effective Address in a Processing System, filed Oct. 2, 1995.
DeWitt, Jr. et al., Method and Apparatus for Counting Instruction Execution and Data Accesses, Sep. 30, 2003.
Levine et al., Method and Apparatus for Selectively Counting Instructions and Data Accesses, 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, Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Data Accesses and Instruction Executions that Exceed a Threshold, Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Execution of Specific Instructions and Accesses to Specific Data Locations, Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Debug Support for Individual Instructions and Memory Locations, Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Select Instructions for Selective Counting, Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Count Instruction Execution for Applications, Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Take an Exception on Specified Instructions, Sep. 30, 2003.
Levine et al., Method and Apparatus to Autonomically Profile Applications, Sep. 30, 2003.
DeWitt, Jr. et al., Method and Apparatus for Counting Instruction and Memory Location Ranges, Sep. 30, 2003.
DeWitt, Jr. et al., Autonomic Method and Apparatus for Counting Branch Instructions to Improve Branch Predictions.
DeWitt, Jr. et al., Autonomic Method and Apparatus for Local Program Code Reorganization Using Branch Count Per Instruction Hardware.
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. 1
DeWitt, Jr. Jimmie Earl
Levine Frank Eliot
Richardson Christopher Michael
Urquhart Robert John
An Meng-Al T.
Francis Mark P.
Glanzman Gerald H.
International Business Machines - Corporation
Rodriguez Herman
LandOfFree
Autonomic method and apparatus for hardware assist for... 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 hardware assist for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Autonomic method and apparatus for hardware assist for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3997774