RISC86 instruction set
First Claim
Patent Images
1. A microprocessor comprising:
- a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class further includes special register read and write operations and has defined-usage bit-fields including;
an extension bit-field for specifying a condition code for a conditional move instruction and for specifying a special register to be read and written by the special register read and write operations.
2 Assignments
0 Petitions
Accused Products
Abstract
An internal RISC-type instruction structure furnishes a fixed bit-length template including a plurality of defined bit fields for a plurality of operation (Op) formats. One format includes an instruction-type bit field, two source-operand bit fields and one destination-operand bit field for designating a register-to-register operation. Another format is a load-store format that includes an instruction-type bit field, an identifier of a source or destination register for the respective load or store operation, and bit fields for specifying the segment, base and index parameters of an address.
-
Citations
48 Claims
-
1. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class further includes special register read and write operations and has defined-usage bit-fields including;
an extension bit-field for specifying a condition code for a conditional move instruction and for specifying a special register to be read and written by the special register read and write operations. - View Dependent Claims (2, 3)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
3. The microprocessor according to claim 1, wherein the RegOp class of operations includes an operation for writing a program counter to redirect processor execution.
-
4. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class further has defined-usage bit-fields including;
a bit-field for designating an execution unit for executing an operation.- View Dependent Claims (5, 6)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
6. The microprocessor according to claim 4, wherein the RegOp class of operations includes an operation for writing a program counter to redirect processor execution.
-
7. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class of operations includes a check selector operation for simultaneously checking a memory segment selector for access permission and loading the selector if permission is attained. - View Dependent Claims (8, 9)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
9. The microprocessor according to claim 7, wherein the RegOp class of operations includes an operation for writing a program counter to redirect processor execution.
-
10. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class of operations includes a check selector operation (CHKS) for simultaneously checking a memory segment selector for access permission and loading the selector if permission is attained. - View Dependent Claims (11, 12)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
12. The microprocessor according to claim 10, wherein the RegOp class of operations includes an operation for writing a program counter to redirect processor execution.
-
13. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands, wherein the RegOp class of operations includes;
a write descriptor real (WRDR) operation for loading a segment register in a real mode fashion;
a write descriptor protected mode high (WRDH) operation and a write descriptor protected mode low (WRDL) operation for performing a sequence of checking operations for checking data segments and I/O address space as an emulation code sequence of hardware primitives.- View Dependent Claims (14, 15)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
15. The microprocessor according to claim 13, wherein the RegOp class of operations includes an operation for writing a program counter to redirect processor execution.
-
16. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the indirect specifiers specify an instruction parameter selected from the parameters including an operating register, a data size and an address size. - View Dependent Claims (17, 18, 19, 20)
a load operation (LdOp) class including load operations and having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a source address in memory, a bit-field for designating a destination register for receiving data from the source address in memory, and a bit-field for designating a data size of the source-destination data.
-
-
18. The microprocessor according to claim 16, wherein the instruction classes include:
a store operation (StOp) class including store operations having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a store address in memory, a bit-field for designating a data source register for sourcing data from the store register, and a bit-field for designating a data size of the source-destination data.
-
19. The microprocessor according to claim 16, wherein the instruction classes further include a load immediate operation class (LIMMOp) having defined-usage bit-fields including:
-
an immediate data high (ImmHi) bit-field and an immediate data low (ImmLo) bit-field for designating the immediate data value; and
a bit-field for designating a data destination register for receiving data from the load-store address in memory.
-
-
20. The microprocessor according to claim 16, wherein the instruction classes further include a special operation class (SpecOp) including a conditional branch operation, a set default fault handler address operation, a set alternate fault handler address operation and an unconditional fault operation and having defined-usage bit-fields including:
-
a bit-field for designating a condition code; and
a data immediate bit-field for designating a signed immediate data value.
-
-
21. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a load-store operation (LdStOp) class including load and store operations and having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a load-store address in memory, a bit-field for designating a data source-destination register for sourcing-receiving data from the load-store address in memory, and a bit-field for designating a data size of the source-destination data, wherein the plurality of bit-fields for designating a load-store address in memory in the LdStOp class includes;
a segment register for designating a memory segment of the load-store address;
a base register for designating a base of the load-store memory address;
an index register for designating a memory index; and
an index scale factor bit-field for designating an index scale factor.- View Dependent Claims (22, 23, 24, 25)
-
-
26. A superscalar microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, each code in an instruction class having a mutually-consistent definition of defined-usage bit-fields, the instruction classes including;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands;
a load-store operation (LdStOp) class including load and store operations and having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a load-store address in memory, a bit-field for designating a data source-destination register for sourcing-receiving data from the load-store address in memory, and a bit-field for designating a data size of the source-destination data; and
a load immediate operation class (L,IMMOp) having defined-usage bit-fields including;
an immediate data high (ImmHi) bit-field and an immediate data low (ImmLo) bit-field for designating the immediate data value; and
a bit-field for designating a data destination register for receiving data from the load-store address in memory. - View Dependent Claims (27)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
28. A superscalar microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, each code in an instruction class having a mutually-consistent definition of defined-usage bit-fields, the instruction classes including;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands;
a load-store operation (LdStOp) class including load and store operations and having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a load-store address in memory, a bit-field for designating a data source-destination register for sourcing-receiving data from the load-store address in memory, and a bit-field for designating a data size of the source-destination data; and
a special operation class (SpecOp) including a conditional branch operation, a set default fault handler address operation, a set alternate fault handler address operation and an unconditional fault operation and having defined-usage bit-fields including;
a bit-field for designating a condition code; and
a data immediate bit-field for designating a signed immediate data value. - View Dependent Claims (29)
an extension bit-field for specifying the one or more status flags that are modified by the operation; and
a set status bit-field for causing the operation to modify status flags in accordance with the extension bit-field.
-
-
30. A computer system comprising:
-
a memory subsystem which stores data and instructions; and
a processor operably coupled to access the data and instructions stored in the memory subsystem, wherein the processor includes;
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, each code in an instruction class having a mutually-consistent definition of defined-usage bit-fields, the instruction classes including;
a register operation (RegOp) class including arithmetic operations, shift operations and move operations and having defined-usage bit-fields including an operation type field, three operand bit-fields for designating a first source operand, a second source operand and a destination operand, a bit-field for designating a data size of the operands;
a load-store operation (LdStOp) class including load and store operations and having defined-usage bit-fields including an operation type field, a plurality of bit-fields for designating a load-store address in memory, a bit-field for designating a data source-destination register for sourcing-receiving data from the load-store address in memory, and a bit-field for designating a data size of the source-destination data, and at least one of a load immediate operation class (LIMMOp) and a special operation class (SpecOp), wherein the LIMMOp class has defined-usage bit-fields including;
an immediate data high (ImmHi) bit-field and an immediate data low (ImmLo) bit-field for designating the immediate data value; and
a bit-field for designating a data destination register for receiving data from the load-store address in memory; and
wherein the SpecOp class includes a conditional branch operation, a set default fault handler address operation, a set alternate fault handler address operation and an unconditional fault operation and having defined-usage bit-fields including;
a bit-field for designating a condition code; and
a data immediate bit-field for designating a signed immediate data value.- View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a special operation class (SpecOp) including a conditional branch operation, a set default fault handler address operation, a set alternate fault handler address operation and an unconditional fault operation and having defined-usage bit-fields including;
a bit-field for designating a condition code; and
a data immediate bit-field for designating a signed immediate data value, wherein the SpecOp class of operations includes an operation for loading a constant (LDK).- View Dependent Claims (45)
a bit-field for designating a data destination register; and
a bit-field for designating a data size of constant data.
-
-
46. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein the instruction classes include;
a special operation class (SpecOp) including a conditional branch operation, a set default fault handler address operation, a set alternate fault handler address operation and an unconditional fault operation and having defined-usage bit-fields including;
a bit-field for designating a condition code; and
a data immediate bit-field for designating a signed immediate data value, wherein the SpecOp class of operations includes a load constant data (LDKD) operation.- View Dependent Claims (48)
a bit-field for designating a data destination register; and
a bit-field for designating a data size of constant data.
-
-
47. A microprocessor comprising:
-
a source of CISC-like instructions;
a RISC-like processor core for executing a plurality of RISC-like operations in parallel; and
a decoder coupling the source of CISC-like instructions to the RISC-like processor core, the decoder for converting CISC-like instructions into operations of a RISC-like instruction set including;
a plurality of mutually-uniform bit-length instruction codes, each code being divided into a plurality of defined-usage bit fields and the codes being classified into a plurality of instruction classes, the code in an instruction class having a mutually-consistent definition of defined-usage bit-fields including a bit-field that is mapped using indirect specifiers so that a single mutually-uniform bit-length instruction code maps into a plurality of instruction versions, wherein a defined-usage bit-field of an operation is designated by a substituted value that is determined by an emulation environment of the processor.
-
Specification