Partial Long Synchronization for Memory Latency Hiding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional long synchronization instructions in processor devices lead to performance degradation by forcing dependent instructions to wait for the completion of all memory access instructions, even if some have lower latency, thereby wasting processor cycles.

Innovation Solution

Implementing partial long synchronization instructions that release pending memory access instructions as data becomes available, allowing execution to continue for lower-latency instructions while waiting for higher-latency ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a long synchronization instruction is used to ensure data availability for subsequent instructions, then reliability is improved, but productivity deteriorates due to halted instruction execution

Engineering Contradiction:
Improvedata availabilityVSAvoidinstruction execution throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the synchronization operation into partial synchronization points. Instead of a single long synchronization barrier that halts all execution, the system inserts multiple shorter synchronization points at strategic locations in the instruction stream. This allows instruction streams to be divided into segments that can progress independently, with synchronization occurring only at designated boundaries, thus maintaining reliability while improving overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by implementing partial long synchronization that only synchronizes a subset of memory access instructions rather than all pending operations. The system identifies specific memory access instructions that require synchronization and applies synchronization barriers selectively, allowing other instructions to proceed without interruption. This partial approach maintains necessary data availability while reducing the overall impact on instruction execution throughput.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If execution is halted to wait for high-latency memory access instructions, then data availability is ensured, but loss of time increases for lower-latency instructions

Engineering Contradiction:
Improvedata readinessVSAvoidprocessor cycle waiting
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the memory access instruction stream into groups with different synchronization requirements. Low-latency memory access instructions are separated from high-latency ones, allowing the former to complete and proceed to subsequent instructions without being blocked by the latter. Synchronization is applied selectively to only those instruction segments that require data readiness, minimizing time loss for instructions that do not depend on high-latency operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements partial synchronization by identifying and synchronizing only the specific memory access instructions that are prerequisites for subsequent dependent instructions. Instructions that do not depend on high-latency memory operations are allowed to execute without waiting, thereby reducing the overall time loss while still ensuring data readiness where required.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all memory access instructions are synchronized before continuation, then reliability is improved, but use of energy increases due to extended processor idle time

Engineering Contradiction:
Improveinstruction dependency satisfactionVSAvoidprocessor power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the instruction stream into multiple execution waves separated by partial synchronization points. Instead of halting all execution until every memory access completes, the system allows different segments to progress concurrently, with synchronization occurring only at segment boundaries. This reduces the duration of processor idle states and associated power consumption while maintaining instruction dependency satisfaction within each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies synchronization partially and selectively rather than universally. Only those instruction segments that require strict ordering and data availability are synchronized, while other segments can execute in parallel or out-of-order. This partial approach reduces the total time the processor remains in high-power states, thereby reducing overall energy consumption while still ensuring reliability where needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20260064416A1Executing partial long synchronization instructions to improve performance in processor devices
Publication Date: 2026.03.05 QUALCOMM INC
  • US20260064416A1 patent drawing
  • US20260064416A1 patent drawing
  • US20260064416A1 patent drawing

AI summary

Executing partial long synchronization instructions to improve performance in processor devices is disclosed herein. In some aspects, a processor device comprises an instruction processing circuit that is configured to initiate execution of a plurality of memory access instructions in an instruction stream, wherein each memory access instruction of the plurality of memory access instructions is associated with a memory latency. The instruction processing circuit subsequently executes a partial long synchronization instruction that specifies a count of the plurality of memory access instructions. In response to executing the partial long synchronization instruction, the instruction processing circuit halts further execution of the instruction stream, and determines whether data for an ordinal first memory access instruction of the plurality of memory access instructions is ready. If so, the instruction processing circuit completes execution of the ordinal first memory access instruction, and continues execution of the instruction stream.