Multi-Core Data Loading and Storage System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing coarse-grained reconfigurable architectures cannot meet various computing requirements and fail to support data loading and storage for multi-core processor arrays.
Innovation Solution
A data loading and storage system comprising a storage module, buffering module, control module, data loading modules, multi-core processor array module, and data storage modules, which buffer and process configuration instructions and data, generate addresses, and perform indirect or direct addressing to support efficient data loading and storage in a multi-core processor array.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a coarse-grained reconfigurable architecture is used to achieve parallel processing capability, then computing performance is improved, but the ability to support data loading and storage for multi-core processor arrays deteriorates
Solution Approach 1:
The system is divided into multiple independent data loading modules (one for each processing core) and multiple data storage modules. Each data loading module can independently read configuration instructions and generate data addresses, while each data storage module can independently store computed results. This segmentation enables parallel data loading and storage operations that support multi-core processor arrays while maintaining the coarse-grained reconfigurable architecture's computing performance.
Solution Approach 2:
The data loading modules are designed with universal functionality to handle both configuration instruction reading and data address generation for multiple processing cores. The system uses a unified address generation mechanism that can serve different data loading scenarios (direct addressing, indirect addressing, circular buffering) across all cores, making the architecture versatile enough to support various data loading and storage requirements while maintaining high computing performance.
2Productivity
If multiple data loading modules are provided for each processing core to enable parallel data loading, then data loading efficiency is improved, but device complexity increases
Solution Approach 1:
Multiple data loading modules share common functional components including the configuration instruction buffer, address generating module, and control logic. Instead of providing completely independent loading paths for each core, the system merges these functions at the buffer and control levels, allowing parallel data loading operations while reducing the overall system complexity and resource requirements.
3Speed
If direct memory access and advanced synchronization techniques are implemented to enhance computing performance, then data access speed is improved, but control complexity increases
Solution Approach 1:
The address generating module automatically generates data addresses based on configuration instructions without requiring complex external control mechanisms. The system uses self-service approaches where the data loading modules autonomously read configuration instructions, generate their own addresses, and perform data loading operations, thereby achieving fast data access while minimizing control complexity.
Data Source
AI summary
A data loading and storage system includes a storage module, a buffering module, a control module, a plurality of data loading modules, a plurality of data storage modules and a multi-core processor array module. The data is continuously stored in a DDR, and the data computed by the multi-core processor may be arranged continuously or be arranged according to a certain rule. After DMA reads the data into the DATA_BUF module by a BURST mode, in order to support fast loading of the data into the multi-core processor array, the data loading modules (i.e., load modules) are designed. In order to quickly store the computed result of the multi-core processor array into the (DATA_BUF module according to a certain rule, the data storage modules (i.e., store module) are designed.


