Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precision
DCFirst Claim
1. A processing apparatus for performing a multiply accumulate operation comprising:
- a reconfigurable register file including an odd register file portion and an even register file portion;
a first multiplexer to select the odd register file portion or the even register file portion to provide a first value;
a second multiplexer to select the odd register file portion or the even register file portion to provide a second value;
a multiplier for performing a multiply operation on the first value and the second value to produce a third value; and
an accumulator for accumulating the third value with a fourth value to produce a result value, wherein the fourth value comprises a concatenated even and odd pair of values read from the reconfigurable register file.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A reconfigurable register file integrated in an instruction set architecture capable of extended precision operations, and also capable of parallel operation on lower precision data is described. A register file is composed of two separate files with each half containing half as many registers as the original. The halves are designated even or odd by virtue of the register addresses which they contain. Single width and double width operands are optimally supported without increasing the register file size and without increasing the number of register file ports. Separate extended registers are also employed to provide extended precision for operations such as multiply-accumulate operations.
23 Citations
23 Claims
-
1. A processing apparatus for performing a multiply accumulate operation comprising:
-
a reconfigurable register file including an odd register file portion and an even register file portion;
a first multiplexer to select the odd register file portion or the even register file portion to provide a first value;
a second multiplexer to select the odd register file portion or the even register file portion to provide a second value;
a multiplier for performing a multiply operation on the first value and the second value to produce a third value; and
an accumulator for accumulating the third value with a fourth value to produce a result value, wherein the fourth value comprises a concatenated even and odd pair of values read from the reconfigurable register file. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A processing apparatus for performing an extended precision multiply accumulate operation comprising:
-
a reconfigurable register file including an odd register file portion and an even register file portion;
a first multiplexer to select the odd register file portion or the second even register file portion to provide a first value;
a second multiplexer to select the odd register file portion or the second even register file portion to provide a second value;
an extended precision register containing an extended value;
a multiplier for performing a multiply operation on the first value and the second value to produce a third value;
andan extended accumulator for accumulating the third value with the extended value concatenated with a fourth value to produce a result value, wherein the fourth value comprises an even and odd pair read from the reconfigurable register file. - View Dependent Claims (7, 8)
-
-
9. A processing method for a processing apparatus comprising a reconfigurable register file including an odd register file portion and an even register file portion comprising the steps of:
-
selecting the odd register file portion or the even register file portion to provide a first value;
selecting the odd register file portion or the even register file portion to provide a second value;
multiplying the first value and the second value to produce a third value;
reading a fourth and a fifth value from the reconfigurable register file;
concatenating the fourth value with the fifth value to produce a concatenated value;
accumulating the third value with the concatenated value to produce a final result value. - View Dependent Claims (10, 11, 12)
-
-
13. A processing method for a processing apparatus comprising a reconfigurable register file including an odd register file portion and an even register file portion comprising the steps of:
-
selecting the odd register file portion or the even register file portion to provide a first value;
selecting the odd register file portion or the even register file portion to provide a second value;
multiplying the first value and the second value to produce a third value;
reading a fourth and a fifth value from the reconfigurable register file;
concatenating an extended value, and the fourth value with the fifth value to produce a concatenated value; and
accumulating the third value with the concatenated value to produce a final result value. - View Dependent Claims (14, 15, 16)
-
-
17. An apparatus for performing an operation with extended precision, the apparatus comprising:
-
at least two extended precision registers containing an extended value;
a register file containing a plurality of registers, the register file having at least two read ports;
an execution unit reading a first and a second value through the at least two read ports and connecting said execution unit'"'"'s output to the at least two extended precision registers;
a multiplexer, in response to a portion of a field in an instruction, selecting one of the at least two extended precision registers to provide a third value to the execution unit, said field in the instruction specifying one of at the least two extended precision registers to be written by the execution unit when the execution unit executes the instruction utilizing the first value, second value, and third value as inputs thereby increasing the precision of the operation. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification