General Purpose Register Spill Management via Dynamic Pool Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processing units like GPUs, managing register spillage when higher priority instructions need to execute is challenging due to insufficient memory in general purpose registers (GPRs), leading to increased power consumption and delay in switching contexts or scheduling.

Innovation Solution

The implementation of a dual-pool GPR system with static and dynamic memory locations, where only dynamic memory locations are spilled to free space for higher priority instructions, allowing for efficient context switching and fair scheduling without spilling all memory locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If all memory locations in GPRs are spilled to free space for higher priority instructions, then sufficient storage space is available for high priority instructions, but power consumption increases and context switching delay increases

Engineering Contradiction:
Improvestorage space in GPRsVSAvoidpower consumption
Core Design Contradiction:
Area of stationary objectVSLoss of energy

Solution Approach 1:

The GPR memory is segmented into two distinct pools: a static pool that retains data throughout instruction execution and a dynamic pool that can be spilled when needed. This segmentation allows selective spilling of only the dynamic pool portions, freeing sufficient space for high-priority instructions while minimizing the amount of data that needs to be spilled, thereby reducing power consumption and context switching delay.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary portions of data from the GPRs for spilling - specifically, only from the dynamic pool portions rather than all memory locations. This selective extraction minimizes the spilling operation scope, reducing both power consumption and switching delay while still providing adequate space for high-priority instruction execution.

Inventive Principle:
Principle #2Taking out (Extraction)

2Area of stationary object

If all memory locations in GPRs are spilled for higher priority instructions, then sufficient storage space is available, but context switching delay increases

Engineering Contradiction:
Improvestorage space in GPRsVSAvoidcontext switching delay
Core Design Contradiction:
Area of stationary objectVSLoss of time

Solution Approach 1:

By segmenting GPR memory into static and dynamic pools, the patent enables selective spilling operations that affect only the dynamic portions. This reduces the scope of context switching operations, minimizing delay while still providing necessary storage space for high-priority instructions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by spilling only the necessary dynamic pool portions rather than all GPR memory locations. This partial spilling provides sufficient space for high-priority instructions while minimizing the time required for the spilling operation, thus reducing context switching delay.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If a dual-pool GPR system is implemented with static and dynamic memory locations, then selective spilling is enabled for fast context switching, but device complexity increases

Engineering Contradiction:
Improvecontext switching speedVSAvoidGPR structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The GPR structure is segmented into static and dynamic pools, which adds organizational complexity but enables efficient selective spilling operations. The segmentation allows the system to quickly identify and spill only the dynamic portions when context switching is needed, improving productivity despite the increased structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dynamic pool portion of the GPRs is designed to be adjustable and reconfigurable during execution, allowing flexible allocation and spilling operations. This dynamic characteristic enables fast context switching by allowing the system to adaptively manage memory resources based on priority requirements, justifying the increased device complexity through significant performance gains.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9779469B2Register spill management for general purpose registers (GPRs)
Publication Date: 2017.10.03 QUALCOMM INC
  • US9779469B2 patent drawing
  • US9779469B2 patent drawing
  • US9779469B2 patent drawing

AI summary

Techniques are described for copying data only from a subset of memory locations allocated to a set of instructions to free memory locations for higher priority instructions to execute. Data from a dynamic portion of one or more general purpose registers (GPRs) allocated to the set of instructions may be copied and stored to another memory unit while data from a static portion of the one or more GPRs allocated to the set of instructions may not be copied and stored to another memory unit.