Systolic Array Neural Processor With On-Chip Buffering
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If neural network computations are implemented in software, then flexibility and adaptability are maintained, but speed and throughput are insufficient
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.
2Speed
If hardware implementation is used to improve speed, then off-chip communication penalties increase
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.
3Measurement precision
If larger input sizes are processed, then computational accuracy is improved, but power consumption increases
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.
Data Source
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.


