← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag