Load-Store Prediction Circuitry with Selective Store Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing apparatuses experience delays due to store and load instructions on critical execution paths, leading to increased latency and resource utilization when every store operation is treated as potentially part of a load-store forwarding operation.

Innovation Solution

Implement decoder and prediction circuitry to separately maintain load and store predictions, allowing independent allocation and management of load and store predictions, reducing resource usage and conserving circuit area by only allocating store predictions when there's a reasonable chance of a load-store forwarding operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If every store operation is treated as potentially part of a load-store forwarding operation, then load-store forwarding capability is improved, but circuit area and resource utilization increase

Engineering Contradiction:
Improveload-store forwarding capabilityVSAvoidcircuit area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The prediction circuitry is segmented into separate load prediction storage and store prediction storage structures. Load predictions are maintained independently of store predictions, allowing the system to allocate resources selectively. Store predictions are only allocated when there's a reasonable chance of a load-store forwarding operation, reducing overall circuit area while maintaining forwarding capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages prediction allocations by maintaining different conditions for load and store predictions. Store predictions are allocated on-demand based on the likelihood of forwarding operations, rather than reserving space for all possible store operations. This dynamic allocation reduces circuit area while preserving adaptability for load-store forwarding.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If separate maintenance of load and store predictions is implemented, then resource utilization is improved, but prediction management complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidprediction management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The prediction circuitry divides prediction management into separate modules: load prediction storage and store prediction storage. Each module manages its own entries independently, which simplifies the allocation logic. Load predictions are allocated when load instructions are encountered, while store predictions are allocated separately when store instructions indicate a reasonable chance of forwarding, reducing the complexity of managing a unified prediction structure.

Inventive Principle:
Principle #1Segmentation

3Area of stationary object

If store predictions are allocated only when needed, then circuit area is reduced, but prediction accuracy may be compromised

Engineering Contradiction:
Improvecircuit areaVSAvoidprediction accuracy
Core Design Contradiction:
Area of stationary objectVSReliability

Solution Approach 1:

The system uses dynamic allocation criteria for store predictions, allocating them only when there's a reasonable chance of a load-store forwarding operation occurring. This dynamic approach maintains prediction accuracy by ensuring that predictions are made only when the forwarding scenario is likely, rather than maintaining all possible predictions. The separate maintenance of load and store predictions with different conditions ensures accurate predictions are made when needed without wasting resources on unlikely scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12423109B2Storing load predictions
Publication Date: 2025.09.23 ARM LTD
  • US12423109B2 patent drawing
  • US12423109B2 patent drawing
  • US12423109B2 patent drawing

AI summary

There is provided an apparatus comprising decoder circuitry to decode store instructions and load instructions. The apparatus includes decoder circuitry to decode store instructions and load instructions. The apparatus also includes prediction circuitry to store load predictions and store predictions. Each load prediction is indexed based on a program counter value of one of the load instructions and comprises information indicative of a predicted store instruction predicted to store data to memory to be subsequently loaded from the memory by that load instruction. Each store prediction is indexed based on the program counter value of one of the store instructions and comprises information indicative of the store instruction being predicted to be indicated as the predicted store instruction in at least one of the plurality of load predictions. Conditions for maintaining the load predictions are different from conditions for maintaining the store predictions.