Cache Eviction Using Speculative Execution State Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited size of caches in data processing apparatuses leads to the eviction of useful cache lines, resulting in the need for repeated fetching and reinsertion of data or instructions, which is undesirable and inefficient.

Innovation Solution

Incorporating cache circuitry with indicators to determine which items are least likely to be used based on the state of the processing circuitry at the time of insertion, allowing for targeted eviction of unnecessary items and optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache size is limited to maintain fast access speed, then access speed is improved, but cache capacity deteriorates

Engineering Contradiction:
Improveaccess speedVSAvoidcache capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of cache line status by introducing a speculatively-executed indicator that can be in different states (set or cleared). This allows the cache to track and differentiate between cache lines that were loaded during speculative execution versus those loaded during normal execution, enabling more intelligent eviction decisions that resolve the contradiction between maintaining fast access with limited capacity.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If cache lines are evicted to make room for new items, then cache capacity utilization is improved, but data reuse deteriorates

Engineering Contradiction:
Improvecache capacity utilizationVSAvoiddata reuse
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements feedback by having the detection circuitry monitor the execution state and set the indicator based on whether instructions are being executed speculatively. This feedback mechanism allows the eviction circuitry to make informed decisions about which cache lines to evict, prioritizing the retention of cache lines that are likely to be reused while safely evicting those from speculative execution that may not be needed.

Inventive Principle:
Principle #23Feedback

3Productivity

If speculative execution is performed to improve processing throughput, then productivity is improved, but cache efficiency deteriorates

Engineering Contradiction:
Improveprocessing throughputVSAvoidcache efficiency
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments cache lines into two categories based on how they were loaded: those loaded during speculative execution (indicator set) and those loaded during normal execution (indicator cleared). This segmentation allows the cache to manage these different types of cache lines differently during eviction, maintaining cache efficiency despite the benefits of speculative execution for processing throughput.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11334495B2Cache eviction
Publication Date: 2022.05.17 ARM LTD
  • US11334495B2 patent drawing
  • US11334495B2 patent drawing
  • US11334495B2 patent drawing

AI summary

A data processing apparatus is provided. It includes cache circuitry to store a plurality of items, each having an associated indicator. Processing circuitry executes instructions using at least some of the plurality of items. Fill circuitry inserts a new item into the cache circuitry. Eviction circuitry determines which of the plurality of items is to be a victim item based on the indicator, and evicts the victim item from the cache circuitry. Detection circuitry detects a state of the processing circuitry at a time that the new item is inserted into the cache circuitry, and sets the indicator in dependence on the state.