IP Library Granted Patent US 7,251,594
Granted Patent B2
US 7,251,594 · App. 10/029,497 · Granted Jul 31, 2007

Execution time modification of instruction emulation parameters

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,251,594
App. No.
10/029,497
Granted
Jul 31, 2007
Kind
B2
Abstract

To improve computer performance, problems of emulation such as WAR hazard, uneven utilization of machine resources, unnecessary dependencies, wasted hardware resources and data buffer pollution, are alleviated by responding to dynamic execution information, such as branch prediction, register usage, overflow, a history of branch predictions of groups of branches combined, and a history of register usage for: dynamically modifying instruction parameters of an emulation sequence of instructions; reordering emulated instructions; and adding or changing the dynamic execution information.

Claims (26)

1. A method performed by a computer system having a hardware emulation, said method comprising the steps of:

obtaining a first set of one or more emulated instructions derived from an original set of one or more instructions using the hardware emulation;

initiating execution of the first set of one or more emulated instructions;

producing first dynamic execution information in response to executing the first set of one or more emulated instructions; and

changing the hardware emulation dynamically for producing a second set of one or more emulated instructions by modifying at least a parameter of one instruction of the first set of one or more emulated instructions in response to said first dynamic execution information, said step of changing, includes software producing multiple conditions codes that replace a single condition code of the first dynamic execution information.

2. The method of claim 1 , wherein:

said step of changing, includes modifying at least a register field of one instruction of the first set of one or more emulated instructions.

3. The method of claim 1 , wherein:

said steps of executing, producing and changing are conducted recursively on at least some of successive segments of the first set of one or more emulated instructions.

4. The method of claim 1 , wherein:

said step of producing, produces branch prediction information; and

said step of changing, changes condition codes of the branch prediction information.

5. The method of claim 1 , wherein:

said step of producing, produces a history of register allocation information; and

said step of changing, changes register allocation.

6. The method of claim 1 , wherein:

said step of producing, produces a history of branch prediction dynamic execution information; and

said step of changing, generates a branch prediction likelihood code for a group of branches that may be different from any branch prediction of the members of the group.

7. The method of claim 1 , wherein:

said step of modifying at least a parameter of one instruction of the first set of one or more emulated instructions, includes modifying a plurality of parameters of some instructions of the first set of one or more emulated instructions.

8. A method performed by a computer system, said method comprising the steps of:

obtaining an emulated sequence of instructions derived from an original sequence of instructions;

initiating execution of the emulated sequence of instructions;

producing first dynamic execution information in response to executing the emulated sequence of instructions; and

changing the computer system dynamically to produce different dynamic execution information in response to said first dynamic execution information;

wherein said step of changing, includes software producing multiple conditions codes that replace a single condition code of the first dynamic execution information.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Sep 9, 2014
From: RENESAS TECHNOLOGY CORP.; NEC ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 033698/0648 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2003
From: HITACHI, LTD.
To: RENESAS TECHNOLOGY CORPORATION
Reel/Frame 014547/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2001
From: KRISHNAN, SIVARAM
To: HITACHI, LTD.
Reel/Frame 012421/0124 →