Reconfigurable XPP Datapath for Stream Processing Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional microprocessors face limitations in handling stream-based applications due to static instruction sets and sequential execution, leading to inefficiencies in data processing and inability to efficiently couple with reconfigurable data processing logic cells, which restricts their flexibility and performance for applications like data-streaming and multitasking.

Innovation Solution

Integration of a dynamic reconfigurable XPP architecture into a static datapath of a SPARC-compatible LEON processor, enabling a loosely coupled implementation that allows for runtime reconfiguration and efficient data processing, along with a compiler that optimizes code execution between the RISC processor and XPP core, utilizing a cache to manage memory access and support multitasking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a static instruction set is used in conventional microprocessors, then the processor can execute strong control dominant applications efficiently, but it cannot handle stream-based applications effectively and requires high bandwidth due to permanent retransmitting of instruction/data from and to memory

Engineering Contradiction:
Improveperformance for stream-based applicationsVSAvoiddatapath structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the datapath reconfigurable through runtime modification of functional units and interconnection structures. The datapath can dynamically adapt its architecture based on the specific stream-based application being executed, transitioning from a static conventional structure to a dynamic reconfigurable one that optimizes performance for data-streaming and other stream-oriented workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The datapath is segmented into multiple independently reconfigurable functional units and interconnection elements that can be individually configured and reconfigured. This segmentation allows the system to divide the datapath into manageable modules that can be optimized separately for different stream-based applications, enabling flexible adaptation without redesigning the entire datapath architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If customized microprocessors or ASICs are optimized for one special application environment, then performance gain is achieved, but it is nearly impossible to use the same microprocessor core for another application without losing the performance gain

Engineering Contradiction:
Improveperformance gainVSAvoidapplication portability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by enabling runtime reconfiguration of the datapath functional units and interconnection structures. This allows a single microprocessor core to adapt its datapath architecture dynamically to match different application requirements, maintaining performance gains across multiple applications rather than being optimized for only one specific application environment.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent achieves universality by creating a reconfigurable datapath that can serve multiple application types. The same microprocessor core can be configured to optimize for different stream-based applications by dynamically reconfiguring its functional units and interconnection structures, eliminating the need for separate customized processors for each application domain.

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

3Productivity

If reconfigurable arrays are coupled to other units via conventional interfaces, then integration is possible, but the coupling is not optimized for efficient data exchange and requires sequential register-based operations

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidcoupling interface
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the reconfigurable array with other processing units by integrating reconfigurable interconnection structures that directly support efficient data exchange. Instead of using separate register-based interfaces, the interconnection structures are merged into the datapath itself, allowing parallel and direct data transfer between components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The coupling interface is made dynamic through runtime reconfiguration of interconnection structures. The reconfigurable array can dynamically adjust its interconnection topology to optimize data exchange with other units, transitioning from conventional fixed interfaces to adaptive interfaces that match the specific data exchange patterns of different applications.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8914590B2Data processing method and device
Publication Date: 2014.12.16 SCIENTIA SOL MENTIS AG
  • US8914590B2 patent drawing
  • US8914590B2 patent drawing
  • US8914590B2 patent drawing

AI summary

In a data-processing method, first result data may be obtained using a plurality of configurable coarse-granular elements, the first result data may be written into a memory that includes spatially separate first and second memory areas and that is connected via a bus to the plurality of configurable coarse-granular elements, the first result data may be subsequently read out from the memory, and the first result data may be subsequently processed using the plurality of configurable coarse-granular elements. In a first configuration, the first memory area may be configured as a write memory, and the second memory area may be configured as a read memory. Subsequent to writing to and reading from the memory in accordance with the first configuration, the first memory area may be configured as a read memory, and the second memory area may be configured as a write memory.