Dynamic Prefetch Time Adjustment for Processor Cache Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor prefetching mechanisms face inefficiencies due to varying times to retrieve data from memory, leading to late or early prefetches, which waste resources and cache space, respectively.

Innovation Solution

A programmable logic circuit is introduced to dynamically determine the optimal prefetch time by adjusting the prefetch value based on prefetch counter and miss counter values, ensuring data is retrieved sufficiently before instruction execution without overfilling the cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the processor uses a fixed prefetch time to retrieve data from memory, then the prefetching mechanism is simple to implement, but it results in late prefetches (wasting time) or early prefetches (wasting cache space) due to varying memory retrieval times

Engineering Contradiction:
Improveprefetching mechanism simplicityVSAvoidprocessor performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a dynamic prefetch time adjustment mechanism where the processor monitors actual memory retrieval times and automatically adjusts the prefetch time parameter. Instead of using a fixed prefetch time, the system adapts the prefetch interval based on observed performance metrics, allowing the prefetching mechanism to respond to varying memory conditions while maintaining operational simplicity through automated adjustment.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the processor increases the prefetch time to ensure data is available before instruction execution, then data availability is improved, but cache space is wasted due to early prefetches

Engineering Contradiction:
Improvedata availabilityVSAvoidcache space
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent employs a feedback mechanism where the processor monitors whether prefetches are occurring too early or too late by tracking the timing of prefetch operations relative to instruction execution. Based on this feedback, the system adjusts the prefetch time parameter to optimize the balance between data availability and cache space utilization, preventing both late prefetches that waste time and early prefetches that waste cache space.

Inventive Principle:
Principle #23Feedback

3Volume of stationary object

If the processor decreases the prefetch time to reduce cache usage, then cache space efficiency is improved, but late prefetches increase causing processor waiting

Engineering Contradiction:
Improvecache spaceVSAvoidprocessor waiting time
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

The system uses feedback from monitoring prefetch timing to dynamically adjust the prefetch time parameter. When late prefetches are detected (indicating the prefetch occurred too soon and data wasn't ready), the system increases the prefetch time. When early prefetches are detected (indicating data was ready too early and cache space was wasted), the system decreases the prefetch time, thereby optimizing the balance between cache space efficiency and processor waiting time.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If the processor uses dynamic prefetch time adjustment based on monitoring, then prefetch accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveprefetch timing accuracyVSAvoidprefetching mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the processor automatically monitors its own prefetch performance and adjusts the prefetch time parameter without external intervention. The system uses built-in monitoring capabilities to track prefetch timing and automatically modifies the prefetch interval based on observed conditions, thereby achieving high prefetch timing accuracy while minimizing the complexity increase through self-managed optimization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10489297B2Prefetching time allocation
Publication Date: 2019.11.26 INTEL CORP
  • US10489297B2 patent drawing
  • US10489297B2 patent drawing
  • US10489297B2 patent drawing

AI summary

An example processor that includes a register, a cache, a processor core, and a programmable logic circuit. The register may store a first prefetch value indicating a first amount of time to prefetch data from a memory prior to an execution of a subsequent instruction that uses the data. The processor core may be coupled to the cache and the register. The processor core may execute a prefetch instruction to access the data from the memory, store a copy of the data in the cache, and execute the subsequent instruction. The programmable logic circuit may be coupled to the processor core. The programmable logic circuit may determine whether the first amount of time is insufficient to prefetch the data for the execution of the subsequent instruction and change the first prefetch value to a second prefetch value when the first amount of time is insufficient.