Processor Load Data Prediction via Training Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processors face challenges in reducing memory read latency, particularly due to high latency in Level-1 data cache access and dependencies in address calculation, which hinder computational speed.

Innovation Solution

The implementation of a training table and register table system that predicts load data by identifying frequently repeating loads, allowing subsequent instances to use predicted values stored in registers, thereby bypassing actual memory reads and reducing dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is read from Level-1 data cache, then data retrieval is performed, but latency of at least 5 cycles is incurred

Engineering Contradiction:
Improvememory read latencyVSAvoidprocessor execution speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent performs preliminary actions by predicting load data values before actual memory access occurs. The predictor circuit generates predicted values during earlier pipeline stages (decode or allocate), allowing subsequent execution stages to use these predictions immediately, thereby eliminating the 5+ cycle L1 cache latency for repeated loads.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic prediction by tracking the dynamic behavior of load instructions through training tables and register tables. The system adapts to patterns in load addresses and data values, dynamically adjusting predictions based on observed repetition patterns, thereby reducing latency for dynamically repeating loads.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If address calculation dependencies are resolved, then accurate address computation is achieved, but resolution can take 10 cycles or more

Engineering Contradiction:
Improveaddress calculation accuracyVSAvoiddependency resolution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary address prediction by using training tables to store historical address information and generating predicted addresses before full dependency resolution. This allows the execution pipeline to proceed with predicted addresses while dependency resolution continues in parallel, reducing the 10+ cycle delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary structures (training tables and register tables) that mediate between dependency resolution and execution. These tables store intermediate address and data value information, allowing the execution unit to operate with predicted values while the full dependency chain resolves in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If predicted load data is used in execute stage, then memory latency is reduced, but prediction accuracy must be maintained

Engineering Contradiction:
Improvememory access timeVSAvoidprediction accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the actual load data returned from memory is compared with predicted values. Mismatches trigger updates to the training tables and register tables, refining future predictions. This feedback loop maintains high prediction accuracy while enabling latency reduction through early prediction usage.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses dynamic adaptation where prediction accuracy is continuously adjusted based on observed patterns. The training tables dynamically learn from actual memory access patterns, and the register tables are updated to reflect current data values, ensuring predictions remain accurate even as program behavior changes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10761844B2Systems and methods to predict load data values
Publication Date: 2020.09.01 INTEL CORP
  • US10761844B2 patent drawing
  • US10761844B2 patent drawing
  • US10761844B2 patent drawing

AI summary

Disclosed embodiments relate to predicting load data. In one example, a processor a pipeline having stages ordered as fetch, decode, allocate, write back, and commit, a training table to store an address, predicted data, a state, and a count of instances of unchanged return data, and tracking circuitry to determine, during one or more of the allocate and decode stages, whether a training table entry has a first state and matches a fetched first load instruction, and, if so, using the data predicted by the entry during the execute stage, the tracking circuitry further to update the training table during or after the write back stage to set the state of the first load instruction in the training table to the first state when the count reaches a first threshold.