Dynamically Reconfigurable Co-processor for Heterogeneous Multi-processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-processor systems with fixed instruction sets face limitations in optimizing performance due to the inability to dynamically adjust instruction sets, leading to inefficiencies in processing diverse executable instructions across heterogeneous processors.

Innovation Solution

A multi-processor system is developed with a dynamically reconfigurable co-processor that can change its instruction set to match the requirements of specific executable instructions, allowing it to process instructions not natively supported by the host processor, while maintaining cache coherency between processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple homogeneous processors with fixed instruction sets are used, then system stability and ease of operation are improved, but adaptability to diverse executable instructions deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The co-processor's instruction set is made dynamically reconfigurable rather than fixed. The instruction set can be changed at runtime to match the requirements of different executable instructions, allowing the system to adapt to diverse workloads while maintaining operational simplicity through automated configuration management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The co-processor is designed with multi-functionality, capable of implementing multiple different instruction sets through dynamic reconfiguration. This allows a single processor unit to perform various computational tasks that would otherwise require multiple specialized processors, enhancing system versatility without increasing physical processor count.

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

2Adaptability or versatility

If a dynamically reconfigurable co-processor is implemented, then adaptability to diverse instructions is improved, but device complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An instruction set management mechanism acts as an intermediary between the host processor and the reconfigurable co-processor. This intermediary automatically handles the complexity of instruction set selection, configuration, and loading, shielding the user from the underlying complexity while enabling adaptive processing. The management mechanism translates high-level execution requirements into appropriate co-processor configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If fixed instruction sets are used in multi-processor systems, then device complexity is reduced, but productivity in processing diverse instructions deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidproductivity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The instruction set parameters of the co-processor are dynamically changed to match the computational requirements of different executable instructions. By altering the instruction set configuration parameter rather than the physical hardware, the system achieves high productivity for diverse workloads without increasing device complexity. The reconfiguration allows optimal instruction set selection for each computational task.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2191380B1Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
Publication Date: 2018.08.08 MICRON TECHNOLOGY INC
  • EP2191380B1 patent drawingFigure 1
  • EP2191380B1 patent drawingFigure 2
  • EP2191380B1 patent drawingFigure 3

AI summary

A multi-processor system comprises at least one host processor, which may comprise a fixed instruction set, such as the well-known x86 instruction set. The system further comprises at least one co-processor, which comprises dynamically reconfigurable logic that enables the co-processor's instruction set to be dynamically reconfigured. In this manner, the at least one host processor and the at least one dynamically reconfigurable co-processor are heterogeneous processors having different instruction sets. Further, cache coherency is maintained between the heterogeneous host and co¬ processors. And, a single executable file may contain instructions that are processed by the multi-processor system, wherein a portion of the instructions are processed by the host processor and a portion of the instructions are processed by the co-processor.