Floating-Point Unit Normalization via Carry-Save Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for performing fused-multiply-add operations on 128-bit wide operands are inefficient, leading to slower execution and reduced accuracy in floating-point arithmetic, particularly in Big Data Analytics and high-performance applications, where numerical stability issues and convergence rates are critical.

Innovation Solution

A floating-point unit is designed to compute a 226-bit carry-save product, separating it into high and low parts, and performing iterative wide additions to generate an unrounded sum, with pre-alignment of intermediate results to fit on fixed-length shifters, enhancing normalization and rounding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional methods are used for fused-multiply-add operations on 128-bit operands, then device complexity is reduced, but execution speed and accuracy deteriorate

Engineering Contradiction:
Improveexecution speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the 226-bit carry-save product into high part and low part, and further segments the addition process into iterative wide additions. This segmentation allows the use of narrower fixed-length shifters instead of requiring a single wide shifter, improving execution speed while managing device complexity through modular processing stages

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the normalization problem from a single-wide-operation dimension to a multi-dimensional approach by performing iterative wide additions on segmented parts (high and low parts separately) and then combining results. This dimensional transformation enables the use of fixed-length shifters with pre-alignment, achieving faster execution without proportionally increasing hardware complexity

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If wide shifters and leading zero anticipation are used, then normalization accuracy is improved, but device complexity and execution time increase

Engineering Contradiction:
Improvenormalization accuracyVSAvoidexecution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs pre-alignment of intermediate results to fit on fixed-length shifters before the actual normalization process. This preliminary action prepares the data in advance, eliminating the need for complex leading zero anticipation logic during execution, thereby maintaining normalization accuracy while reducing execution time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and handles the alignment requirement separately through pre-alignment of segmented parts, removing the need for complex leading zero anticipation mechanisms. By taking out the alignment problem and solving it in advance, the main normalization process can proceed faster with simpler hardware

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If 128-bit floating-point operations are emulated via software, then hardware complexity is reduced, but execution speed deteriorates significantly

Engineering Contradiction:
Improveexecution speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces carry-save representation as an intermediary form between multiplication and addition operations. This intermediary representation allows partial results to be accumulated without immediate normalization, enabling faster iterative processing of 128-bit operations in hardware while maintaining accuracy, thus bridging the gap between software emulation correctness and hardware execution speed

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10235135B2Normalization of a product on a datapath
Publication Date: 2019.03.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10235135B2 patent drawing
  • US10235135B2 patent drawing
  • US10235135B2 patent drawing

AI summary

A unit operates on a sum term and a carry term separated into a high part and a low part of a product and performs a method that includes iteratively computing a carry save product and separating the carry save product into the high part and the low part: an intermediate product. The unit generates an intermediate wide result by performing a wide addition of the intermediate product to generate an unrounded sum for the high part (i.e., a fused-multiply-add high part) and the low part (i.e., a fused-multiply-add high part). The unit pre-aligns the intermediate wide result on two fixed length shifters such that the fused-multiply-add high part and the fused-multiply-add low part are pre-aligned to each fit on one shifter of the two fixed length shifters.