Stack Cache Segmentation for Contiguous Address Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessor performanceVSAvoidcache search and replacement difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvedata access speedVSAvoidprocessor throughput
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecache access efficiencyVSAvoidcache power consumption
Core Design Contradiction:
Ease of operationVSUse of energy by stationary object

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.

Inventive Principle:
Principle #1Segmentation

4Productivity

If multiple data caches are introduced to provide parallel data access, then processor throughput is improved, but cache system complexity increases

Engineering Contradiction:
Improvedata throughputVSAvoidcache system structure
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9990299B2Cache system and method
Publication Date: 2018.06.05 SHANGHAI XINHAO MICROELECTRONICS
  • US9990299B2 patent drawing
  • US9990299B2 patent drawing
  • US9990299B2 patent drawing

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.