Network-on-Chip Data Movement Cores for Unpredictable Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing networks-on-chips (NoCs) face challenges in managing communication and data movement, particularly in composite computations with unpredictable data movement patterns, lacking the flexibility and efficiency needed for modern applications like artificial neural networks.
Innovation Solution
Implementing fully functional data movement processing cores within the NoC architecture to administer packet routing and data flow, allowing software-controlled configuration and dynamic management of data movement, with each core maintaining address directories and tables to optimize data movement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If simple DMA controllers are used to manage data movement in NoC, then device complexity is reduced, but adaptability and efficiency in handling unpredictable data movement patterns deteriorate
Solution Approach 1:
The patent implements dynamic data movement management by allowing processing cores to be reconfigured and reassigned to different data movement tasks during runtime. The system can dynamically select which processing cores handle data movement based on current computational needs, enabling adaptation to unpredictable data patterns while maintaining manageable complexity through structured core allocation.
Solution Approach 2:
Processing cores are designed to serve multiple functions - they can execute computational tasks and also be dynamically allocated for data movement management. This multi-functionality allows the same hardware resources to adapt to different workload requirements, improving versatility without proportionally increasing device complexity.
2Adaptability or versatility
If fully functional processing cores are used for data movement administration, then adaptability and efficiency are improved, but device complexity increases
Solution Approach 1:
The system segments data movement management across multiple processing cores rather than using a single complex controller. Each processing core can independently handle data movement tasks, dividing the overall complexity into manageable units while maintaining high adaptability through coordinated operation of multiple segments.
Solution Approach 2:
Processing cores are empowered to autonomously manage their own data movement operations and can self-configure based on computational needs. This self-service capability reduces the need for complex external control logic, allowing fully functional cores to operate independently while maintaining system-wide adaptability.
3Adaptability or versatility
If software-controlled data movement is implemented, then adaptability to different computation patterns is improved, but loss of time for configuration and overhead increases
Solution Approach 1:
The system performs preliminary configuration of processing cores for data movement tasks by anticipating computational needs and pre-positioning data movement capabilities before they are required. This allows software-controlled adaptation without significant configuration delays during actual computation execution.
Solution Approach 2:
Data movement operations are maintained continuously through overlapping execution of computational and data movement tasks. Processing cores can transition between computational and data movement roles without complete stops, ensuring continuous useful action while maintaining software configurability for adaptation to different computation patterns.
Data Source
AI summary
Systems and methods related to a network on chip (NoC) with data movement processing cores are disclosed herein. For example, a system executing a complex computation may include multiple processing cores networked by an interconnect fabric and storing computational instructions and data movement instructions. Each processing core may include one or more memories, a computational pipeline, a core controller, a router, and a data movement processing core. Each data movement processing core may include a data movement core controller to administrate an execution of the data movement instructions and thereby generate commands for the corresponding router to route the computation data through the interconnect fabric during an execution of the complex computation. The data movement processing core may be valuable for addressing interconnect fabrics that are used for executing composite computations with unpredictable data movement patterns that require a high degree of flexibility.


