Configurable Processor Fabric for Parallel and Pipelined Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional CPUs and GPUs lack flexibility in hardware configuration, making it difficult to achieve high-degree parallel processing and streamlined data flow for repetitive computational tasks common in applications like signal processing and machine learning.
Innovation Solution
A processor architecture with configurable processing units and data paths, utilizing modular interconnection fabric circuits to partition processors into groups for parallel execution and reconfigure data paths for pipelined operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional CPUs or GPUs are used with fixed hardware configurations, then the processor structure is simple and easy to manufacture, but the ability to achieve high-degree parallel processing and streamlined data flow for repetitive computational tasks is limited
Solution Approach 1:
The processor is divided into multiple processing elements (PEs) that can be independently configured and interconnected. Each PE contains configurable arithmetic logic circuits and interconnection fabric circuits, allowing the system to be segmented into functional units that can operate in parallel while maintaining individual configurability for different computational tasks.
Solution Approach 2:
The processor implements dynamic reconfiguration capabilities through configurable interconnection fabric circuits that can change data path connections during operation. This allows the hardware architecture to adapt its configuration based on the specific computational task, enabling high-degree parallel processing for repetitive operations while maintaining the ability to restructure data flows as needed.
2Adaptability or versatility
If fixed data paths are used in conventional processors, then the device complexity is reduced, but the flexibility to reconfigure data paths for different applications and optimize repetitive operations is lost
Solution Approach 1:
The processor employs universal configurable interconnection fabric circuits that can perform multiple functions by reconfiguring data paths between processing elements. These fabric circuits serve as multi-functional components that can establish different connection topologies (e.g., mesh, ring, tree) depending on the computational requirements, allowing a single hardware structure to support diverse applications from signal processing to machine learning.
Solution Approach 2:
The data paths are implemented as dynamically reconfigurable connections rather than fixed wiring. The configurable interconnection fabric circuits can modify their connectivity patterns during runtime based on the specific algorithm being executed, enabling optimization of data flow for repetitive computational tasks while maintaining adaptability for different applications.
3Productivity
If numerous processing units are added to achieve parallel processing, then computational efficiency for repetitive tasks improves, but the difficulty of configuring and interconnecting these units optimally increases
Solution Approach 1:
The processor implements a standardized array of processing elements with uniform configurable interconnection fabrics, providing more connectivity options than strictly necessary for any single application. This excessive configurability ensures that optimal configurations can be found for various parallel processing workloads without requiring complex custom interconnection designs for each specific task.
Solution Approach 2:
The processor enables configuration of multiple parameters including interconnection topology, data path routing, and arithmetic logic circuit operations. By allowing dynamic adjustment of these parameters, the system can optimize computational efficiency for repetitive tasks while providing a standardized interface that simplifies the configuration process compared to fully custom designs.
Data Source
AI summary
A flexible processor includes (i) numerous configurable processors interconnected by modular interconnection fabric circuits that are configurable to partition the configurable processors into one or more groups, for parallel execution, and to interconnect the configurable processors in any order for pipelined operations, Each configurable processor may include (i) a control circuit; (ii) numerous configurable arithmetic logic circuits; and (iii) configurable interconnection fabric circuits for interconnecting the configurable arithmetic logic circuits.


