RISC architecture computer configured for emulation of the instruction set of a target computer
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
25 Claims
-
1. 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. - View Dependent Claims (2, 3)
-
-
4. 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. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. 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. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification