Adaptive Computing Ensemble Microprocessor Dynamic Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessor architectures face limitations in achieving optimal power efficiency and performance due to wastage of resources, underutilization of active processors, and unnecessary power dissipation from interconnection paths, especially as transistor size reduces and integration increases, leading to challenges in managing resources and reconfiguration.

Innovation Solution

The Adaptive Computing Ensemble (ACE) microprocessor architecture dynamically allocates resources among flexible computation units, including a Reconfigurable Unit (RU), to optimize power consumption and performance by reallocating units based on workload demands, supporting both predetermined and alternate instruction sets, and enabling efficient execution of frequently and infrequently used instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple complete processors are integrated on a single chip (CMP architecture), then processing capability and functionality are improved, but power consumption and interconnection complexity increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The microprocessor is divided into multiple independent processing cores that can be activated or deactivated based on workload requirements. Each core has its own functional units and can operate independently, allowing the system to segment processing tasks across multiple units while reducing overall power consumption by keeping unused cores in a low-power state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor architecture enables dynamic configuration where processing cores can be selectively activated or deactivated based on real-time workload demands. The system transitions from a static all-or-nothing processor configuration to a dynamic model where cores can be brought online or put into low-power states as needed, optimizing the balance between processing capability and power consumption.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple complete processors are integrated on a single chip, then processing capability is improved, but interconnection paths and device complexity increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidinterconnection complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The processor is segmented into independent cores with dedicated local interconnections, reducing the complexity of inter-core communication. Each core has its own functional units and can communicate through a simplified interconnection architecture that manages data flow between cores more efficiently than traditional shared bus systems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processing cores are designed with universal functionality that can execute the same instruction set, allowing any core to take over another's workload. This universality simplifies the interconnection architecture by eliminating the need for complex task migration mechanisms between heterogeneous units, as identical cores can seamlessly assume different roles.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If transistor size is reduced to increase integration level, then number of transistors per chip increases, but power dissipation and manufacturing difficulty increase

Engineering Contradiction:
Improvenumber of transistorsVSAvoidpower dissipation
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The processor architecture enables dynamic power management where individual cores or functional units can be activated or deactivated based on workload requirements. This dynamic configuration allows the system to reduce overall power dissipation by keeping unused transistors and functional units in a low-power state, offsetting the increased power density caused by smaller transistor sizes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters such as clock frequency and voltage supply dynamically based on workload demands. By adjusting these parameters, the processor can optimize the balance between processing performance and power dissipation, managing the thermal and power challenges introduced by reduced transistor sizes and higher integration levels.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If resources are allocated to all processing units continuously, then system readiness is improved, but power consumption and resource wastage increase

Engineering Contradiction:
Improvesystem readinessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The processor implements dynamic resource allocation where functional units and cores can be selectively activated or deactivated based on real-time workload requirements. This dynamic approach maintains system readiness for critical operations while reducing power consumption by keeping unused resources in a low-power state rather than continuously active.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs periodic monitoring and assessment of workload patterns to determine optimal resource activation schedules. By analyzing usage patterns over time, the processor can strategically activate resources in advance of anticipated workload spikes while keeping them dormant during extended periods of low demand, balancing system readiness with power savings.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7389403B1Adaptive computing ensemble microprocessor architecture
Publication Date: 2008.06.17 ORACLE AMERICAN INC
  • US7389403B1 patent drawing
  • US7389403B1 patent drawing
  • US7389403B1 patent drawing

AI summary

An Adaptive Computing Ensemble (ACE) includes a plurality of flexible computation units as well as an execution controller to allocate the units to Computing Ensembles (CEs) and to assign threads to the CEs. The units may be any combination of ACE-enabled units, including instruction fetch and decode units, integer execution and pipeline control units, floating-point execution units, segmentation units, special-purpose units, reconfigurable units, and memory units. Some of the units may be replicated, e.g. there may be a plurality of integer execution and pipeline control units. Some of the units may be present in a plurality of implementations, varying by performance, power usage, or both. The execution controller dynamically alters the allocation of units to threads in response to changing performance and power consumption observed behaviors and requirements. The execution controller also dynamically alters performance and power characteristics of the ACE-enabled units, according to the observed behaviors and requirements.