Cache Memory System with Priority-Based Eviction for Tile Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache memory systems face challenges in reducing cache miss possibilities, especially in tile-based rendering operations where data locality is high, leading to frequent evictions and increased external memory access, which affects processing efficiency and power consumption.
Innovation Solution
A cache memory system that assigns priorities to data blocks based on texture data frequencies, such as those used in pixel shading programs, to determine which blocks to evict, with low-priority blocks being replaced and potentially stored in a temporary victim cache to minimize cache misses and reduce external memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cache memory is used to store recently accessed data, then data transmission speed is improved, but cache miss possibility increases when cache capacity is limited
Solution Approach 1:
The system performs preliminary actions by storing not only the requested data block but also adjacent data blocks in the cache memory before they are needed. This proactive approach ensures that when the CPU accesses adjacent locations (common in tile-based rendering), the data is already available in the cache, preventing cache misses and maintaining high data transmission speed.
2Reliability
If cache memory size is increased to reduce cache misses, then cache miss possibility is reduced, but device complexity and cost increase
Solution Approach 1:
Instead of uniformly increasing cache size, the system applies local quality by selectively prioritizing storage of adjacent data blocks that are locally related to the requested data. This spatially-aware caching strategy focuses cache resources on data with high local correlation (adjacent memory locations), achieving effective cache utilization without proportionally increasing overall cache memory size.
3Adaptability or versatility
If data blocks are evicted from cache to make space for new data, then cache memory can store more varied data, but cache miss probability increases
Solution Approach 1:
The system implements dynamic cache management by continuously monitoring access patterns and adaptively adjusting which data blocks to retain or evict. When adjacent data access patterns are detected, the system dynamically retains those blocks even if cache capacity is limited, while evicting blocks with lower spatial correlation. This dynamic adaptation maintains cache effectiveness while allowing cache content to vary based on actual usage patterns.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A cache memory system includes a cache memory, which stores cache data corresponding to portions of main data stored in a main memory and priority data respectively corresponding to the cache data; a table storage unit, which stores a priority table including information regarding access frequencies with respect to the main data; and a controller, which, when at least one from among the main data is requested, determines whether cache data corresponding to the request is stored in the cache memory, deletes one from among the cache data based on the priority data, and updates the cache data set with new data, wherein the priority data is determined based on the information regarding access frequencies.