Processor Core Early Commit Logic for Store-Conditional Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared memory multiprocessor systems, the communication latency between processor cores and lower level caches slows down the processing of store-conditional instructions and dependent instructions due to the need for systemwide coherence, which affects the efficiency of data access synchronization.

Innovation Solution

The solution involves allowing store-conditional requests to commit updates directly in the processor core before transmitting them to the point of systemwide coherence, enabling early completion of store-conditional instructions and reducing latency by using a processor core with an upper level cache, execution unit, and completion logic that checks a flag to determine if the request can be completed early.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If store-conditional requests are transmitted to lower level cache for systemwide coherence determination, then coherence correctness is ensured, but processing speed deteriorates due to communication latency

Engineering Contradiction:
Improvecoherence correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The processor core performs preliminary action by committing the store-conditional update locally before transmitting the request to the lower level cache. The completion logic determines early completion based on whether any processor has reserved the target address, allowing the instruction to complete ahead of the coherence determination. This preliminary local commitment resolves the contradiction by enabling fast processing while maintaining correctness through subsequent coherence validation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If store-conditional instructions wait for lower level cache determination, then systemwide coherence is maintained, but productivity decreases due to latency

Engineering Contradiction:
Improvesystemwide coherenceVSAvoidinstruction processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary coherence checking by having the completion logic determine if early completion is permissible based on reservation status. This allows productive instructions to proceed without waiting for full cache determination, while still maintaining systemwide coherence through the reservation mechanism that prevents conflicting updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The completion logic acts as an intermediary between the execution unit and the lower level cache. It intercepts store-conditional requests and makes local determination of early completion based on reservation information, eliminating the need for instructions to wait for cache determination while preserving coherence through the reservation system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If early commitment is allowed in processor core, then processing latency is reduced, but device complexity increases due to completion logic and flag management

Engineering Contradiction:
Improveprocessing latencyVSAvoidprocessor core complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The processor core provides self-service by implementing completion logic that autonomously determines whether early commitment is safe based on reservation status. The execution unit sets completion flags when addresses are reserved, and the completion logic uses these flags to make local determination of early completion, eliminating the need for complex external coordination while reducing latency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11281582B2Completion logic performing early commitment of a store-conditional access based on a flag
Publication Date: 2022.03.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11281582B2 patent drawing
  • US11281582B2 patent drawing
  • US11281582B2 patent drawing

AI summary

A data processing system includes multiple processing units all having access to a shared memory system. A processing unit includes a lower level cache configured to serve as a point of systemwide coherency and a processor core coupled to the lower level cache. The processor core includes an upper level cache, an execution unit that executes a store-conditional instruction to generate a store-conditional request that specifies a store target address and store data, and a flag that, when set, indicates the store-conditional request can be completed early in the processor core. The processor core also includes completion logic configured to commit an update of the shared memory system with the store data specified by the store-conditional request based on whether the flag is set.