Hardware Data Prefetcher With Stride Queue

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing a data prefetcher to predict future data needs for complex access patterns in microprocessors is resource-intensive, affecting clock cycle lengths and power consumption.

Innovation Solution

A hardware data prefetcher that queues strides between temporally adjacent load requests from the same memory page, calculating and comparing current strides to predict and prefetch cache lines based on matched stride patterns, reducing resource usage and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a complex stride pattern prediction algorithm is implemented, then prediction accuracy for complex access patterns improves, but power consumption and timing resources increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The prediction algorithm is segmented into multiple independent comparison stages: first comparing current stride with stride M, then comparing newest queued stride with stride M+1. Each stage operates independently and can be executed in parallel, reducing the critical path length and allowing simpler hardware implementation that consumes less power while maintaining high prediction accuracy for complex access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing and storing stride differences in the queue of indexed storage elements before the actual prediction is needed. The hardware logic continuously maintains the queue with queued strides from recent load requests, so when prediction is required, the data is already prepared and only comparison operations are needed, significantly reducing computational power requirements.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a complex stride pattern prediction algorithm is implemented, then prediction accuracy for complex access patterns improves, but clock cycle length increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidclock cycle length
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The prediction algorithm is segmented into multiple independent comparison stages: first comparing current stride with stride M, then comparing newest queued stride with stride M+1. Each stage operates independently and can be executed in parallel, reducing the critical path length and allowing simpler hardware implementation that consumes less power while maintaining high prediction accuracy for complex access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware logic dynamically adapts its operation based on the queue contents and current stride patterns. The system automatically selects which comparisons to perform based on the current access pattern, allowing flexible response time that optimizes between prediction accuracy and clock cycle length without fixed overhead.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If stride comparison and prediction logic is added, then data prefetching capability for complex patterns improves, but device complexity increases

Engineering Contradiction:
Improveprefetching capabilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The queue of indexed storage elements serves multiple functions: it stores queued strides from recent load requests, provides comparison data for pattern recognition, and enables both simple and complex access pattern prediction. The same hardware structure handles different prediction scenarios without requiring separate dedicated circuits, reducing overall device complexity while improving prefetching capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses a simplified copy-comparison approach where the hardware logic copies and compares stride values from the queue rather than performing complex computational analysis. The prediction is derived by copying the pattern recognized from queued strides and applying it to forecast future data needs, significantly reducing hardware complexity while maintaining versatile prefetching capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9032159B2Data prefetcher with complex stride predictor
Publication Date: 2015.05.12 VIA TECH INC
  • US9032159B2 patent drawing
  • US9032159B2 patent drawing
  • US9032159B2 patent drawing

AI summary

A hardware data prefetcher includes a queue of indexed storage elements into which are queued strides associated with a stream of temporally adjacent load requests. Each stride is a difference between cache line offsets of memory addresses of respective adjacent load requests. Hardware logic calculates a current stride between a current load request and a newest previous load request. The hardware logic compares the current stride and a stride M in the queue and compares the newest of the queued strides with a queued stride M+1, which is older than and adjacent to stride M. When the comparisons match, the hardware logic prefetches a cache line whose offset is the sum of the offset of the current load request and a stride M−1. Stride M−1 is newer than and adjacent to stride M in the queue.