Extended precision accumulator
AssigneeMIPS Technologies, Inc., a Delaware Corporation
InventorsMorten Stribaek, Pascal Paillier
Life of this patent
Estimating the term…
Abstract
A multiply unit includes an extended precision accumulator. Microprocessor instructions are provided for manipulating portions of the extended precision accumulator including an instruction to move the contents of a portion of the extended accumulator to a general-purpose register (“MFLHXU”) and an instruction to move the contents of a general-purpose register to a portion of the extended accumulator (“MTLHX”).
Claims68
A multiply unit for use in a microprocessor, the microprocessor having at least one general-purpose register for storing a predetermined number of bits, the multiply unit comprising:
- at least one input data path for receiving one or more input operands by the multiply unit;
- a multiplier connected to receive the one or more input operands and to perform multiplication using the one or more input operands;
- and
- an extended-precision accumulated output data path connected to receive an output of the multiplier and including more bits than the sum of the lengths of the one or more input operands.
In a microprocessor core having at least one general-purpose register, a method for performing arithmetic operations, the method comprising:
- fetching an instruction to perform an operation from a data store;
- reading one or more registers;
- performing the operation using a multiply unit, the multiply unit comprising:
- at least one input register for receiving one or more input operands by the multiply unit;
- a multiplier connected to receive the one or more input operands and to perform multiplication using the one or more input operands;
- and
- an extended-precision accumulated output data path connected to receive an output of the multiplier and including more bits than the sum of the lengths of the one or more input operands.
A computer-readable medium comprising a microprocessor core embodied in software, the microprocessor core including at least one general-purpose register and a multiply unit, the multiply unit comprising:
- at least one input data path for receiving one or more input operands by the multiply unit;
- a multiplier connected to receive the one or more input operands and to perform multiplication using the one or more input operands;
- and
- an extended-precision accumulated output data path connected to receive an output of the multiplier and including more bits than the sum of the lengths of the one or more input operands.
A microprocessor comprising:
- an extended-precision accumulator, wherein said accumulator includes an extended register, a high-order register and a low-order register;
- a general purpose register;
- and
- an instruction execution unit capable of facilitating a first movement of data in response to a first move instruction, said first movement of data including a moving of contents of (i) said low-order register to said general purpose register, (ii) said high-order register to said low-order register and (iii) said extended register to said high-order register.
A method for moving data comprising:
- providing an extended-precision accumulator, said accumulator including an extended register, a high-order register and a low-order register;
- providing a general purpose register;
- and
- moving data from (i) said low-order register to said general purpose register, (ii) said high-order register to said low-order register and (iii) said extended register to said high-order register in response to a first instruction.
A computer data signal embodied in a transmission medium comprising:
- computer readable first program code for providing an extended-precision accumulator, wherein said accumulator includes an extended register, a high-order register and a low-order register;
- computer readable second program code for providing a general purpose register;
- and
- computer readable third program code for providing an instruction execution unit capable of facilitating a first movement of data in response to a first move instruction, said first movement of data including a moving of contents of (i) said low-order register to said general purpose register, (ii) said high-order register to said low-order register and (iii) said extended register to said high-order register.
A method for moving data comprising:
- providing an extended-precision accumulator, the accumulator including an extended register, a high-order register and a low-order register;
- providing a general purpose register;
- and
- moving data from (i) the high-order register to the extended register, (ii) the low-order register to the high-order register and (iii) the general purpose register to the low-order register in response to a single instruction.
Dependencies are inferred from the claim text.