Prefetch Filter Cache for Processor Fault Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer processors face delays due to prefetch faults, which occur when attempting to read data from invalid or empty memory locations, leading to multiple failed prefetch requests that hinder program execution.
Innovation Solution
Incorporating a prefetch filter cache that stores information about previous prefetch faults, allowing the processor to compare incoming requests against this cache and drop requests that are likely to fault, thereby avoiding unnecessary data retrieval operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the processor executes prefetch requests to reduce execution time, then data retrieval efficiency is improved, but prefetch faults occur when reading from invalid memory locations causing delays
Solution Approach 1:
The system performs preliminary actions by checking the prefetch filter cache before executing prefetch requests. The filter cache pre-stores information about invalid memory locations, allowing the system to identify and filter out faulty prefetch requests before they are executed, thus preventing prefetch faults while maintaining efficient data retrieval for valid requests
Solution Approach 2:
The prefetch filter cache acts as an intermediary between the prefetch logic and the memory system. It mediates prefetch requests by filtering out those targeting invalid memory locations based on previously stored fault information, thereby protecting the system from prefetch faults while allowing legitimate prefetch operations to proceed
2Productivity
If multiple prefetch requests are executed to optimize program execution, then overall execution time is reduced, but repeated failed prefetch requests to the same memory locations increase execution time
Solution Approach 1:
The system implements feedback by storing information about prefetch faults in the prefetch filter cache. When a prefetch fault occurs, the fault information is recorded and fed back into the filter cache, which then uses this information to prevent future prefetch requests to the same invalid memory locations, eliminating repeated failures and wasted time
Solution Approach 2:
The system discards futile prefetch requests by filtering them out using the prefetch filter cache before execution. By identifying and discarding requests targeting invalid memory locations based on stored fault information, the system recovers execution time that would have been wasted on failed prefetch operations
Data Source
AI summary
In an embodiment, a processor includes a plurality of cores, with at least one core including prefetch logic. The prefetch logic comprises circuitry to: receive a prefetch request; compare the received prefetch request to a plurality of entries of a prefetch filter cache; and in response to a determination that the received prefetch request matches one of the plurality of entries of the prefetch filter cache, drop the received prefetch request. Other embodiments are described and claimed.


