← Back to Patent Explorer
US5574927A Expired / Lapsed US ⏱️ 0.0 years remaining

RISC architecture computer configured for emulation of the instruction set of a target computer

Assignee: TECH SEARCH LLC
•
Filing: 1994-03-25
•
Granted: 1996-11-12
•
Expires: 2014-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A RISC architecture computer configured for emulating the instruction set of a target computer to execute software written for the target computer, e.g., an Intel 80X86, a Motorola 680X0 or a MIPS R3000. The apparatus is integrated with a core RISC computer to form a RISC computer that executes an expanded RISC instruction. The expanded RISC instruction contains data fields which designate indirect registers that point to emulation registers that correspond to registers in the target computer. The width of the emulation registers is at least the width of those in the target computer. However, a field in the expanded RISC instruction restricts the emulated width to that required by a particular emulated instruction. Additionally, the expanded RISC instruction contains a field which designates the emulation mode for condition codes and selects logic to match the condition codes of the target computer. Target instructions are parsed and dispatched to sequences of one or more expanded RISC instructions to emulate each target instruction.

Inventors

  • 👤 Henry L. Scantlin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 01:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/30003; G06F9/30007; G06F9/30036; G06F9/30094; G06F9/30098; G06F9/30101; G06F9/30105; G06F9/30112; G06F9/3012; G06F9/30138; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/3017; G06F9/30174; G06F9/3818; G06F9/3822; G06F9/3854; G06F9/3858; G06F9/3867; G06F9/3869

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 186 words
A method for emulating the instruction set of a target computer on a RISC architecture computer, comprising the steps of: 1) fetching a target instruction of a format compatible with the instruction set of the target computer; 2) parsing and decoding said instruction into fields designating an opcode and operands; 3) converting said opcode into an address pointing to a sequence of one or more microcoded instructions; 4) decoding said microcoded instruction into a LHS instruction having fields essentially compatible with a RISC architecture and a RHS instruction having fields to select a plurality of indirect registers pointing to emulated registers; 5) processing said emulated registers with an arithmetic logic unit; 6) calculating a condition code as a function of the operation of said arithmetic logic unit and a selection field within said microcoded instruction; 7) storing a result of said processing by said arithmetic logic unit; 8) storing a result of said condition code calculation; and 9) repeating steps 4-8 with a next microcoded instruction until an end of said microcoded sequence is encountered and then continuing at step 1 with a next target instruction.
Claim 2
Independent Claim 186 words
A method for emulating the instruction set of a target computer on a RISC architecture computer, comprising the steps of: 1) fetching a target instruction of a format compatible with the instruction set of the target computer; 2) parsing and decoding said instruction into fields designating an opcode and operands; 3) converting said opcode into an address pointing to a sequence of one or more microcoded instructions; 4) decoding said microcoded instruction into a LHS instruction having fields essentially compatible with a RISC architecture and a RHS instruction having fields to select a plurality of indirect registers pointing to emulated registers; 5) processing said emulated registers with an arithmetic logic unit; 6) calculating a condition code as a function of the operation of said arithmetic logic unit and a selection field within said microcoded instruction; 7) storing a result of said processing by said arithmetic logic unit; 8) storing a result of said condition code calculation; and 9) repeating steps 4-8 with a next microcoded instruction until an end of said microcoded sequence is encountered and then continuing at step 1 with a next target instruction.
Claim 3
Dependent Claim 37 words
A method for emulating the instruction set of a target computer on a RISC architecture computer as in claim 1, wherein step 9 additionally comprises detection of single instruction microcode sequence and directly continuing at step 1.
Claim 4
Dependent Claim 34 words
The method of claim 2, wherein steps 1-9 occur during a time period comprised of a plurality of clock cycles and step 1 is executed for a next target instruction during each clock cycle.
Claim 5
Dependent Claim 213 words
A RISC architecture computer having a native instruction width of N bits configured for emulating target instructions from the instruction set of a target computer, comprising: a plurality of emulation registers capable of corresponding to registers in the target computer and having data widths greater than or equal to the data widths of the registers in the target computer; a plurality of indirect registers for selection of said emulation registers; parsing means to extract a plurality of data fields from a target instruction, at least one said field including an opcode; dispatching means using said opcode to direct the RISC architecture computer to select at least one M+N bit expanded RISC instruction from a microcode memory; an expanded instruction decoder for using said M bits from each said expanded RISC instruction to redefine the RISC architecture computer in terms of the target computer, wherein said M bits define fields, said fields comprising a width field for designating the data width of said emulation registers and the data width of an arithmetic function, an indirect register field for designating said indirect registers, and a condition code field for designating a condition code emulation mode; and condition code calculation means for determining the condition code for an arithmetic function according to said condition code field.
Claim 6
Dependent Claim 213 words
A RISC architecture computer having a native instruction width of N bits configured for emulating target instructions from the instruction set of a target computer, comprising: a plurality of emulation registers capable of corresponding to registers in the target computer and having data widths greater than or equal to the data widths of the registers in the target computer; a plurality of indirect registers for selection of said emulation registers; parsing means to extract a plurality of data fields from a target instruction, at least one said field including an opcode; dispatching means using said opcode to direct the RISC architecture computer to select at least one M+N bit expanded RISC instruction from a microcode memory; an expanded instruction decoder for using said M bits from each said expanded RISC instruction to redefine the RISC architecture computer in terms of the target computer, wherein said M bits define fields, said fields comprising a width field for designating the data width of said emulation registers and the data width of an arithmetic function, an indirect register field for designating said indirect registers, and a condition code field for designating a condition code emulation mode; and condition code calculation means for determining the condition code for an arithmetic function according to said condition code field.
Claim 7
Dependent Claim 27 words
The computer of claim 4, wherein said RISC architecture computer and said microcode memory are contained within a single chip and said microcode memory is in ROM.
Claim 8
Dependent Claim 26 words
The computer of claim 4, wherein said RISC architecture computer is contained within a single chip and said microcode memory is external to said single chip.
Claim 9
Dependent Claim 13 words
The computer of claim 6, wherein said external microcode memory is in RAM.
Claim 10
Dependent Claim 13 words
The computer of claim 6, wherein said external microcode memory is in ROM.
Claim 11
Dependent Claim 13 words
The computer of claim 4, wherein said target computer is the Intel 80X86.
Claim 12
Dependent Claim 13 words
The computer of claim 4, wherein said target computer is the Motorola 680X0.
Claim 13
Dependent Claim 13 words
The computer of claim 4, wherein said target computer is the MIPS R3000.
Claim 14
Dependent Claim 13 words
The computer of claim 4, additionally comprising means to execute native RISC instructions.
Claim 15
Dependent Claim 59 words
The computer of claim 4, wherein said instruction set is comprised of binary combinations of data bits from the instruction set of the target computer, said computer additionally comprising means to execute a sequence of microcoded instructions in response to encountering at least one binary combination of data bits not otherwise within the instruction set of the target computer.
Claim 16
Dependent Claim 163 words
A RISC architecture computer having a native instruction width of N bits configured for emulating target instructions from the instruction set of a target computer, comprising: a plurality of emulation registers capable of corresponding to registers in the target computer and having data widths greater than or equal to the data widths of the registers in the target computer; a plurality of indirect registers for selection of said emulation registers; parsing means to extract a plurality of data fields from a target instruction, at least one said field including an opcode; dispatching means using said opcode to direct the RISC architecture computer to select at least one M+N bit expanded RISC instruction from a microcode memory; an expanded instruction decoder for using said M bits from each said expanded RISC instruction to redefine the RISC architecture computer in terms of the target computer; and condition code calculation means for determining the condition code for an arithmetic function in accordance with the target computer.
Claim 17
Dependent Claim 163 words
A RISC architecture computer having a native instruction width of N bits configured for emulating target instructions from the instruction set of a target computer, comprising: a plurality of emulation registers capable of corresponding to registers in the target computer and having data widths greater than or equal to the data widths of the registers in the target computer; a plurality of indirect registers for selection of said emulation registers; parsing means to extract a plurality of data fields from a target instruction, at least one said field including an opcode; dispatching means using said opcode to direct the RISC architecture computer to select at least one M+N bit expanded RISC instruction from a microcode memory; an expanded instruction decoder for using said M bits from each said expanded RISC instruction to redefine the RISC architecture computer in terms of the target computer; and condition code calculation means for determining the condition code for an arithmetic function in accordance with the target computer.
Claim 18
Dependent Claim 50 words
The computer of claim 14, wherein said redefining means comprises using said M bits to define fields, said fields comprising a width field for designating the data width of said emulation registers and the data width of an arithmetic function, and an indirect register field for designating said indirect registers.
Claim 19
Dependent Claim 62 words
The computer of claim 14, wherein said expanded instruction decoder uses a condition code field within said M bits for designating a condition code emulation mode; and said condition code calculation means is comprised of a plurality of condition code calculators corresponding to a plurality of target computers wherein said condition code field enables one of said plurality of condition code calculators.
Claim 20
Dependent Claim 27 words
The computer of claim 14, wherein said RISC architecture computer and said microcode memory are contained within a single chip and said microcode memory is in ROM.
Claim 21
Dependent Claim 26 words
The computer of claim 14, wherein said RISC architecture computer is contained within a single chip and said microcode memory is external to said single chip.
Claim 22
Dependent Claim 13 words
The computer of claim 18, wherein said external microcode memory is in RAM.
Claim 23
Dependent Claim 13 words
The computer of claim 18, wherein said external microcode memory is in ROM.
Claim 24
Dependent Claim 13 words
The computer of claim 14, wherein said target computer is the Intel 80X86.
Claim 25
Dependent Claim 13 words
The computer of claim 14, wherein said target computer is the Motorola 680X0.
Claim 26
Dependent Claim 13 words
The computer of claim 14, wherein said target computer is the MIPS R3000.
Claim 27
Dependent Claim 13 words
The computer of claim 14, additionally comprising means to execute native RISC instructions.
Claim 28
Dependent Claim 59 words
The computer of claim 14, wherein said instruction set is comprised of binary combinations of data bits from the instruction set of the target computer, said computer additionally comprising means to execute a sequence of microcoded instructions in response to encountering at least one binary combination of data bits not otherwise within the instruction set of the target computer.

References Cited (Backward Citations)

US4992934A Cited
US5136696A Cited
US5226126A Cited
US5430862A Cited
US5438668A Cited
US5392408A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-12 2000-05-13 2000-11-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-12 2004-05-13 2004-11-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-12 2008-05-13 2008-11-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag