Neural Network Decompression Circuit Using Mask-Based Vector Restore

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural network computations require large memory bandwidth due to the limited capacity of on-chip memory, leading to increased power consumption and degraded processor performance, with existing decompression techniques being time-consuming and inefficient.

Innovation Solution

A processor architecture that includes a mask register, general-purpose register file, and execution circuit to execute decompress instructions, utilizing zero-value compression to reduce memory bandwidth requirements by loading masks and decompressing neural network weights directly into vector registers using specialized instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compressed data is stored in off-chip memory to reduce memory bandwidth requirements, then memory bandwidth consumption is reduced, but decompression time increases and processor performance degrades

Engineering Contradiction:
Improvememory bandwidthVSAvoiddecompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The mask register pre-stores the binary sequence (mask value) indicating zero positions in the original data vector before decompression is needed. This preliminary preparation allows the decompression operation to proceed efficiently by having the selection criteria ready in advance, thus reducing decompression time while maintaining reduced memory bandwidth usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution circuit introduces a selection switch as an intermediary component that receives both the compressed data vector and the mask value, and generates the original data vector by applying the selection signal. This intermediary mechanism enables efficient decompression by selectively routing data through the selection switch based on the mask value, reducing both memory bandwidth requirements and decompression time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If traditional decompression methods are used, then data can be decompressed, but the number of instructions increases and processing cycles extend

Engineering Contradiction:
Improvedecompression capabilityVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The invention extracts only the essential non-zero data elements from the compressed data vector using the mask value to identify zero positions. By taking out only the necessary data elements and discarding the redundant zero-position information, the decompression process requires fewer instructions and processing cycles while maintaining full decompression capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The execution circuit changes the parameter representation by using a compact mask value (binary sequence) to represent the positions of zeros in the original data vector. This parameter transformation allows the decompression operation to be performed more efficiently by changing how the data structure is represented and processed, thereby increasing processing speed without sacrificing decompression accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12395187B2Computer architecture with data decompression support for neural network computing
Publication Date: 2025.08.19 MEDIATEK INC
  • US12395187B2 patent drawing
  • US12395187B2 patent drawing
  • US12395187B2 patent drawing

AI summary

A processor decompresses a compressed data vector into an original data vector. The processor includes an execution circuit, which receives a decompress instruction that includes two input operands and an output operand. The input operands indicate an address of the compressed data vector in a memory, and the output operand indicates the vector register for storing the original data vector after decompression. The execution circuit executes the decompress instruction to decompress the compressed data vector. When executing the decompress instruction, the execution circuit performs the following operations: read a mask value from the mask register, the mask value being a binary sequence indicating zero positions in the original data vector; generate a selection signal based on the mask value; and generate the original data vector by applying the selection signal to a selection switch that receives the compressed data vector as input.