Set-Associative Cache Read Gating Using Set-Prediction History
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If set prediction mechanisms are used in Level 1 caches with set-associativity, then performance is improved, but power consumption increases
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
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
2Reliability
If all read enables are activated in the cache, then data access reliability is ensured, but power consumption increases
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
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
Data Source
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.


