Skipping Intermediate Value Storage in General Purpose Registers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Ease of operation
If the GPR is accessed frequently for storing intermediate values, then data storage is simplified, but power consumption increases
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.
3Reliability
If all intermediate values are stored in the GPR, then correctness of arithmetic operations is maintained, but unnecessary power is consumed
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.
Data Source
Figure 1
Figure 2
Figure 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.