Out-of-Order Prefetcher Training Queue Filters Duplicates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prefetcher systems face inefficiencies in training due to excessive processing of duplicate demand requests, leading to suboptimal cache line access patterns and increased resource utilization.

Innovation Solution

Implementing a filtered prefetcher training queue that processes demand requests out-of-order, filters out duplicates, and allocates entries based on unique requests, allowing for efficient training without regard to program order, thereby reducing unnecessary prefetching and optimizing cache access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the prefetcher processes all demand requests in program order, then the training follows the original execution sequence, but duplicate requests are processed unnecessarily increasing resource usage and reducing training efficiency

Engineering Contradiction:
Improveprefetcher training efficiencyVSAvoidresource usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent inverts the traditional in-order processing approach by implementing out-of-order processing in the prefetcher training queue. Instead of processing demand requests in the sequence they arrive (program order), the system processes them in the order they complete their dependency chains, allowing duplicate requests to be filtered out more efficiently and reducing unnecessary prefetcher training operations.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent extracts and removes duplicate demand requests from the processing stream before they reach the prefetcher training queue. By implementing a filtering mechanism that identifies and eliminates duplicate requests upfront, the system prevents redundant training operations, thereby improving training efficiency and reducing resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If the prefetcher processes duplicate demand requests, then all requests are handled uniformly, but cache line access patterns become suboptimal and throughput decreases

Engineering Contradiction:
Improvesystem throughputVSAvoidcache access pattern quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts duplicate demand requests from the processing stream using a filtering mechanism in the prefetcher training queue. By removing these duplicates before prefetcher training, the system ensures that only unique, meaningful demand requests influence cache line access pattern learning, thereby improving both throughput and access pattern quality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a feedback mechanism where the prefetcher training queue monitors processed demand requests and uses this information to filter out duplicates. The system learns from past processing patterns and adjusts its filtering behavior accordingly, ensuring optimal cache access patterns are developed through feedback-driven duplicate elimination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240354253A1Prefetcher with out-of-order filtered prefetcher training queue
Publication Date: 2024.10.24 SIFIVE INC
  • US20240354253A1 patent drawing
  • US20240354253A1 patent drawing
  • US20240354253A1 patent drawing

AI summary

Described is a system and method for implementing a prefetcher with an out-of-order filtered prefetcher training queue. A processing system includes a prefetcher and a prefetcher training queue connected to the prefetcher. The prefetcher training queue configured to receive one or more demand requests from one or more load-store units, allocate a prefetcher training queue entry for a non-duplicative demand request, and send, to the prefetcher, a stored demand request together with a hit or miss indicator, wherein the prefetcher training queue sends stored demand requests without regard to program order.