Neural Network Unit With Circular Shift Register For Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face inefficiencies in performing neural network computations, particularly in deep learning applications, due to limitations in parallel processing and resource utilization, leading to suboptimal performance in tasks like speech and image recognition.

Innovation Solution

The processor incorporates a neural network unit (NNU) with multiple neural processing units (NPUs) that operate in parallel, utilizing a circular shifter mechanism to efficiently perform multiply-accumulate operations and activation functions, allowing for concurrent processing of large datasets with reduced resource requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processor architectures are used for neural network computations, then general-purpose processing capability is maintained, but processing efficiency and parallel processing capability are insufficient

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into separate functional units: a general-purpose processor for control and coordination, and a dedicated neural network unit with multiple neural processing units for computational tasks. This segmentation allows each component to be optimized for its specific function, improving overall processing efficiency while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The neural network unit is designed as a multi-functional component that can perform various neural network operations (convolutions, matrix multiplications, activation functions) through a unified architecture of neural processing units, shift registers, and circular shift mechanisms. This universal design improves processing efficiency for diverse deep learning tasks without requiring separate specialized hardware for each operation type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Speed

If parallel processing is implemented for neural network computations, then computation speed is improved, but resource utilization becomes suboptimal

Engineering Contradiction:
Improvecomputation speedVSAvoidresource utilization
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The neural processing units dynamically shift data between them using circular shift mechanisms, allowing flexible data flow patterns that adapt to different computational requirements. This dynamic data shifting enables efficient parallel processing where resources are actively utilized across multiple units simultaneously, improving both computation speed and resource utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The shift registers and circular shift mechanisms enable continuous data flow and computation across neural processing units without idle periods. By maintaining continuous useful action through pipelined operations and overlapping computations, the system maximizes resource utilization while achieving high computation speed, eliminating the trade-off between speed and resource efficiency.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If conventional neural network units are used, then implementation simplicity is maintained, but performance in deep learning tasks is suboptimal

Engineering Contradiction:
Improvedeep learning task performanceVSAvoidneural network unit structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The neural network unit employs a nested structure where multiple neural processing units are organized within a larger unit that contains shift registers and circular shift mechanisms. This nested architecture allows the complex functionality required for high-performance deep learning to be achieved through hierarchical organization, where simpler components are combined to form more powerful computational structures.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10671564B2Neural network unit that performs convolutions using collective shift register among array of neural processing units
Publication Date: 2020.06.02 VIA ALLIANCE SEMICON CO LTD
  • US10671564B2 patent drawing
  • US10671564B2 patent drawing
  • US10671564B2 patent drawing

AI summary

A neural network unit has a first memory that holds elements of a data matrix and a second memory that holds elements of a convolution kernel. An array of neural processing units (NPU) each have a multiplexed register that receives a corresponding element of a row from the first memory and that also receives the multiplexed register output of an adjacent NPU. A register receives a corresponding element of a row from the second memory. An arithmetic unit receives the outputs of the register, the multiplexed register and an accumulator and performs a multiply-accumulate operation on them. For each sub-matrix of a plurality of sub-matrices of the data matrix, each arithmetic unit selectively receives either the element from the first memory or the adjacent NPU multiplexed register output and performs a series of the multiply-accumulate operations to accumulate into the accumulator a convolution of the sub-matrix with the convolution kernel.