Cache Arbitration for Prefetch Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processor cache arbitration schemes, such as round-robin, inefficiently utilize cache resources, leading to reduced instruction throughput and unnecessary power consumption due to concurrent demand and prefetch requests, where prefetch hits consume time and energy without reducing demand request latency.

Innovation Solution

Implementing a prefetch prediction module that de-prioritizes prefetch requests predicted to hit the cache, discarding them from the pending queue, and adjusting arbitration priorities to favor demand requests and prefetch misses, thereby optimizing cache utilization and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If simple arbitration schemes like round-robin are used to select memory access requests, then the arbitration process is simple and easy to implement, but cache utilization is inefficient and instruction throughput is reduced

Engineering Contradiction:
Improvearbitration scheme simplicityVSAvoidinstruction throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The arbitration scheme transitions from static round-robin to dynamic priority-based arbitration. The arbiter dynamically adjusts request priorities based on real-time cache state information (hit/miss predictions) and request types (demand vs. prefetch), allowing the system to adapt to varying workload conditions and maximize cache utilization while maintaining implementation feasibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the arbitration parameter from fixed round-robin selection to variable priority levels. By introducing priority as a dynamic parameter that can be adjusted based on request characteristics and cache predictions, the arbitration process becomes more efficient without requiring complete redesign of the arbitration logic.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If prefetch requests are processed concurrently with demand requests, then the cache can service prefetch operations, but power consumption increases unnecessarily due to prefetch hits

Engineering Contradiction:
Improvecache service capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system discards prefetch requests that are predicted to result in cache hits, as these requests would not bring new data into the cache and would only consume power. The arbiter uses priority assignment to effectively discard low-value prefetch requests (those likely to hit) while maintaining service for high-value requests (demand requests and prefetch requests likely to miss).

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The harmful element (unnecessary prefetch requests that would hit in cache) is extracted and removed from the arbitration process. By identifying and separating these low-value requests from the main arbitration pool, the system eliminates their negative impact on power consumption while preserving the functionality of processing necessary prefetch requests.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If prefetch requests are given equal priority with demand requests, then all requests are treated equally, but demand request latency increases as cache ports are occupied by prefetch requests

Engineering Contradiction:
Improverequest handling fairnessVSAvoiddemand request latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Different priority levels are assigned to different types of requests based on their characteristics and urgency. Demand requests receive higher priority to ensure timely service, while prefetch requests receive lower priority. This local differentiation in treatment allows the system to maintain fairness in the sense that each request type receives appropriate attention based on its needs, while minimizing impact on critical demand requests.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The arbitration system uses feedback from cache predictions (hit/miss predictions) to dynamically adjust request priorities. This feedback mechanism allows the arbiter to make informed decisions about which requests to service first, ensuring that demand requests are not blocked by prefetch requests that would not result in cache hits, thereby reducing demand request latency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9223705B2Cache access arbitration for prefetch requests
Publication Date: 2015.12.29 ADVANCED MICRO DEVICES INC
  • US9223705B2 patent drawing
  • US9223705B2 patent drawing
  • US9223705B2 patent drawing

AI summary

A processor employs a prefetch prediction module that predicts, for each prefetch request, whether the prefetch request is likely to be satisfied from (“hit”) the cache. The arbitration priority of prefetch requests that are predicted to hit the cache is reduced relative to demand requests or other prefetch requests that are predicted to miss in the cache. Accordingly, an arbiter for the cache is less likely to select prefetch requests that hit the cache, thereby improving processor throughput.