US5758140A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for emulating instructions by performing an operation directly using special-purpose register contents
Assignee: International Business Machines Corp
•
Filing: 1996-01-25
•
Granted: 1998-05-26
•
Expires: 2016-01-25
Abstract
Abstract A system and method for improving the performance of a processor that emulates a guest instruction where the guest instruction includes a first and second operand. The first operand is stored in a general purpose register, and the second operand is stored in a special-purpose register. The method and system provides a host instruction that performs an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register. This reduces the number of instructions in the semantic routines necessary to operate on immediate data from guest instructions and increases emulation performance.
Inventors
- 👤 James Allan Kahle
- 👤 Soummya Mallick
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 14:16
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/34; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/3017; G06F9/30174
Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
78 words
A method for improving the performance of a processor that emulates a guest instruction, the guest instruction including a first and second operand, the method comprising the steps of: (a) storing the first operand in a general purpose register and the second operand in a special-purpose register; and (b) providing an instruction that performs an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register.
Claim 2
Independent Claim
78 words
A method for improving the performance of a processor that emulates a guest instruction, the guest instruction including a first and second operand, the method comprising the steps of: (a) storing the first operand in a general purpose register and the second operand in a special-purpose register; and (b) providing an instruction that performs an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register.
Claim 3
Dependent Claim
31 words
A method as in claim 1 wherein the processor includes an emulation assist unit, wherein step (a) includes that step of: (a1) providing the special-purpose register in the emulation assist unit.
Claim 4
Dependent Claim
50 words
A method as in claim 2 wherein the processor includes an arithmetic logical unit and a multiplexer, wherein the arithmetic logical unit is coupled between the general purpose register and the multiplexer, wherein step (a) further includes the step of: (a2) coupling the special-purpose register to the arithmetic logical unit.
Claim 5
Dependent Claim
27 words
A method as in claim 3 wherein step (b) further includes the step of: (b1) storing the result of the operation in a third general purpose register.
Claim 6
Dependent Claim
13 words
A method as in claim 4 wherein the operation is an arithmetic operation.
Claim 7
Dependent Claim
14 words
A method as in claim 5 wherein the operation is a data transfer operation.
Claim 8
Dependent Claim
13 words
A method as in claim 6 wherein the operation is a logic operation.
Claim 9
Dependent Claim
27 words
A method as in claim 7 wherein the processor emulates the guest instruction using an semantic routine and the instruction is an instruction within the semantic routine.
Claim 10
Dependent Claim
69 words
A processor for emulating a guest instruction, the guest instruction including a first operand and a second operand, the processor comprising: means for storing the first operand in a general purpose register and the second operand in a special-purpose register; and instruction means that perform an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register.
Claim 11
Dependent Claim
69 words
A processor for emulating a guest instruction, the guest instruction including a first operand and a second operand, the processor comprising: means for storing the first operand in a general purpose register and the second operand in a special-purpose register; and instruction means that perform an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register.
Claim 12
Dependent Claim
27 words
A processor as in claim 9 wherein the processor further includes an emulation assist unit, and wherein the special-purpose register is part of the emulation assist unit.
Claim 13
Dependent Claim
45 words
A processor as in claim 10 wherein the processor further includes: an arithmetic logical unit; and a multiplexer, wherein the arithmetic logical unit is coupled between the general purpose register and the multiplexer, and wherein the special-purpose register is coupled to the arithmetic logical unit.
Claim 14
Dependent Claim
26 words
A processor as in claim 11 wherein the instruction means further includes means for storing the result of the operation in a third general purpose register.
Claim 15
Dependent Claim
14 words
A processor as in claim 12 wherein the instruction means is an arithmetic operation.
Claim 16
Dependent Claim
15 words
A processor as in claim 13 wherein the instruction means is a data transfer operation.
Claim 17
Dependent Claim
14 words
A processor as in claim 14 wherein the instruction means is a logic operation.
Claim 18
Dependent Claim
28 words
A processor as in claim 15 wherein the processor emulates the guest instruction using an semantic routine and the instruction means is an instruction within the semantic routine.
Claim 19
Dependent Claim
164 words
A processor for emulating guest instructions, wherein a plurality of the guest instructions include immediate data, the processor comprising: a memory for storing semantic routines at specific addresses, each of the semantic routines including a block of host instructions for emulating the function of the guest instructions; an emulation assist unit for decoding guest instructions and dispatching a corresponding semantic routine, the emulation assist unit including, a plurality of special-purpose registers for storing a plurality of entries, wherein each of the plurality of entries includes an offset field and a data field, wherein the offset field is a pointer to the memory address the semantic routine, and the data field is the immediate data from the corresponding guest instruction; a plurality of general-purpose registers for storing operands; and a plurality of host instructions in the semantic routines that perform operations using the immediate data and the operands in the general-purpose registers without moving the immediate data from the special-purpose registers into the general-purpose registers.
Claim 20
Dependent Claim
164 words
A processor for emulating guest instructions, wherein a plurality of the guest instructions include immediate data, the processor comprising: a memory for storing semantic routines at specific addresses, each of the semantic routines including a block of host instructions for emulating the function of the guest instructions; an emulation assist unit for decoding guest instructions and dispatching a corresponding semantic routine, the emulation assist unit including, a plurality of special-purpose registers for storing a plurality of entries, wherein each of the plurality of entries includes an offset field and a data field, wherein the offset field is a pointer to the memory address the semantic routine, and the data field is the immediate data from the corresponding guest instruction; a plurality of general-purpose registers for storing operands; and a plurality of host instructions in the semantic routines that perform operations using the immediate data and the operands in the general-purpose registers without moving the immediate data from the special-purpose registers into the general-purpose registers.
Claim 21
Dependent Claim
58 words
A processor as in claim 17 wherein the processor further includes an integer unit for executing the host instructions, the integer unit including an arithmetic logical unit and a multiplexer, wherein the arithmetic logical unit is coupled between the plurality of general-purpose registers and the multiplexer, and wherein the special-purpose registers are coupled to the arithmetic logical unit.
References Cited (Backward Citations)
US3997895A
Cited
US4077058A
Cited
US3891974A
Cited
US4084235A
Cited
US4587612A
Cited
JPS6225334A
Cited
US4841476A
Cited
EP0264215A2
Cited
JPS63106836A
Cited
JPH02236734A
Cited
US5077657A
Cited
JPH05181671A
Cited
WO1994027215A1
Cited
US5574873A
Cited
US5623617A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-05-25 | 2001-11-24 | 2002-05-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-05-25 | 2005-11-24 | 2006-05-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-05-25 | 2009-11-24 | 2010-05-26 | $7700.00 | Window Closed / Lapsed |