Neural Network Processor Parallel Instruction Issue Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network processors face inefficiencies in data processing due to sequential instruction execution and limited parallel processing capabilities, particularly in tasks like image processing for applications in computer vision, which hampers performance in areas such as face recognition, image classification, and semantic segmentation.

Innovation Solution

A neural network processor architecture that includes a convolution processing unit, a vector processing unit, and an instruction issue module, where the instruction issue module can issue multiple instructions in parallel to both units, enabling simultaneous processing of data and improving calculation efficiency by executing fine-grained instructions within a single clock cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If single-issue instructions are used in neural network processors, then device complexity is reduced, but productivity deteriorates due to sequential execution limitations

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidinstruction issue module complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction issue module is segmented into multiple independent issue lanes (first issue lane, second issue lane, third issue lane) that can independently issue instructions to different processing units simultaneously. This segmentation enables parallel instruction issuance without requiring complex centralized control logic, thus improving productivity while keeping individual lane complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction issue module is designed with multi-functionality to handle different types of instructions (convolution instructions, vector instructions, matrix instructions) through a unified parallel issuing mechanism. The same issue lanes can dynamically issue different instruction types based on operational needs, avoiding the need for separate dedicated issue modules for each instruction type.

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

2Productivity

If multiple processing units are added to improve parallel processing capability, then productivity improves, but device complexity increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing units are segmented into specialized functional units (convolution processing unit, vector processing unit, matrix processing unit), each optimized for specific operations. This segmentation allows parallel execution of different operation types without requiring a single complex general-purpose unit, improving productivity while keeping each unit's internal complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction issue module acts as an intermediary that manages the complexity of coordinating multiple processing units. It receives high-level operational requirements and translates them into specific instruction sequences for the appropriate processing units, shielding the upper-level control logic from the complexity of direct unit coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If fine-grained instructions are executed within a single clock cycle, then productivity improves, but the difficulty of detecting and measuring increases

Engineering Contradiction:
Improveinstruction execution speedVSAvoidinstruction granularity control
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The instruction issue module dynamically changes the parameter of instruction granularity by issuing different numbers of instruction bits per clock cycle based on the specific operational requirements. For fine-grained operations, it issues smaller instruction units that can be completed within a single clock cycle, while for coarser operations, it issues larger instruction bundles, thus adapting execution speed to task requirements without requiring complex real-time detection mechanisms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11403104B2Neural network processor, chip and electronic device
Publication Date: 2022.08.02 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
  • US11403104B2 patent drawing
  • US11403104B2 patent drawing
  • US11403104B2 patent drawing

AI summary

The embodiments of the disclosure provide a neural network processor, a chip and an electronic device. The neural network processor includes a convolution processing unit, a vector processing unit, and an instruction issue module. The convolution processing unit and the vector processing unit are both connected to the instruction issue module. The instruction issue module is configured to issue a plurality of instructions to the convolution processing unit and the vector processing unit in parallel. The embodiments of the application can improve the efficiency of the neural network processor processing data.