Cache Subset Control for Multi-Core Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache operation instructions lack fine-grained control over individual levels of a cache hierarchy, particularly in multi-core systems, leading to performance issues when powering down cores and affecting shared caches, as they require flushing the entire cache hierarchy.

Innovation Solution

A microprocessor with multiple processors and caches, capable of executing instructions to identify and operate on specific subsets of caches, allowing for fine-grained control through cache parameters and processor parameters, enabling selective cache operations without affecting shared caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If existing cache operation instructions are used to power down a core, then power management is achieved, but the entire cache hierarchy must be flushed including shared caches, causing performance degradation

Engineering Contradiction:
Improvepower management efficiencyVSAvoidsystem performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent segments the cache hierarchy into multiple independently controllable levels (L1, L2, L3 caches) and introduces cache operation instructions that can selectively target specific cache levels. This segmentation allows the system to flush only the necessary cache levels associated with a powering-down core while preserving shared cache levels, thereby resolving the contradiction between power management efficiency and system performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by enabling differentiated control over different cache levels based on their sharing characteristics. Private caches associated with a specific core can be flushed when that core powers down, while shared caches continue to serve other active cores. This localized control approach allows power management without unnecessarily degrading overall system performance.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If existing cache operation instructions operate on the entire cache hierarchy, then complete cache control is achieved, but fine-grained control over individual cache levels is lost

Engineering Contradiction:
Improvecache control flexibilityVSAvoidinstruction control precision
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the cache hierarchy into distinct controllable segments (individual cache levels) and introduces instruction encoding mechanisms that specify which segments to operate on. This segmentation provides fine-grained control over cache operations, allowing selective flushing or invalidation of specific cache levels rather than treating the entire hierarchy as a single unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension of control by introducing cache level identification fields in instructions and control logic that routes operations to specific cache levels. This dimensional expansion in the control space enables precise targeting of individual cache levels while maintaining the existing cache hierarchy structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7539819B1Cache operations with hierarchy control
Publication Date: 2009.05.26 SUN MICROSYSTEMS INC
  • US7539819B1 patent drawing
  • US7539819B1 patent drawing
  • US7539819B1 patent drawing

AI summary

An improved approach to cache management is disclosed which may be implemented to provide fine-grained control over individual caches or subsets of a multi-level cache hierarchy. By selectively operating on shared and unshared caches during power management processing, more efficient system operation can be achieved. In one example, a microprocessor is adapted to interface with multiple caches configured in multiple cache levels. The microprocessor includes multiple processors associated with the caches. At least one of the processors is adapted to execute an instruction configured to identify a subset of the caches. The microprocessor also includes a control circuit adapted to perform an operation on the subset of the caches in response to an execution of the instruction by the at least one of the processors.