Split Accumulator MAC Unit for Neural Network Power Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiply accumulate (MAC) units face bandwidth constraints and power efficiency challenges due to the serial accumulation of products, which can lead to increased power consumption and reduced precision in neural network computations.

Innovation Solution

Implementing a split accumulator structure with two or more stages of accumulators, where one accumulator periodically transfers its running total to a second accumulator, decoupling memory bandwidth and allowing for a shared adder and multiplexor to switch accumulation operations between them, thereby reducing power consumption and accommodating a wider dynamic range.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single accumulator is used in a MAC unit, then the structure is simple, but power consumption increases and precision is reduced due to continuous operation requirements

Engineering Contradiction:
Improveaccumulator structureVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The accumulator is segmented into two distinct accumulators (first accumulator for partial sums, second accumulator for final accumulation) that operate in alternating phases. This segmentation allows the system to distribute the accumulation workload, enabling each accumulator to be in a low-power state during parts of the operation cycle, thereby reducing overall power consumption while maintaining computational functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs periodic action by alternating between two accumulation phases: when the first accumulator is actively accumulating partial sums, the second accumulator holds previously accumulated values, and vice versa. This periodic switching allows accumulators to enter idle or low-power states between active accumulation periods, reducing average power consumption compared to a single continuously operating accumulator.

Inventive Principle:
Principle #19Periodic action

2Device complexity

If a single accumulator is used in a MAC unit, then the structure is simple, but precision is reduced due to limited dynamic range handling

Engineering Contradiction:
Improveaccumulator structureVSAvoidcomputational precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The accumulation process is segmented into two stages with two separate accumulators. The first accumulator handles partial sums with smaller dynamic range requirements, while the second accumulator handles the final accumulation with larger dynamic range. This segmentation allows each accumulator to be optimized for its specific range, improving overall precision without requiring a single high-capacity accumulator that would increase complexity and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a temporal dimension to the accumulation process by using two accumulators operating in alternating time phases. This dimensional approach allows the system to handle wider dynamic ranges by distributing values across different time periods and accumulator instances, effectively increasing the system's computational precision capability without proportionally increasing the complexity of individual accumulator structures.

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

3Productivity

If memory bandwidth is coupled with accumulator operation, then data flow is efficient, but bandwidth constraints limit the operation of numerous MAC units

Engineering Contradiction:
ImproveMAC unit operation throughputVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The accumulation function is segmented across two accumulators that can operate independently in alternating phases. This allows MAC units to continue producing results that are buffered in the first accumulator while the second accumulator processes previous data, effectively decoupling the continuous production capability from the periodic memory write requirement. This segmentation enables higher productivity without proportionally increasing memory bandwidth requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary accumulation in the first accumulator, building up partial sums before transferring them to the second accumulator for final processing and memory output. This preliminary action allows MAC units to maintain continuous operation and produce results faster than the memory can write, buffering intermediate results locally. This approach increases productivity by allowing computation to proceed without waiting for memory bandwidth availability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12026478B1Multiply accumulate (MAC) unit with split accumulator
Publication Date: 2024.07.02 TENSORDYNE INC
  • US12026478B1 patent drawing
  • US12026478B1 patent drawing
  • US12026478B1 patent drawing

AI summary

In a multiply accumulate (MAC) unit, an accumulator may be implemented in two or more stages. For example, a first accumulator may accumulate products from the multiplier of the MAC unit, and a second accumulator may periodically accumulate the running total of the first accumulator. Each time the first accumulator's running total is accumulated by the second accumulator, the first accumulator may be initialized to begin a new accumulation period. In one embodiment, the number of values accumulated by the first accumulator within an accumulation period may be a user-adjustable parameter. In one embodiment, the bit width of the input of the second accumulator may be greater than the bit width of the output of the first accumulator. In another embodiment, an adder may be shared between the first and second accumulators, and a multiplexor may switch the accumulation operations between the first and second accumulators.