Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
AssigneeAltera Corporation
InventorsGerald George Pechanek, Ricardo Rodriguez, Matthew Plonski, David Strube, Kevin Coopman
Life of this patent
Estimating the term…
Abstract
Efficient computation of complex long multiplication results and an efficient calculation of a covariance matrix are described. A parallel array VLIW digital signal processor is employed along with specialized complex long multiplication instructions and communication operations between the processing elements which are overlapped with computation to provide very high performance operation. Successive iterations of a loop of tightly packed VLIWs may be used allowing the complex multiplication pipeline hardware to be efficiently used.
Claims20
An apparatus for extending the precision of a complex multiplication with accumulation, the apparatus comprising:
- a reduced precision storage unit for storing at least two complex operands, a reduced-precision real value, and a reduced-precision imaginary value;
- an extended-precision storage unit for holding an extended-precision real component and an extended-precision imaginary component;
- multipliers for multiplication of the two complex operands accessed from the reduced-precision storage unit to produce real and imaginary components of a complex product;
- a first integrated product adder and accumulator (IPAA) for addition and subtraction of real and imaginary components of the complex product combined with addition of an extended-precision real value producing an accumulated real result, the extended-precision real value formed by a concatenation of the extended-precision real component with the reduced-precision real value, and the accumulated real result made available for storing back an updated extended-precision real component in the extended-precision storage unit and an updated reduced-precision real value in the reduced-precision storage unit;
- and
- a second integrated product adder and accumulator (IPAA) for addition and subtraction of real and imaginary components of the complex product combined with addition of an extended-precision imaginary value producing an accumulated imaginary result, the extended-precision imaginary value formed by a concatenation of the extended-precision imaginary component with the reduced-precision imaginary value, and the accumulated imaginary result made available for storing back an updated extended-precision imaginary component in the extended-precision storage unit and an updated reduced-precision imaginary value in the reduced-precision storage unit.
A method for extending the precision of a complex multiplication with accumulation in a processor, the method comprising:
- multiplying two complex number operands accessed from a reduced precision storage unit to produce four real and imaginary components of a complex product in response to a processor issued multiply complex with extended precision accumulate instruction;
- adding two selected real and imaginary components of the complex product to produce a real result;
- subtracting two remaining selected real and imaginary components of the complex product to produce an imaginary result;
- adding an extended-precision real value with the real result to produce an accumulated real result, the extended-precision real value formed by a concatenation of an extended-precision real component stored in an extended-precision storage unit with a reduced-precision real value stored in a reduced precision storage unit, and the accumulated real result made available for storing back an updated extended-precision real component in the extended-precision storage unit and an updated reduced-precision real value in the reduced-precision storage unit;
- and
- adding an extended-precision imaginary value with the imaginary result to produce an accumulated imaginary result, the extended-precision imaginary value formed by a concatenation of an extended-precision imaginary component stored in an extended-precision storage unit with a reduced-precision imaginary value stored in a reduced precision storage unit, and the accumulated imaginary result made available for storing back an updated extended-precision imaginary component in the extended-precision storage unit and an updated reduced-precision imaginary value in the reduced-precision storage unit.
A method for extending the precision of a complex conjugate multiplication with accumulation for the execution of a multiply complex conjugate long extended precision accumulate (MPYCXJLXA) instruction in a processor, the method comprising:
- multiplying two complex number operands accessed from a reduced precision storage unit to produce four real and imaginary components of a complex product in response to a processor issued MPYCXJLXA instruction;
- adding two selected real and imaginary components of the four real and imaginary components of the complex product to produce a conjugate real result;
- subtracting two remaining selected real and imaginary components of the four real and imaginary components of the complex product to produce a conjugate imaginary result;
- adding an extended-precision real value with the conjugate real result to produce an accumulated conjugate real result, the extended-precision real value formed by a concatenation of an extended-precision real component stored in an extended-precision storage unit with a reduced-precision real value stored in a reduced precision storage unit, and the accumulated conjugate real result made available for storing back an updated extended-precision real component in the extended-precision storage unit and an updated reduced-precision real value in the reduced-precision storage unit;
- and
- adding an extended-precision imaginary value with the imaginary result to produce an accumulated conjugate imaginary result, the extended-precision imaginary value formed by a concatenation of an extended-precision imaginary component stored in an extended-precision storage unit with a reduced-precision imaginary value stored in a reduced precision storage unit, and the accumulated conjugate imaginary result made available for storing back an updated extended-precision imaginary component in the extended-precision storage unit and an updated reduced-precision imaginary value in the reduced-precision storage unit.
Dependencies are inferred from the claim text.