Systolic Array Neural Processor With On-Chip Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network computations are inefficient in terms of speed, throughput, power consumption, and cost when implemented in software, and face penalties from off-chip communication in hardware implementations.

Innovation Solution

A special-purpose hardware circuit with a matrix computation unit and vector computation unit, utilizing a two-dimensional systolic array to perform neural network computations, which includes a unified buffer, direct memory access engine, and sequencer to efficiently process large input sizes without off-chip communication penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If neural network computations are implemented in software, then flexibility and adaptability are maintained, but speed and throughput are insufficient

Engineering Contradiction:
Improvecomputation speedVSAvoidsoftware flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent replaces software-based neural network computations with a dedicated hardware circuit that performs matrix multiplications and activation functions. This hardware implementation uses specialized computational units (matrix computation unit and vector computation unit) to execute neural network operations in parallel, achieving significant speed improvements while maintaining the ability to process different neural network architectures through reconfigurable data paths and control logic.

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

2Speed

If hardware implementation is used to improve speed, then off-chip communication penalties increase

Engineering Contradiction:
Improvecomputation speedVSAvoidoff-chip communication time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements a hierarchical memory architecture where activation inputs are stored in a first buffer and weight inputs are stored in a second buffer, both located on-chip. The matrix computation unit and vector computation unit access these buffers through integrated data paths, eliminating the need for repeated off-chip memory accesses during neural network computations. This nested buffer structure keeps frequently accessed data close to the computational units, minimizing communication latency.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Measurement precision

If larger input sizes are processed, then computational accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvecomputation accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent divides the neural network computation into two distinct functional segments: a matrix computation unit that handles weight-activation multiplications and accumulations, and a vector computation unit that applies activation functions to the accumulated values. This segmentation allows each unit to be optimized for its specific function, improving computational efficiency and reducing the energy required per operation while maintaining the ability to process large input sizes with high accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12530579B2Systolic array processor for neural network computation
Publication Date: 2026.01.20 GOOGLE LLC
  • US12530579B2 patent drawing
  • US12530579B2 patent drawing
  • US12530579B2 patent drawing

AI summary

A circuit for performing neural network computations for a neural network comprising a plurality of neural network layers, the circuit comprising: a matrix computation unit configured to, for each of the plurality of neural network layers: receive a plurality of weight inputs and a plurality of activation inputs for the neural network layer, and generate a plurality of accumulated values based on the plurality of weight inputs and the plurality of activation inputs; and a vector computation unit communicatively coupled to the matrix computation unit and configured to, for each of the plurality of neural network layers: apply an activation function to each accumulated value generated by the matrix computation unit to generate a plurality of activated values for the neural network layer.