Heterogeneous Processor Switching for Chip Area Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Specialized processors designed for specific program domains lose performance when executing general-purpose programs due to energy inefficiency and increased chip area, necessitating their use under the control of general-purpose processors.

Innovation Solution

A computer architecture employing a set of heterogeneous processors that switch based on assessed data parallelism and control flow complexity, including a general-purpose processor and specialized processors tailored for specific execution needs, allowing for synergistic performance improvement without increasing chip area.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If specialized processors are used for specific program domains, then performance (speed and energy efficiency) is improved, but they lose performance when executing general-purpose programs due to energy inefficiency and increased chip area

Engineering Contradiction:
ImproveperformanceVSAvoidchip area
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a heterogeneous processor system where multiple specialized processors (SIMD processor for data-parallel workloads, VLIW processor for control-flow heavy workloads, and general-purpose OOO processor) work together under a unified architecture. The switch unit dynamically routes instructions to the appropriate processor based on workload characteristics, enabling the system to handle both specialized and general-purpose programs efficiently without requiring separate dedicated systems.

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

Solution Approach 2:

The patent employs dynamic workload assessment and runtime profiling to determine which specialized processor should execute which program portions. The switch unit dynamically switches between processors based on real-time analysis of instruction characteristics, data parallelism levels, and control flow complexity. This dynamic adaptation allows the system to optimize performance for each specific workload while maintaining energy efficiency and avoiding unnecessary chip area usage.

Inventive Principle:
Principle #15Dynamics

2Speed

If multiple specialized processors are used to cover different program domains, then execution speed is improved, but energy consumption increases

Engineering Contradiction:
Improveexecution speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically selects which specialized processor to activate based on runtime profiling and workload assessment. The switch unit monitors program characteristics and routes instructions to the most appropriate processor, ensuring that energy-consuming specialized processors are only activated when their specific capabilities are needed. This dynamic switching minimizes energy consumption while maintaining high execution speed for diverse workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The heterogeneous processor system includes automated workload assessment and runtime profiling mechanisms that self-determine the optimal processor allocation without requiring manual intervention. The switch unit autonomously analyzes instruction characteristics and data parallelism to route workloads to appropriate processors, enabling the system to self-optimize energy efficiency while maintaining performance across different program domains.

Inventive Principle:
Principle #25Self-service

3Device complexity

If a general-purpose processor is simplified by using specialized processors, then chip area is reduced, but program allocation complexity increases

Engineering Contradiction:
Improvechip areaVSAvoidprogram allocation
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The system implements automated runtime profiling and workload assessment mechanisms that automatically determine the optimal processor allocation without requiring programmer intervention. The switch unit and profiling hardware work together to analyze program characteristics and dynamically route instructions to appropriate specialized processors, making the complex allocation process transparent to users and eliminating the need for manual program partitioning.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The switch unit acts as an intermediary between the instruction stream and the heterogeneous processors. It receives instructions, assesses their characteristics through runtime profiling, and automatically routes them to the most appropriate processor. This intermediary mechanism handles the complexity of program allocation internally, presenting a simplified interface to programmers while optimizing processor utilization based on workload characteristics.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11513805B2Computer architecture with synergistic heterogeneous processors
Publication Date: 2022.11.29 WISCONSIN ALUMNI RES FOUND
  • US11513805B2 patent drawing
  • US11513805B2 patent drawing
  • US11513805B2 patent drawing

AI summary

A computer architecture employs multiple special-purpose processors having different affinities for program execution to execute substantial portions of general-purpose programs to provide improved performance with respect to a general-purpose processor executing the general-purpose program alone.