Dispatch Mechanism Using UCB for Heterogeneous Co-Processor Instruction Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor systems, maintaining cache coherency between heterogeneous processors with different instruction sets is challenging, leading to inefficiencies in dispatching instructions and processing tasks, as traditional cache coherency protocols do not apply across processors with distinct instruction sets.

Innovation Solution

A dispatch mechanism is implemented that uses a user command block (UCB) for storing instructions intended for a dynamically reconfigurable co-processor, allowing the co-processor to process instructions with its own set, while the host processor handles instructions with its fixed instruction set, leveraging cache coherency to facilitate efficient task distribution and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional cache coherency protocols are used in multi-processor systems, then cache coherency can be maintained between homogeneous processors, but the system cannot efficiently support heterogeneous processors with different instruction sets

Engineering Contradiction:
Improvesupport for heterogeneous processorsVSAvoidinstruction dispatch efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a co-processor with a translation layer that mediates between the host processor's instruction set and the co-processor's different instruction set. The co-processor receives instructions from the host processor, translates them into its native instruction set, and executes them, thereby enabling efficient communication and task execution between heterogeneous processors without requiring complex system-wide protocol changes

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent divides the processing system into distinct segments: the host processor with its fixed instruction set, and the co-processor with its own instruction set and translation capability. This segmentation allows each processor to operate independently with its optimized instruction set while the co-processor handles translation for specific tasks, improving overall system versatility without compromising instruction dispatch efficiency

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a fixed instruction set is used in the host processor, then the processor architecture remains simple and stable, but the system cannot dynamically adapt to different processing requirements

Engineering Contradiction:
Improvedynamic instruction set configurationVSAvoidprocessor architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The co-processor acts as an intermediary that provides dynamic instruction set adaptation without modifying the host processor's fixed architecture. The co-processor maintains a library of different instruction sets and selectively translates host processor instructions into the appropriate co-processor instruction set based on the task requirements, enabling dynamic adaptability while keeping the host processor architecture simple and stable

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The co-processor implements dynamic instruction set selection and translation capabilities, allowing the system to adapt to different processing requirements in real-time. The co-processor can dynamically load and switch between different instruction set implementations based on the specific task at hand, providing flexibility without requiring the host processor to maintain multiple fixed instruction sets

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8122229B2Dispatch mechanism for dispatching instructions from a host processor to a co-processor
Publication Date: 2012.02.21 MICRON TECHNOLOGY INC
  • US8122229B2 patent drawing
  • US8122229B2 patent drawing
  • US8122229B2 patent drawing

AI summary

A dispatch mechanism is provided for dispatching instructions of an executable from a host processor to a heterogeneous co-processor. According to certain embodiments, cache coherency is maintained between the host processor and the heterogeneous co-processor, and such cache coherency is leveraged for dispatching instructions of an executable that are to be processed by the co-processor. For instance, in certain embodiments, a designated portion of memory (e.g., “UCB”) is utilized, wherein a host processor may place information in such UCB and the co-processor can retrieve information from the UCB (and vice-versa). The UCB may thus be used to dispatch instructions of an executable for processing by the co-processor. In certain embodiments, the co-processor may comprise dynamically reconfigurable logic which enables the co-processor's instruction set to be dynamically changed, and the dispatching operation may identify one of a plurality of predefined instruction sets to be loaded onto the co-processor.