Level-n Cache Segmentation for Address Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional cache architectures face performance degradation due to the need for larger data blocks and addresses, which exceed the capacity of on-chip caches, leading to increased cache misses and slower access times when data is stored in remote, larger off-chip memory.
Innovation Solution
Implementing a level-'n' cache system with an on-chip address cache that stores address portions for a subset of data blocks, allowing for a smaller, faster address cache that decouples from the main cache size, enabling larger data blocks to be stored off-chip while maintaining performance by providing direct access to the main cache.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the cache size is increased to store larger data blocks, then the number of cacheable data blocks increases, but the cache access time increases and power consumption increases
Solution Approach 1:
The cache system is segmented into two distinct parts: an address cache that stores only address portions (metadata) and a main cache that stores the actual data blocks. This segmentation allows the address cache to remain small and fast while the main cache can be larger, resolving the contradiction between storing more data blocks and maintaining fast access times.
Solution Approach 2:
The address cache acts as an intermediary between the processor core and the main cache. By storing address portions and metadata in the address cache, the system can quickly determine whether data blocks exist in the main cache without requiring the processor to directly access the larger, slower main cache for every lookup operation.
2Quantity of substance
If the cache size is increased to store larger data blocks, then the storage capacity increases, but the power consumption increases
Solution Approach 1:
The cache system is segmented into an address cache for storing address portions and a main cache for storing data blocks. This segmentation allows the address cache to remain small and consume less power while the main cache provides the necessary storage capacity for large data blocks.
Solution Approach 2:
Different parts of the cache system have different qualities optimized for their specific functions: the address cache is small and fast with low power consumption for quick address lookups, while the main cache is larger for storing substantial data blocks, with each component's characteristics locally optimized for its purpose.
3Adaptability or versatility
If the address cache stores addresses for all data blocks in the main cache, then the address cache size must match the main cache size, but this increases the address cache complexity and power consumption
Solution Approach 1:
Only the essential address portions and metadata are extracted and stored in the address cache, rather than storing complete addresses for all data blocks. This extraction approach allows the address cache to be significantly smaller than the main cache while still providing effective address lookup functionality.
Solution Approach 2:
The address cache stores address portions for a subset of data blocks rather than all data blocks in the main cache. This partial action approach is sufficient for the intended purpose of quick address validation and can be extended selectively based on performance requirements without requiring the address cache to match the main cache size.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A level-'n' cache and method are disclosed. The level-'n' cache method comprises: in response to a data access request identifying an address of a data block to be accessed, interrogating an address cache of the level-'n' cache arranged to store address portions for a sub-set of data blocks stored in a main cache of the level-'n' cache to determine whether a cache hit occurs within the address cache for the address. In this way, providing the address cache which is separate from the main cache, with the address cache storing address portions relating to data blocks stored in the main cache, the amount of data required to be stored in the address cache is reduced, and decouples the size of the address cache from that of the main cache which enables the address cache to be sized independent of the size of the data blocks stored in the main cache. This provides for a cache of addresses which can be significantly smaller, faster and easily locatable with other components of a data processing apparatus, whilst allowing the data to be stored elsewhere in the main cache which can be larger, slower and more remotely-located from the other components of the data processing apparatus.