Load Store Ordering Violation Replay via Shadow Kill Window

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face performance and power efficiency issues due to load/store ordering violations, which lead to costly flushes and power consumption, as predictors are finite and cannot prevent initial violations effectively.

Innovation Solution

A processor with a load/store unit that includes load and store pipelines, allowing load operations to be issued out of order, with a mechanism to detect and replay load operations via a shadow kill window, reducing the need for costly flushes by comparing store addresses with load addresses to prevent ordering violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load operations are executed out of order with respect to older store operations, then processor performance is improved, but load/store ordering violations occur causing flushes that reduce performance and increase power consumption

Engineering Contradiction:
Improveprocessor performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by detecting potential load/store ordering violations before they cause flushes. The shadow kill window mechanism proactively identifies when a load operation might violate ordering constraints with older store operations, and preemptively handles these cases by replaying the load instead of flushing, thus preventing the harmful effect while maintaining out-of-order execution performance benefits

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a predictor is used to predict load/store ordering violations, then some violations are avoided, but initial instances of violations cannot be avoided and the finite predictor requires retraining

Engineering Contradiction:
Improveviolation prediction accuracyVSAvoidpredictor structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism - the shadow kill window - that acts as a mediator between the out-of-order execution engine and the ordering constraints. This intermediary detects potential violations before they manifest as flushes, providing an additional layer of protection beyond the finite predictor and eliminating the need for predictor retraining while maintaining high reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If load operations are flushed when ordering violations occur, then correct operation is maintained, but performance and power efficiency are reduced

Engineering Contradiction:
Improvecorrect operationVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent converts the harmful effect of flushes into a beneficial replay mechanism. Instead of flushing and discarding speculatively generated results when ordering violations are detected, the system replays the load operation, thereby maintaining correct operation while preserving the computational work already done, thus improving both performance and power efficiency

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS10983801B2Load/store ordering violation management
Publication Date: 2021.04.20 APPLE INC
  • US10983801B2 patent drawing
  • US10983801B2 patent drawing
  • US10983801B2 patent drawing

AI summary

A processor includes a load/store unit that includes one or more load pipelines and one or more store pipelines. Load operations may be issued into the load pipelines out of order with respect to older store operations. If a load operation is executed out or order with an older store operation that writes one or more bytes read by the load operation, and if the store operation is issued shortly after the load operation, such that the load operation is still in the load pipeline when the store operation is issued, some cases of flushing may be converted to replays by detecting the ordering violation while the load operation is still in the load pipeline.