Method and Apparatus for Implementing a Multiple Operand Vector Floating Point Summation to Scalar Function
First Claim
Patent Images
1. A method for computing an arithmetic result of more than two operands, comprising:
- in response to receiving a multiple operand instruction, computing a first arithmetic result of a pair of operands in each of one or more of a plurality of processing lanes of a vector unit;
transferring the first arithmetic result of each pair of operands from the one or more processing lanes of the vector unit to a dot product unit; and
computing a second arithmetic result, the second arithmetic result being an arithmetic result of each first arithmetic result received from the one or more processing lanes, to generate the arithmetic result of more than two operands.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide methods and apparatus for executing a multiple operand instruction. Executing the multiple operand instruction comprises computing an arithmetic result of a pair of operands in each processing lane of a vector unit. The arithmetic results generated in each processing lane of the vector unit may be transferred to a dot product unit. The dot product unit may compute an arithmetic result using the arithmetic result computed by each processing lane of the vector unit to generate an arithmetic result of more than two operands.
-
Citations
24 Claims
-
1. A method for computing an arithmetic result of more than two operands, comprising:
-
in response to receiving a multiple operand instruction, computing a first arithmetic result of a pair of operands in each of one or more of a plurality of processing lanes of a vector unit; transferring the first arithmetic result of each pair of operands from the one or more processing lanes of the vector unit to a dot product unit; and computing a second arithmetic result, the second arithmetic result being an arithmetic result of each first arithmetic result received from the one or more processing lanes, to generate the arithmetic result of more than two operands. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for computing a sum of eight operands, comprising:
-
in response to receiving a multiple addend instruction, computing a sum of a pair of operands in each of four processing lanes of a vector unit; transferring the sum of each pair of operands from each processing lane of the vector unit to a dot product unit; and adding the sums of each pair of operands in the dot product unit to generate the sum of the eight operands. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system comprising a plurality of processors communicably coupled with one another, wherein each processor comprises:
-
a register file comprising a plurality of registers, each register comprising a plurality of operands; a vector unit comprising a plurality of vector processing lanes and configured to; receive a multiple operand instruction specifying at least one register; and in response to receiving the multiple operand instruction, compute a first arithmetic result of a pair of operands received from the at least one register in each of one or more processing lanes of the vector unit; and a dot product unit configured to receive the first arithmetic result from each of the one or more processing lanes of the vector unit, and compute a second arithmetic result, the second arithmetic result being an arithmetic result of the first arithmetic results received from the one or more processing lanes, to compute an arithmetic result of more than two operands. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification