Floating Point Fused Multiply-Add with Scaling Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional implementations of floating point operations, such as division and square root computations, face challenges with corner cases like underflows, overflows, and precision issues due to the staging of FMA and scaling operations, which can lead to erroneous results and loss of accuracy.
Innovation Solution
Implementing a floating point fused multiply and add with scaling (FMASc) operation in hardware, where both FMA and scaling are performed in parallel as an integrated operation, and rounding is deferred until the final result is computed, avoiding the pitfalls of sequential staging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If FMA and scaling operations are staged sequentially in conventional floating point processors, then the implementation is simpler and uses existing hardware, but the intermediate FMA result may overflow/underflow or become subnormal, leading to loss of precision and accuracy in the final result
Solution Approach 1:
The patent merges the FMA operation and scaling operation into a single integrated hardware unit. The FMA unit computes the fused multiply-accumulate result, and the scaling unit immediately applies the scaling factor to this intermediate result without it being stored or rounded. This integration ensures that the full precision of the FMA result is preserved through the scaling operation, avoiding the precision loss that would occur if the FMA result were rounded before scaling in a sequential implementation.
2Reliability
If FMA and scaling are performed as separate sequential operations, then hardware resource usage is lower, but the staged implementation introduces additional overflow/underflow risks and precision loss
Solution Approach 1:
The patent combines the FMA and scaling operations into a single integrated hardware unit that processes them in one computational pass. The FMA unit generates an intermediate result that is immediately fed into the scaling unit, which applies the scaling factor 2^N to produce the final result. This merging eliminates the need for separate sequential execution stages, reducing the overall energy consumption while improving reliability by preventing intermediate overflow/underflow conditions.
3Ease of manufacture
If conventional staged FMA and scaling operations are used, then hardware implementation is more straightforward, but corner cases like underflows, overflows, and subnormal results cause erroneous computations
Solution Approach 1:
The patent integrates the FMA and scaling operations into a single hardware unit with coordinated control logic. The FMA unit computes the fused multiply-accumulate result, and the scaling unit simultaneously applies the scaling factor based on the exponent difference and scaling parameter N. This integrated design handles corner cases reliably because the scaling operation is applied to the full-precision intermediate FMA result before any rounding occurs, preventing erroneous results from underflows, overflows, or subnormal conditions that would arise in staged implementations.
Data Source
AI summary
Systems and methods for implementing a floating point fused multiply and accumulate with scaling (FMASc) operation. A floating point unit receives input multiplier, multiplicand, addend, and scaling factor operands. A multiplier block is configured to multiply mantissas of the multiplier and multiplicand to generate an intermediate product. Alignment logic is configured to pre-align the addend with the intermediate product based on the scaling factor and exponents of the addend, multiplier, and multiplicand, and accumulation logic is configured to add or subtract a mantissa of the pre-aligned addend with the intermediate product to obtain a result of the floating point unit. Normalization and rounding are performed on the result, avoiding rounding during intermediate stages.


