Floating Point Multiplier-Accumulator with Dynamic Precision Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing integer architectures face challenges in performing scalable and efficient dot product computations between large floating-point multiplicands, particularly due to the high complexity and power consumption of signed floating-point multiplication operations, and the need for precise accumulation without requiring full precision on intermediate results.
Innovation Solution
A pipelined floating-point multiplier-accumulator system with sign, exponent, and mantissa processors that dynamically adjusts precision based on exponent differences, using a maximum exponent finder and Pad, Complement, and Shift stages to optimize multiplication and accumulation operations, allowing for variable precision and reduced power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If full precision is used for all intermediate accumulation results, then measurement precision is improved, but device complexity and power consumption increase
Solution Approach 1:
The patent implements dynamic precision adjustment by monitoring the exponent difference between the accumulated result and incoming multiplicands. When the exponent difference exceeds a threshold, the system automatically reduces the number of bits used in accumulation operations. This dynamic adaptation allows the architecture to maintain full precision when needed while reducing complexity and power consumption when high precision is not required, directly resolving the contradiction between measurement precision and device complexity.
Solution Approach 2:
The system changes the precision parameter (number of bits) of the accumulator based on the exponent difference between input values. By adjusting the accumulation precision parameter dynamically rather than using fixed full precision, the patent reduces device complexity and power consumption while maintaining sufficient precision for the actual computational needs, thereby resolving the contradiction between precision and complexity.
2Measurement precision
If full precision is used for all intermediate accumulation results, then measurement precision is improved, but power consumption increases
Solution Approach 1:
The patent implements dynamic precision adjustment by monitoring the exponent difference between the accumulated result and incoming multiplicands. When the exponent difference exceeds a threshold, the system automatically reduces the number of bits used in accumulation operations. This dynamic adaptation allows the architecture to maintain full precision when needed while reducing complexity and power consumption when high precision is not required, directly resolving the contradiction between measurement precision and device complexity.
Solution Approach 2:
The system changes the precision parameter (number of bits) of the accumulator based on the exponent difference between input values. By adjusting the accumulation precision parameter dynamically rather than using fixed full precision, the patent reduces device complexity and power consumption while maintaining sufficient precision for the actual computational needs, thereby resolving the contradiction between precision and complexity.
3Measurement precision
If high precision multiplication is performed, then measurement precision is improved, but speed decreases due to increased complexity
Solution Approach 1:
The patent implements dynamic precision adjustment by monitoring the exponent difference between the accumulated result and incoming multiplicands. When the exponent difference exceeds a threshold, the system automatically reduces the number of bits used in accumulation operations. This dynamic adaptation allows the architecture to maintain full precision when needed while reducing complexity and power consumption when high precision is not required, directly resolving the contradiction between measurement precision and device complexity.
Data Source
AI summary
A floating point multiplier-accumulator (MAC) multiplies and accumulates N pairs of floating point values using N MAC processors operating simultaneously, each pair of values comprising an input value and a coefficient value to be multiplied and accumulated. The pairs of floating point values are simultaneously processed by the plurality of MAC processors, each of which outputs a signed integer form fraction and a maximum exponent. A range estimator forms a possible range of values from the exponent differences and determines an adder precision. The integer form fractions are summed using the adder precision, a sign bit is extracted, and a floating point value is output. Each MAC processor provides its integer form fraction with a precision determined by the MAC processor's exponent difference.


