Store-to-load forwarding via predicted dependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processors experience instruction execution latency due to the delay in store-to-load forwarding, which occurs only after store data has been moved to the load/store unit, leading to inefficiencies in processing dependent instructions.

Innovation Solution

Implementing store-to-load forwarding at the arithmetic unit based on predicted dependencies between store and load instructions, allowing data forwarding prior to or concurrent with the movement of store data to the load/store unit, thereby reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If store-to-load forwarding is performed only after store data is moved to the load/store unit, then data accuracy is ensured, but instruction execution latency increases

Engineering Contradiction:
Improvedata accuracyVSAvoidinstruction execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs store-to-load forwarding at the arithmetic unit before the store data is moved to the load/store unit. The arithmetic unit maintains a store forward queue that holds store instructions and their data, enabling early forwarding to dependent load instructions. This preliminary action reduces instruction execution latency while maintaining data accuracy through validation mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If store instructions are delayed until ready to be retired, then memory disambiguation accuracy is improved, but processing throughput decreases

Engineering Contradiction:
Improvememory disambiguation accuracyVSAvoidprocessing throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the processing into two independent paths: (1) the arithmetic unit path that performs store-to-load forwarding for dependent instructions to maintain throughput, and (2) the load/store unit path that performs final memory disambiguation for retirement. This segmentation allows both accuracy and throughput to be maintained simultaneously.

Inventive Principle:
Principle #1Segmentation

3Reliability

If store data is maintained in the store buffer at the load/store unit, then forwarding accuracy is ensured, but device complexity increases

Engineering Contradiction:
Improveforwarding accuracyVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a store forward queue at the arithmetic unit as an intermediary structure between the store buffer and load instructions. This intermediary enables early forwarding decisions to be made with simpler logic, while the final forwarding accuracy is still validated by the load/store unit's store buffer. The intermediary reduces the complexity burden on any single component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11379234B2Store-to-load forwarding
Publication Date: 2022.07.05 ADVANCED MICRO DEVICES INC
  • US11379234B2 patent drawing
  • US11379234B2 patent drawing
  • US11379234B2 patent drawing

AI summary

An arithmetic unit performs store-to-load forwarding based on predicted dependencies between store instructions and load instructions. In some embodiments, the arithmetic unit maintains a table of store instructions that are awaiting movement to a load/store unit of the instruction pipeline. In response to receiving a load instruction that is predicted to be dependent on a store instruction stored at the table, the arithmetic unit causes the data associated with the store instruction to be placed into the physical register targeted by the load instruction. In some embodiments, the arithmetic unit performs the forwarding by mapping the physical register targeted by the load instruction to the physical register where the data associated with the store instruction is located.