Accumulation of floating-point values
AssigneeArm Limited
InventorJørn Nystad
Life of this patent
Estimating the term…
Abstract
An apparatus and method for generating a sum of floating-point input values are provided. To sum the values multiple partial sum floating-point values are maintained and the partial sum to which an input value may be added is selected by a least significant portion of the exponent of the input value. If the exponent of the input value is equal to the exponent of the value stored in the selected partial sum a mantissa sum of the input value and stored partial sum value replaces the mantissa value of the selected partial sum value. If the exponent of the input value is larger than the exponent of the value stored in the selected partial sum the selected partial sum value is replaced with the input value. An associative and deterministic summation is thus provided.
Claims19
An apparatus for generating a sum of floating-point input values, the apparatus comprising:
- storage circuitry to store multiple partial sum floating-point values;
- selection circuitry to select a partial sum floating-point value of the multiple partial sum floating-point values in dependence on a least significant portion of a first exponent value for a floating-point input value;
- comparison circuitry to compare the first exponent value with a second exponent value stored for the selected partial sum floating-point value;
- and
- accumulation circuitry to perform an addition procedure, wherein the addition procedure comprises:
- replacing a mantissa value of the selected partial sum floating-point value with a mantissa sum of the floating-point input value and the selected partial sum floating-point value, when the first exponent value and the second exponent value are equal;
- and
- replacing the selected partial sum floating-point value with the floating-point input value in the selected partial sum floating-point value, when the first exponent value is larger than the second exponent value.
A method of generating a sum of floating-point input values in a data processing apparatus comprising the steps of:
- storing, in storage circuitry, multiple partial sum floating-point values;
- selecting, by selection circuitry, a partial sum floating-point value of the multiple partial sum floating-point values in dependence on a least significant portion of a first exponent value for a floating-point input value;
- comparing, by comparison circuitry, the first exponent value with a second exponent value stored for the selected partial sum floating-point value;
- and
- performing, accumulation circuitry, an addition procedure, wherein the addition procedure comprises:
- replacing a mantissa value of the selected partial sum floating-point value with a mantissa sum of the floating-point input value and the selected partial sum floating-point value, when the first exponent value and the second exponent value are equal;
- and
- replacing the selected partial sum floating-point value with the floating-point input value in the selected partial sum floating-point value, when the first exponent value is larger than the second exponent value.
Dependencies are inferred from the claim text.