Fused Multiply Add Circuit Area Reduction via Segmented Addition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing floating point processors require significant area overhead for performing fused multiply add operations due to the need for wide adders and shifters, which is particularly problematic for smaller processors where circuit area is a concern.

Innovation Solution

The solution involves splitting the product of the multiplication into high and low order portions, allowing the fused multiply add operation to be performed using adders and shifters of similar width to those used for simple floating point addition, thereby reducing the circuit area required. This is achieved by adding the operand to one portion to generate an intermediate sum, which is then added to the remaining portion to produce the final result.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If wide adders and shifters are used to perform fused multiply add operations, then calculation precision is maintained, but circuit area overhead increases significantly

Engineering Contradiction:
Improvecalculation precisionVSAvoidcircuit area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent segments the multiplication result into high-order and low-order portions, and performs addition in two separate steps. First, the operand A is added to one portion (e.g., high-order) to generate an intermediate sum. Then, the remaining portion (e.g., low-order) is added to the intermediate sum to produce the final result. This segmentation allows the use of narrower adders (similar width to operand A) instead of wide adders, significantly reducing circuit area while maintaining precision.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the multiplication result is added in a single step using wide adders, then processing time is reduced, but circuit area overhead increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcircuit area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The addition operation is segmented into two sequential steps instead of one single-step wide addition. The first step adds operand A to the high-order portion of the product, and the second step adds the low-order portion to the intermediate result. This time-for-area tradeoff uses two narrower adders sequentially, reducing circuit area at the expense of increased processing time, which is acceptable in many smaller processors where latency is not critical.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If separate multiply and add operations are performed with rounding of intermediate results, then circuit complexity is reduced, but calculation precision deteriorates

Engineering Contradiction:
Improvecircuit complexityVSAvoidcalculation precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent merges the multiply and add operations into a single fused operation without rounding the intermediate result. The multiplication of operands B and C is performed to generate a product, and this product is then added to operand A in a fused manner. By combining these operations and avoiding intermediate rounding, the patent maintains higher precision (equivalent to using wide adders) while using the segmented addition approach to reduce circuit area.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8499017B2Apparatus and method for performing fused multiply add floating point operation
Publication Date: 2013.07.30 ARM LTD
  • US8499017B2 patent drawing
  • US8499017B2 patent drawing
  • US8499017B2 patent drawing

AI summary

A data processing apparatus is arranged to perform a fused multiply add operation. The apparatus 100 has multiplying circuitry 110 configured to multiply operands B and C to generate a product B*C having a high order portion 160 and a low order portion 170. The apparatus has adding circuitry 130 configured to: (i) add an operand A to one of the high order portion 160 and the low order portion 170 to generate an intermediate sum value; and (ii) add the intermediate sum value to a remaining one of the high order portion 160 and the low order portion 170 to generate a result A+B*C.