Data processor using indirect register addressing
AssigneeNEC Electronics Corporation
InventorHideki Sugimoto
Life of this patent
Estimating the term…
Abstract
A data processor is composed of a register file including a plurality of registers each of which stores therein an operand data, a register pointer section which includes a plurality of register pointers, an instruction register, a data type converter unit, and a processing unit. Each of the register pointers stores therein a register address and a data type of the operand data stored in the register specified by the register address. The instruction register fetches an instruction word including an operation code, and an operand field. The operand field is representative of a register pointer address used for addressing a selected one of the register pointers to thereby indirectly addressing a selected one of the register.
Claims11
A data processor comprising:
- a register file including a plurality of registers each of which stores therein an operand data;
- a register pointer section which includes a plurality of register pointers, each of which stores therein a register address and a data type of said operand data stored in said register specified by said register address;
- an instruction register which fetches an instruction word, wherein said instruction word includes:
- an operation code, and
- an operand field representative of a register pointer address used for addressing a selected one of said register pointers to thereby indirectly addressing a selected one of said registers;
- a data type converter unit executing a data conversion on said operand data stored in said selected one of said registers to produce a converted operand data, on the basis of said data type stored in said selected register pointer specified by said register pointer address;
- a processing unit executing an operation specified by said operation code on said converted operand data to produce an operation result.
A data processor comprising:
- a register file including a plurality of registers each of which stores therein an operand data;
- a read register pointer section which includes a plurality of read register pointers, each of which stores therein a read register address and a data type of said operand data stored in said register specified by said read register address;
- a write register pointer section which includes a plurality of write register pointers, each of which stores therein a write register address and a data type of said operand data stored in said register specified by said write register address;
- an instruction register which fetches an instruction word, said instruction word including:
- an operation code, and
- a first operand field indicative of a read register pointer address used for addressing a read register pointer from among said plurality of read register pointers to thereby indirectly address a read register from among said plurality of registers;
- a second operand field indicative of a write register pointer address used for addressing a write register pointer from among said plurality of write register pointers to thereby indirectly address a write register from among said plurality of registers;
- a first data type converter unit executing a data conversion on said operand data stored in said read register to produce a converted operand data on the basis of said data type specified by said read register pointer address;
- a processor unit executing an operation specified by said operation code on said converted operand data to produce an operation result;
- a second data type converter unit executing another data conversion on said operation result to produce a converted operation result on the basis of said data type specified by said write register pointer address, wherein said converted operation result is stored in said write register.
A method of operating a data processor comprising:
- providing a register file including a plurality of registers each of which stores therein an operand data;
- providing a register pointer section which includes a plurality of register pointers, each of which stores therein a register address and a data type of said operand data stored in said register specified by said register address;
- providing an instruction word including:
- an operation code, and
- an operand field representative of a register pointer address used for addressing a selected one of said register pointers to thereby indirectly addressing a selected one of said registers;
- executing a data conversion on said operand data stored in said selected one of said registers to produce a converted operand data, on the basis of said data type stored in said selected register pointer specified by said register pointer address;
- executing an operation specified by said operation code on said converted operand data to produce an operation result.
Dependencies are inferred from the claim text.