Microprocessor Load Store Unit Resync Predictor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern high-performance out-of-order executing microprocessors face performance losses due to erroneous load executions, which require resyncing and flushing of instructions, leading to wasted execution opportunities and potential errors when loads are executed before correct stores.

Innovation Solution

An enhanced microprocessor with a resync predictor in the load store unit and an instruction decoder that uses a resync predictor table to detect and correct errors by sending resync signals, setting counter thresholds, and switching between speculative and ordered execution modes based on error history to minimize execution errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load instructions are executed out-of-order to improve performance, then execution efficiency is improved, but execution errors occur when loads are executed before correct stores

Engineering Contradiction:
Improveexecution efficiencyVSAvoidexecution correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing speculative execution of load instructions before determining their correct execution order. The out-of-order execution unit speculatively executes loads ahead of time, and the resync predictor subsequently validates whether these speculative executions were correct, allowing the system to recover if errors occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the resync predictor mechanism that monitors executed load instructions and provides feedback signals when execution errors are detected. This feedback loop allows the system to identify and correct erroneous out-of-order executions, maintaining reliability while enabling aggressive out-of-order execution for performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If resyncing is performed to correct erroneous load executions, then execution correctness is improved, but performance is degraded due to wasted execution opportunities

Engineering Contradiction:
Improveexecution correctnessVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the error detection and correction functionality into a separate resync predictor unit that operates independently from the main execution pipeline. This allows erroneous instructions to be identified and handled separately without completely halting the out-of-order execution engine, minimizing performance impact while maintaining correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

When the resync predictor detects an erroneous load execution, it discards the incorrect results and triggers a selective resync operation. Rather than flushing the entire pipeline, the system recovers by re-executing only the affected instructions, thereby maintaining correctness while minimizing performance loss from the correction process.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If the LSU executes instructions in a particular order to ensure correctness, then execution reliability is improved, but efficiency is reduced due to constraints on out-of-order execution

Engineering Contradiction:
Improveexecution correctnessVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the execution order flexible rather than fixed. The LSU dynamically adjusts between out-of-order execution for performance and in-order execution for correctness based on runtime conditions. The resync predictor enables this dynamic behavior by allowing aggressive out-of-order execution when confidence is high and triggering corrections when errors are detected.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the execution parameter from strictly in-order to a dynamic mix of in-order and out-of-order execution. By introducing the resync predictor mechanism, the system can vary the degree of out-of-order execution based on detected error patterns, effectively changing the execution order parameter adaptively to balance correctness and efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8392757B2Method and apparatus for processing load instructions in a microprocessor having an enhanced instruction decoder and an enhanced load store unit
Publication Date: 2013.03.05 ADVANCED MICRO DEVICES INC
  • US8392757B2 patent drawing
  • US8392757B2 patent drawing
  • US8392757B2 patent drawing

AI summary

A method and microprocessor are described for efficiently executing load instructions out-of-order (speculatively). The microprocessor includes an enhanced load store unit (LSU) and an enhanced instruction decoder. The enhanced LSU receives a plurality of out-of-order value addresses, and sends a resync signal to the enhanced instruction decoder when an execution error associated with a particular load instruction occurs. The enhanced instruction decoder stores a specific address associated with the particular load instruction, and increments a counter value that indicates how many times the resync signal was sent by the resync predictor. When the counter value reaches a predetermined threshold, subsequent load instructions from the specific address are executed in order (non-speculatively). When a future execution of the particular load instruction indicates that the probability of an execution error has been reduced, the counter value is decremented, facilitating newer load instructions associated with the same address to again be executed speculatively.