Cache Subset Control for Multi-Core Power Management
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


