Load Store Alias Predictor for RAW Violation Gating

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Out-Of-Order (OOO) microprocessors face inefficiencies due to memory read-after-write (RAW) violations and delays, which result in computational penalties and power costs, as they lack effective means to track dependencies between loads and stores, leading to unnecessary delays and resource wastage.

Innovation Solution

The introduction of a Load Store Alias Predictor (LSAP) and Load Store Hazard Predictor (LSHP) modules that prevent the issuance of loads until their corresponding forwarding stores are ready, making memory dependencies visible to the scheduler and delaying only necessary loads to avoid RAW violations, thereby enhancing instruction-level parallelism and reducing retry-related costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If out-of-order execution is enabled to improve instruction-level parallelism, then productivity is improved, but memory RAW violations occur causing loss of time and computational penalties

Engineering Contradiction:
Improveinstruction-level parallelismVSAvoidpipeline flush time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by checking memory dependencies before issuing load instructions. The load store alias predictor examines prediction tables to determine if a load should wait for a prior store to complete, preventing RAW violations before they occur. This allows the processor to proactively avoid pipeline flushes while maintaining out-of-order execution benefits.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conventional dependency tracking is used to prevent RAW violations, then reliability is improved, but device complexity increases due to additional tracking mechanisms

Engineering Contradiction:
Improvememory dependency trackingVSAvoidprediction table structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating compact prediction table entries that store essential dependency information (store address tags and distance values) rather than tracking full memory dependency chains. This simplified copy of dependency data enables reliable RAW violation detection while keeping the prediction table structure manageable and efficient.

Inventive Principle:
Principle #26Copying

3Reliability

If loads are delayed to wait for stores to complete, then memory RAW violations are prevented, but productivity decreases due to reduced instruction-level parallelism

Engineering Contradiction:
Improvememory dependency handlingVSAvoidinstruction-level parallelism
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by selectively delaying only those load instructions that have confirmed memory dependencies on prior stores, as identified by the load store alias predictor. Loads without dependencies proceed immediately, maintaining instruction-level parallelism. This selective approach prevents unnecessary delays while ensuring reliability for dependent instructions.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If prediction tables are used to track aliasing stores, then measurement precision is improved for dependency detection, but loss of information increases due to limited table entries

Engineering Contradiction:
Improvedependency detection accuracyVSAvoidstore history coverage
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies local quality by making prediction table entries dynamically relevant to the current execution context. Each entry is tailored to specific load-store pairs with matching address patterns, concentrating tracking resources on the most probable dependency cases. This localized approach improves detection precision for relevant cases while managing the limited table size efficiently.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10579386B2Microprocessor for gating a load operation based on entries of a prediction table
Publication Date: 2020.03.03 INTEL CORP
  • US10579386B2 patent drawing
  • US10579386B2 patent drawing
  • US10579386B2 patent drawing

AI summary

An apparatus for gating a load instruction is presented. The apparatus includes a memory to store a prediction table including an entry matching the load instruction. The matching entry includes a tag field to identify the load instruction, a distance field to indicate a distance of the load instruction to a prior aliasing store instruction, and a confidence field to indicate a prediction strength. The apparatus further includes a gating circuit operable to perform a look-up for the load instruction in the prediction table to find the matching entry and responsive to a determination of a valid prediction, retrieve a location of the prior aliasing store instruction using a value of the distance field of the matching entry, and perform a gating operation on the load instruction. The apparatus further includes a load store queue operable to provide feedback for updating the matching entry after the load instruction has executed.