Skipping Intermediate Value Storage in General Purpose Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage techniques in general purpose registers (GPRs) of processing units, such as GPUs, lead to unnecessary power consumption by storing intermediate values that are not needed for subsequent operations, as they always store and overwrite intermediate values in the GPR, even though this storage is not always necessary.

Innovation Solution

A method where a compiler determines whether intermediate values are no longer needed by scanning the instructions and indicating this through flags, allowing the processing unit to skip storing these values in the GPR, thereby reducing unnecessary access and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If intermediate values are always stored in the GPR, then data availability for subsequent operations is ensured, but power consumption increases due to unnecessary write operations

Engineering Contradiction:
Improvedata availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies the skipping principle by enabling the processing element to skip the GPR write operation when the intermediate value is not needed for subsequent operations. The compiler analyzes the instruction sequence and sets a 'last use' indicator for intermediate values that are not required later, allowing the hardware to bypass unnecessary storage operations and reduce power consumption while maintaining data availability when needed.

Inventive Principle:
Principle #21Skipping (Rushing through)

2Ease of operation

If the GPR is accessed frequently for storing intermediate values, then data storage is simplified, but power consumption increases

Engineering Contradiction:
Improvedata storage simplicityVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent applies the dynamics principle by making the GPR write operation conditional rather than static. The write operation is dynamically controlled by the 'last use' indicator set by the compiler, allowing the system to adapt between storing and skipping storage based on the specific intermediate value and instruction sequence, thereby reducing unnecessary power consumption while maintaining ease of operation for required storages.

Inventive Principle:
Principle #15Dynamics

3Reliability

If all intermediate values are stored in the GPR, then correctness of arithmetic operations is maintained, but unnecessary power is consumed

Engineering Contradiction:
Improvearithmetic operation correctnessVSAvoidpower waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies the feedback principle by implementing a compiler analysis mechanism that tracks the usage of intermediate values throughout the instruction sequence. The compiler provides feedback information (the 'last use' indicator) to the processing element, enabling it to make informed decisions about whether to store intermediate values in the GPR, thus maintaining correctness when needed and avoiding power waste when not needed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3183646B1Skipping of data storage
Publication Date: 2018.07.25 QUALCOMM INC
  • EP3183646B1 patent drawingFigure 1
  • EP3183646B1 patent drawingFigure 2
  • EP3183646B1 patent drawingFigure 3

AI summary

Techniques are described in which an indication is included to indicate a last use of an intermediate value generated as part of determining a final value is not be stored in a general purpose register (GPR). A processing unit avoids storing the intermediate value in the GPR based on the indication because the intermediate value is no longer needed for determining the final value.