Set-Associative Cache Read Gating Using Set-Prediction History

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache designs face challenges in balancing high performance with power consumption, particularly in Level 1 caches, due to the inherent design trade-offs between speed and power efficiency, and existing set-prediction methods either introduce significant delays or excessive power consumption.

Innovation Solution

A novel power-saving design for set associative caches that utilizes a set-prediction history stream (SETPP) to selectively activate read enables based on previous cache usage patterns, dividing sets into classes within address groups and using a history stream to determine which sets to read, thereby reducing unnecessary power consumption without performance loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If set prediction mechanisms are used in Level 1 caches with set-associativity, then performance is improved, but power consumption increases

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

Solution Approach 1:

The cache sets are divided into multiple classes (e.g., even and odd classes), allowing the cache to segment its operation and activate only the necessary class based on historical patterns, rather than accessing all sets simultaneously

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by storing set-prediction history in the instruction history stream and using it to predict which cache class will be accessed, enabling precharging of only the necessary bit lines before the actual cache access occurs

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all read enables are activated in the cache, then data access reliability is ensured, but power consumption increases

Engineering Contradiction:
Improvedata access reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The read enable activation is made dynamic based on real-time analysis of instruction history patterns, allowing the system to adaptively enable only the necessary read enables for the current access pattern rather than statically enabling all reads

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from the instruction history stream to determine which cache class to access, creating a closed-loop system that adjusts read enable activation based on observed access patterns

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12625704B2Low power late-selected caches using a set-prediction history
Publication Date: 2026.05.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12625704B2 patent drawing
  • US12625704B2 patent drawing
  • US12625704B2 patent drawing

AI summary

A method, computer program product, and computer system for reading data stored in a set associative cache. A cache read instruction that did not read the cache after being previously launched is relaunched after an effective address (EA) of the instruction was ascertained. A hash of the ascertained EA (EAHash) and a class congruence class (CCC) is determined from the ascertained EA. A search is performed for a match of the EAHash and CCC of the ascertained EA to the EAHash and CCC, respectively, of an instruction whose EAHash, CCC, and set are stored in an instruction history stream. If the match is found, only read enables associated with the stored set of the match, which is a read enable of only one class of one address group in the cache, are activated. If the match is not found, all read enables of the one address group are activated.