Instruction with dual-use source providing both an operand value and a control value
AssigneeStexar Corp.
InventorsDarrell Boggs, Chad Fogg, Christopher Jones, Gary Brown
Life of this patent
Estimating the term…
Abstract
A processor having an architecture including an instruction with a source operand from which the processor derives at least one of an operand value and a control value. The source operand may directly specify the operand value or the control value, with the other being implicitly specified. Or, both may be implicitly specified and derived from the source operand value. At least one of the operand value and the control value is implicit, not specified.
Claims22
A processor having an instruction set including a dual-use-source instruction, the dual-use-source instruction having an opcode specifying a function of the dual-use-source instruction and having a dual-use source field, the processor comprising:
- (a) means for receiving instructions including the dual-use-source instruction;
- (b) logic for generating a first operand value and a control value in response to a value of the dual-use source field;
- and
- (c) an execution unit coupled to the logic, for performing upon the first operand value the function specified by the opcode of the dual-use-source operand;
- wherein the execution unit is responsive to the control value to control a characteristic of the function.
A processor for executing a plurality of instructions, each instruction including an opcode that specifies functionality of the instruction, a first instruction of the plurality further including a source operand, the processor comprising:
- (a) an instruction decoder for decoding the instructions;
- (b) a register file for storing data;
- (c) a first execution unit,
- (1) coupled to receive data from and store results to the register file,
- (2) coupled to receive decoded instructions from the instruction decoder,
- (3) for executing the first instruction by performing a functionality specified by an opcode of the first instruction upon a first operand value,
- (4) wherein functionality of the first execution unit is controlled by an opcode of the first instruction and by a control value;
- and
- (d) logic,
- (1) coupled to receive the source operand,
- (2) coupled to the first execution unit,
- (3) for generating, in response to a value of the source operand, one of the first operand value and the control value,
- (4) wherein the other of the first operand value and the control value comprises one of,
- (i) the value of the source operand, and
- (ii) another value generated by the logic in response to the value of the source operand.
A processor comprising:
- (a) an instruction decoder for decoding instructions including a dual-use-source instruction, each instruction having an opcode specifying a functionality of the instruction;
- and
- (b) a plurality of execution units coupled to receive decoded instructions from the instruction decoder, wherein the plurality of execution units includes,
- a dual-use-source execution unit coupled to receive a first source operand and a dual-use-source operand of a decoded dual-use-source instruction, the dual-use-source operand specifying one of an operand value and a control value, the dual-use-source execution unit including,
- (i) logic for generating the other of the operand value and the control value from the value specified by the dual-use-source operand, and
- (ii) an arithmetic functional unit coupled to the logic, for performing an arithmetic operation specified by the opcode of the dual-use-source operand and controlled by the control value, upon the first source operand and the operand value.
A method whereby a processor executes a dual-use-source instruction having a dual-use source field:
- receiving the dual-use-source instruction;
- decoding the dual-use-source instruction to determine a function of the dual-use-source instruction;
- decoding a value of the dual-use source field into one of an operand value and a control value;
- decoding the value of the dual-use source field into the other of the operand value and the control value;
- executing the dual-use-source instruction to perform the function upon the operand value in response to the control value, to generate a result;
- and
- storing the result.
Dependencies are inferred from the claim text.