Adaptive Memory Comparison Using Base Value Register
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems, particularly cache memories, face high power consumption due to cache TAG lookup operations, and existing solutions require preprogramming or modifying applications, which are not suitable for legacy code or adaptable to changing memory access patterns.
Innovation Solution
A memory system with comparator circuitry and a base value register that controls which portions of an input value are compared with shared or non-shared stored values, reducing power consumption by optimizing comparisons and avoiding preconfiguration, while maintaining generality and backwards compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full comparison is performed with all stored values in cache TAG, then accurate cache hit detection is achieved, but power consumption increases significantly
Solution Approach 1:
The input address is segmented into shared portion and non-shared portion. The shared portion (bits 31-12) is compared against a base value stored in a separate register, while only the non-shared portion (bits 11-0) is compared with the full stored TAG values in the cache. This segmentation reduces the number of bits actively compared against all cache ways, thereby reducing power consumption while maintaining accurate hit detection.
Solution Approach 2:
A base value register is introduced as an intermediary structure to store the shared portion of TAG values. Instead of comparing the shared portion of the input address against all stored TAG values in the cache, the comparison is redirected to this intermediary base value register. This mediator handles the common comparison task, allowing the main cache comparators to focus only on the distinguishing non-shared portion.
2Use of energy by moving object
If cache memory is designed for specific application with TAG Overflow Buffer, then power consumption is reduced for that application, but adaptability to other applications is lost
Solution Approach 1:
The base value register serves as a universal structure that can store the shared portion of TAG values for any application. Unlike application-specific TAG Overflow Buffers that require preprogramming for particular workloads, this base value register dynamically adapts to any application's memory access patterns. The system maintains multi-functionality by allowing the base value to be updated based on the current application's TAG characteristics, enabling the same hardware structure to optimize power consumption across diverse applications without requiring preconfiguration or code modification.
3Adaptability or versatility
If TAG width is increased to provide larger address space, then memory capacity is improved, but power consumption increases
Solution Approach 1:
The address space is segmented into a shared base portion and a variable offset portion. The shared base portion is stored in the base value register and compared once, while the variable offset portion is compared with the full TAG values. This allows the system to support large address spaces through the combination of base value and offset, while the power consumption is reduced by not actively comparing all bits of the full address against all cache ways simultaneously.
Data Source
AI summary
A memory has multiple memory rows 32 storing respective stored values. The stored values are divided into portions which may be shared by all stored values within the memory rows concerned. When such portions are so shared, then the comparison between an input value and the plurality of stored values can be performed using a base value stored within a base value register 30 rather than by reading the relevant portions of the memory rows. Thus, those relevant portions of the memory rows can be disabled and power saved.


