Dynamic Microprocessor Configuration via Hardware Guide Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies cannot dynamically change core counts and accompanying base frequencies at runtime due to the inability of hardware to unilaterally disable running cores under OS control, limiting power management and performance optimization.

Innovation Solution

The implementation of a hardware guide unit that monitors processor engines, generates rankings, and provides data to a scheduler to dynamically manage core configurations, allowing for runtime adjustments of core counts and base frequencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hardware is designed to allow dynamic changes to processor configuration parameters, then adaptability and power management flexibility are improved, but hardware complexity and control difficulty increase due to the need to manage running cores under OS control

Engineering Contradiction:
Improvedynamic configuration capabilityVSAvoidhardware control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A management interface is introduced as an intermediary between the OS and hardware components. This interface receives requests from the OS to dynamically change processor configuration parameters (core count, base frequency, TDP) and translates them into appropriate hardware control signals, thereby reducing the complexity of direct hardware control while enabling flexible dynamic reconfiguration

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If core count is reduced to improve power efficiency, then energy consumption decreases, but processing capability and productivity are worsened

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing capability
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The processor configuration is made dynamic rather than static. The system can adjust core count, base frequency, and TDP parameters in real-time based on workload requirements and power management needs. This allows the system to optimize the balance between power consumption and processing capability by selecting appropriate configuration states for different operating conditions

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If processor configuration parameters are changed statically at boot-time, then system stability is improved, but adaptability to changing workload requirements is worsened

Engineering Contradiction:
Improvesystem stabilityVSAvoidruntime configuration flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary configuration at boot-time to establish a stable baseline state, then enables subsequent dynamic adjustments through a management interface that receives OS requests. This approach maintains system stability through controlled initialization while enabling adaptability through managed runtime reconfiguration of processor parameters

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3885906B1Apparatus and method for dynamic control of microprocessor configuration
Publication Date: 2024.11.06 INTEL CORP
  • EP3885906B1 patent drawingFigure 1A
  • EP3885906B1 patent drawingFigure 1B
  • EP3885906B1 patent drawingFigure 2A~2C

AI summary

An apparatus and method for intelligently scheduling threads across a plurality of logical processors. For example, one embodiment of a processor comprises: a plurality of cores to be allocated to form a first plurality of logical processors (LPs) to execute threads, wherein one or more logical processors (LPs) are to be associated with each core of the plurality of cores; scheduling guide circuitry to: monitor execution characteristics of the first plurality of LPs and the threads; generate a first plurality of LP rankings, each LP ranking including all or a subset of the plurality of LPs in a particular order; and store the first plurality of LP rankings in a memory to be provided to a scheduler, the scheduler to schedule the threads on the plurality of LPs using the first plurality of LP rankings; a power controller to execute power management code to perform power management operations including independently adjusting frequencies and/or voltages of one or more of the plurality of cores; wherein in response to a core configuration command to deactivate a first core of the plurality of cores, the power controller or privileged program code executed on the processor are to update the memory with an indication of deactivation of the first core, wherein responsive to the indication of deactivation of the first core, the scheduler is to modify the scheduling of the threads.