Reconfigurable Processors with Rotating Buffers for Dataflow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor chips and systems face inefficiencies in data handling due to their reliance on control flow architectures, which are not well-suited for processing large amounts of unstructured data, leading to performance bottlenecks in applications like artificial intelligence and machine learning.

Innovation Solution

Interconnecting reconfigurable programmable processors controlled by rotating circular buffers allows for improved data handling performance by enabling processors to operate on a common instruction cycle and dynamically reconfigure operations based on data availability, enhancing dataflow processing speed and flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If control flow architecture is used in semiconductor chips, then existing programming models can be used, but data handling performance is inefficient for large unstructured data

Engineering Contradiction:
Improveadaptability to data handlingVSAvoiddata handling performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a dynamic dataflow architecture where the execution graph can be dynamically reconfigured based on data characteristics. The system automatically adapts the computation graph structure to match the specific data processing requirements, enabling efficient handling of large unstructured data while maintaining versatility through programmable reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes fundamental parameters of data processing by transitioning from control-flow based execution to dataflow-based execution. This parameter change allows the system to process data differently - focusing on data-driven execution where operations are triggered by data availability rather than program counter progression, thereby improving performance for unstructured data.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If programming logic devices are used, then adaptability to future changes is achieved, but programming time is much longer than execution time

Engineering Contradiction:
Improveadaptability to functional requirementsVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary compilation of dataflow graphs into optimized execution representations before actual data processing begins. This preliminary action prepares the execution plan in advance, so that when data arrives, the system can execute directly without time-consuming runtime programming or reconfiguration, thus reducing the gap between programming time and execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional software programming mechanisms with a dataflow graph compilation system. Instead of manually writing and interpreting programming code, the system automatically compiles dataflow descriptions into efficient execution graphs, substituting the mechanical process of line-by-line program execution with a more efficient graph-based execution model that bridges the time gap between programming and execution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If dataflow architecture is implemented, then data handling performance is improved, but system complexity increases

Engineering Contradiction:
Improvedata processing speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the dataflow execution into independent graph nodes and edges that can be processed in parallel. By dividing the computation into discrete, manageable units (operations, data types, execution contexts), the system achieves high data processing speed while keeping each individual segment simple and easier to manage, thus reducing overall system complexity through modular segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal dataflow execution engine that can handle multiple data types and operations through a single unified architecture. This multi-functional system uses a common execution context and graph management mechanism for diverse processing tasks, thereby achieving high performance for various workloads without proportionally increasing system complexity, as the same core infrastructure serves all purposes.

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

Data Source

PatentUS10592444B2Reconfigurable interconnected programmable processors
Publication Date: 2020.03.17 MIPS HLDG INC
  • US10592444B2 patent drawing
  • US10592444B2 patent drawing
  • US10592444B2 patent drawing

AI summary

A plurality of software programmable processors is disclosed. The software programmable processors are controlled by rotating circular buffers. A first processor and a second processor within the plurality of software programmable processors are individually programmable. The first processor within the plurality of software programmable processors is coupled to neighbor processors within the plurality of software programmable processors. The first processor sends and receives data from the neighbor processors. The first processor and the second processor are configured to operate on a common instruction cycle. An output of the first processor from a first instruction cycle is an input to the second processor on a subsequent instruction cycle.