GPU Memory Access Instructions With Immediate Address Offsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face inefficiencies in accessing structured buffers due to the need for additional operations like add and mov instructions when using global offsets for memory access, which can slow down processing.

Innovation Solution

Implementing support for an immediate global offset in memory access instructions to encode address increments directly, eliminating the need for additional operations like add and mov instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If global offset is used to access structured buffer members, then memory access flexibility is improved, but additional add and mov instructions are required which increases processing time

Engineering Contradiction:
Improvememory access flexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent combines the global offset value directly into the memory access instruction itself, merging what were previously separate operations (loading offset value + performing address calculation + accessing memory) into a single unified instruction. This eliminates the need for separate add and mov instructions while maintaining the flexibility of structured buffer access.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global offset value is pre-calculated and encoded into the instruction at compile time or before execution. This preliminary action of embedding the offset value directly in the instruction eliminates the need for runtime calculation, thereby reducing processing time while preserving memory access flexibility.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If additional add and mov instructions are used for memory access with global offset, then address calculation accuracy is maintained, but instruction count increases reducing processing efficiency

Engineering Contradiction:
Improveaddress calculation accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent merges the address calculation functionality directly into the memory access instruction by embedding the global offset value within the instruction encoding. This single instruction performs both the addressing and memory access functions that previously required multiple separate instructions, thereby maintaining accuracy while improving processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If immediate global offset is encoded in memory access instruction, then number of instructions is reduced improving processing speed, but instruction encoding complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction encoding complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent incorporates the global offset value as an additional field within the existing memory access instruction format, effectively adding a new dimension to the instruction encoding. This allows the offset to be embedded without requiring a complete redesign of the instruction set architecture, thereby improving processing speed while managing encoding complexity through structured extension of the existing format.

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

Data Source

PatentUS12487824B2Immediate offset of load store and atomic instructions
Publication Date: 2025.12.02 INTEL CORP
  • US12487824B2 patent drawing
  • US12487824B2 patent drawing
  • US12487824B2 patent drawing

AI summary

One embodiment provides a graphics processor including a processing resource including a register file, memory, a cache memory, and load/store/cache circuitry to process load, store, and prefetch messages from the processing resource. The circuitry includes support for an immediate address offset that will be used to adjust the address supplied for a memory access to be requested by the circuitry. Including support for the immediate address offset removes the need to execute additional instructions to adjust the address to be accessed prior to execution of the memory access instruction.