Stack Cache Segmentation for Contiguous Address Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing data cache system faces a bottleneck due to non-contiguous tag memory addresses, which hampers processor performance by increasing cache search and replacement difficulties, especially in modern processors with limited register resources.
Innovation Solution
The proposed solution involves dividing the data address space into Stack Cache and non-Stack Cache, with Stack Cache using contiguous addresses for the stack region, implemented using circular buffers and top-of-stack and bottom-of-stack pointers to manage data allocation and movement between cache levels, optimizing cache access and reducing power dissipation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional data cache with non-contiguous tag memory addresses is used, then general data access is supported, but cache search and replacement become difficult and processor performance is hampered
Solution Approach 1:
The patent divides the data cache into multiple segments (first data cache, second data cache, third data cache) with contiguous address ranges. Each segment has its own tag memory with contiguous addresses, simplifying search and replacement operations within each segment while maintaining overall cache functionality.
Solution Approach 2:
Different cache segments are assigned different address ranges and characteristics. The first data cache handles lower address ranges, while subsequent caches handle higher ranges. This local specialization allows each cache to optimize for its specific address space with contiguous tagging.
2Speed
If data cache copies data from lower level memory to enable faster access, then data access speed is improved, but the Von Neumann bottleneck occurs when instruction and data share the same channel
Solution Approach 1:
The patent implements multiple independent data caches that can operate in parallel. The first data cache, second data cache, and third data cache can simultaneously service different data access requests, effectively doubling or tripling the data throughput compared to a single cache, thereby mitigating the Von Neumann bottleneck.
3Ease of operation
If stack data is stored in traditional cache with non-contiguous addresses, then general memory allocation is flexible, but cache access efficiency decreases and power consumption increases
Solution Approach 1:
The patent designates specific cache segments (second data cache, third data cache) to handle stack data with contiguous address ranges. This segmentation allows stack operations to access contiguous memory locations efficiently, reducing the number of cache hits needed and lowering power consumption compared to scattered accesses in traditional caches.
4Productivity
If multiple data caches are introduced to provide parallel data access, then processor throughput is improved, but cache system complexity increases
Solution Approach 1:
The patent divides the cache system into distinct segments with clear address space separation. Each data cache handles a specific address range, which simplifies the management logic compared to a single large cache. The segmentation naturally divides the complexity across multiple simpler units rather than one complex unit.
Solution Approach 2:
The patent combines multiple data caches into a unified cache system that presents a single address space to the processor. The caches work together as an integrated system, merging their individual capacities to provide large total cache memory while maintaining the benefits of parallel operation and simplified individual cache management.
Data Source
AI summary
This invention provides a cache system and method based on instruction read buffer (IRB). When applied to the field of processor, it is capable of filling instructions to the instruction read buffer which can be directly accessed by processor core and the processor core outputs instruction to the processor core for execution autonomously and achieve a high cache hit rate.


