Pipelined Floating-Point Multiplier-Accumulator for Low-Power Dot Products

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing integer architectures face significant complexity and power consumption issues when performing dot product computations between large floating-point matrices, particularly due to the scaling of multiplication and addition operations with the product of matrix dimensions.

Innovation Solution

A pipelined floating-point multiplier-accumulator architecture that includes sign, exponent, and mantissa processors, utilizing pipeline stages for efficient exponent handling, normalization, and 2's complement operations to perform scalable and low-power multiply-accumulate operations, enabling high-speed dot product computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If prior art integer architectures are used for floating point multiplication, then the operations can be performed, but the complexity scales as the product of n and m and power consumption increases

Engineering Contradiction:
Improvefloating point precisionVSAvoidoperation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The floating point multiplication is segmented into three independent processing stages: exponent processing (adding exponents and finding maximum), sign processing (XOR operation), and mantissa processing (integer multiplication with hidden bit restoration). This segmentation allows each stage to be optimized independently, reducing overall complexity while maintaining floating point precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hidden bit is restored to the mantissa before integer multiplication to simplify the computation. By preliminarily restoring the hidden bit, the mantissa multiplication becomes a straightforward integer operation, avoiding complex floating point handling during the multiplication stage.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If traditional floating point multiplication is used, then accurate results are obtained, but computational speed decreases due to operation complexity

Engineering Contradiction:
Improvedot product accuracyVSAvoidcomputational speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The floating point multiplication is replaced with integer arithmetic operations. The mantissas are converted to integers by restoring hidden bits, multiplied using efficient integer multiplication, and then the result is normalized. This substitution of integer mechanics for floating point mechanics significantly increases computational speed while maintaining accuracy through proper normalization and exponent adjustment.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The representation parameters of the floating point numbers are changed during computation. Exponents are adjusted by adding the bias value, mantissas are transformed from fractional to integer representation by restoring hidden bits, and the final result parameters are adjusted by subtracting the maximum exponent. These parameter changes enable faster integer-based computation while preserving the mathematical correctness of the floating point operation.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If large numbers of floating point operations are performed, then complete dot product is achieved, but power consumption increases

Engineering Contradiction:
Improvedot product completenessVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

The dot product computation is segmented into independent pipeline stages that can be processed concurrently. The exponent processing, sign processing, and mantissa processing are separated into distinct stages, allowing for efficient resource utilization and reduced power consumption per stage while completing the full dot product computation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The computation is organized into periodic pipeline cycles where each stage processes data in a systematic sequence. This periodic action allows for efficient clocking and power management, enabling the completion of large numbers of floating point operations with optimized power consumption through regular, predictable processing patterns.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11893360B2Process for a floating point dot product multiplier-accumulator
Publication Date: 2024.02.06 CEREMORPHIC INC
  • US11893360B2 patent drawing
  • US11893360B2 patent drawing
  • US11893360B2 patent drawing

AI summary

A process for performing vector dot products receives a row vector and a column vector as floating point numbers in a format of sign plus exponent bits plus mantissa bits. The process generates a single dot product value by separately processing the sign bits, exponent bits, and mantissa bits to form a sign bit, a normalized mantissa formed by multiplying pairs multiplicand elements, and exponent information including MAX_EXP and EXP_DIFF. A second pipeline stage receives the multiplied pairs of normalized mantissas, optionally performs an exponent adjustment, pads, complements and shifts the normalized mantissas, and the results are added in a series of stages until a single addition result remains, which is normalized using MAX_EXP to form the floating point output result.