Microprocessor Series Calculation Circuit for Neural Network Activation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessors require multiple macro-instructions for calculating activation functions in neural networks, leading to inefficient execution due to out-of-order micro-instructions and high computational resource consumption.

Innovation Solution

A microprocessor with an execution circuit that performs series calculations using a multiplier and multiple accumulate units, implementing pipelining operations to efficiently approximate activation functions with simpler hardware, allowing for execution of complex computations with fewer resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple macro-instructions are used for calculating activation functions, then the calculation can be performed, but the execution efficiency is low due to out-of-order micro-instructions and high computational resource consumption

Engineering Contradiction:
Improvecalculation efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution circuit is segmented into multiple functional units including a multiplier unit for calculating exponentiation values and multiple MAU units for parallel series calculations. This segmentation allows different parts of the calculation to be performed simultaneously, improving efficiency while keeping each unit relatively simple

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by implementing multiple MAU units that can perform calculations simultaneously. This multi-dimensional approach allows the circuit to process multiple terms of the series expansion in parallel, achieving high efficiency without requiring overly complex sequential control logic

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

2Loss of time

If complex computations are performed using traditional execution units, then the calculations can be completed, but a long time is required due to dependencies between out-of-order micro-instructions

Engineering Contradiction:
Improveexecution timeVSAvoidexecution circuit complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The multiplier unit pre-calculates exponentiation values of the input x (such as x², x³, x⁴, etc.) before they are needed by the MAU units. This preliminary action eliminates dependencies between calculation stages, allowing the MAU units to immediately perform series calculations without waiting for intermediate results, thus reducing execution time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediate exponentiation values as mediators between the input and the final series calculation. These pre-computed values serve as intermediaries that decouple the computational dependencies, enabling parallel execution and reducing the overall execution time without significantly increasing circuit complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10754648B2Microprocessor with circuit for series calculation
Publication Date: 2020.08.25 VIA ALLIANCE SEMICON CO LTD
  • US10754648B2 patent drawing
  • US10754648B2 patent drawing
  • US10754648B2 patent drawing

AI summary

A microprocessor having the capability of executing a micro-instruction for series calculation is provided. The microprocessor includes an instruction decoder and an execution circuit for series calculation. The micro-instruction whose source operands correspond to an undetermined number x and a plurality of coefficients a0 to an (for x0 to xn) is decoded by the instruction decoder. Based on x and a0 to an, the execution circuit for series calculation includes at least one multiplier for calculating exponentiation values of x (e.g. xp), and includes at least one MAU (multiply-and-accumulate unit) for combining x, the exponentiation values of x, and the coefficients a0 to an for the series calculation.