Dynamic Cache Partitioning for Instruction-Data Stall Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems fail to optimize cache configuration based on the specific load characteristics of instruction and data caches, leading to inefficiencies and increased stall cycles.

Innovation Solution

A processor-implemented method that dynamically adjusts cache areas based on instruction and data sizes, using control information from a host device to balance cache miss stalls by modifying cache sizes and ratios, and employs a cache controller to generate and apply optimized cache configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed cache configuration is used, then device complexity is reduced, but cache performance deteriorates due to inability to adapt to varying instruction and data load characteristics

Engineering Contradiction:
Improvecache adaptabilityVSAvoidcache control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache configuration is made dynamic by allowing the cache controller to adjust the partitioning ratio between instruction cache and data cache based on real-time load characteristics. The cache area is dynamically reconfigured during operation to match the actual instruction size and data size requirements of executing threads, transforming a static cache into an adaptive system.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the cache controller monitors cache miss stalls and performance metrics, then uses this information to adjust cache partitioning. The host device receives performance feedback and sends updated control information to the cache controller, creating a closed-loop system that continuously optimizes cache configuration based on actual workload characteristics.

Inventive Principle:
Principle #23Feedback

2Reliability

If cache area is increased, then cache hit rate is improved, but loss of time due to cache miss stalls increases due to imbalance between instruction and data cache sizes

Engineering Contradiction:
Improvecache hit rateVSAvoidcache miss stall cycles
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of uniformly increasing the entire cache size, the system applies local quality by separately optimizing the instruction cache and data cache portions. Each cache area is sized according to its specific requirements - instruction cache size is adjusted based on instruction size characteristics, while data cache size is adjusted based on data size characteristics, ensuring each local portion is optimally sized for its function.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the partitioning parameter (the ratio between instruction cache and data cache) based on workload characteristics. By modifying the control information that defines the cache partitioning ratio, the system adapts the cache structure to match the actual instruction size and data size requirements, thereby optimizing hit rate while minimizing stall cycles.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If cache partitioning is fixed, then ease of operation is improved, but productivity deteriorates due to suboptimal cache performance for different thread characteristics

Engineering Contradiction:
Improvethread processing efficiencyVSAvoidcache configuration management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The cache system performs self-service by automatically adjusting its own configuration based on monitored performance metrics. The cache controller autonomously modifies cache partitioning in response to cache miss stalls without requiring manual intervention, and the host device automatically sends updated control information based on performance feedback, enabling the system to self-optimize for different thread characteristics.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP4184333B1Apparatus and method with cache control
Publication Date: 2026.04.22 SAMSUNG ELECTRONICS CO LTD
  • EP4184333B1 patent drawingFigure 1
  • EP4184333B1 patent drawingFigure 2
  • EP4184333B1 patent drawingFigure 3

AI summary

A computing apparatus is provided. The computing apparatus is configured to receive control information from a host device to control a cache area, generate a cache configuration based on the received control information, determine a first cache area and a second cache area in a memory in the computing apparatus based on the generated cache configuration, cache one or more instructions to the first cache area and cache data to the second cache area, and process a thread based on the one or more cached instructions and the cached data.