DMA Apparatus Using Descriptor Decoupling for Neural Network Data Movement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of data mapping relationships in neural-network processors requires intricate DMA hardware structures, leading to inflexible systems when handling discontinuous data, which complicates data movement operations.
Innovation Solution
A coprocessor executes algorithms to cut data into manageable segments, generating instructions that simplify the DMA process by decoding these instructions to move data based on parsed mapping relationships, thereby simplifying the hardware structure and enhancing flexibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If complex hardware structures are used to handle discontinuous data mapping relationships, then data movement capability is improved, but device complexity increases
Solution Approach 1:
The patent introduces a descriptor as an intermediary data structure that decouples the complex mapping relationship from the DMA hardware. The descriptor contains source address, destination address, and mapping relationship information, allowing the DMA to handle discontinuous data through software-generated descriptors rather than complex hardware logic. This mediator approach resolves the contradiction by transferring complexity from hardware to software.
Solution Approach 2:
The patent changes the operational parameters of the DMA by introducing configurable descriptor fields that define source addresses, destination addresses, and mapping relationships. Instead of fixed hardware logic, the DMA adapts to different data movement scenarios by reading parameters from descriptors, enabling flexible handling of discontinuous data while keeping hardware structure simple.
2Manufacturing precision
If DMA hardware is designed for specific data mapping relationships, then data movement precision is improved, but adaptability deteriorates
Solution Approach 1:
The patent makes the DMA system dynamic by allowing the descriptor content to change based on different data movement requirements. The mapping relationship, source address, and destination address are not fixed in hardware but are dynamically loaded from descriptors generated by the neural network processor, enabling the same hardware to precisely handle various mapping scenarios including discontinuous data.
Solution Approach 2:
The patent creates a universal DMA architecture that can handle multiple types of data mapping relationships through a single descriptor-based interface. The same DMA hardware can process contiguous data, discontinuous data, and data with various mapping patterns by simply changing the descriptor content, achieving multi-functionality without requiring specialized hardware for each case.
3Productivity
If complex DMA hardware is implemented to handle neural network data mapping, then data movement efficiency is improved, but ease of manufacture deteriorates
Solution Approach 1:
The patent extracts the complex mapping logic from the DMA hardware and places it in the neural network processor software. The DMA hardware only needs to perform simple operations like reading descriptors, copying data based on source and destination addresses, and updating status flags. This extraction maintains high data movement efficiency while dramatically simplifying the hardware implementation and manufacturing process.
Data Source
AI summary
A data moving method, a direct memory access apparatus, and a computer system are disclosed. The data moving method is used for a neural-network processor, the neural-network processor includes at least one processing unit array, and the method includes: receiving a first instruction, wherein the first instruction indicates address information of target data to be moved, and the address information of the target data is obtained based on a mapping relationship between the target data and at least one processing unit in the processing unit array; generating a data moving request according to the address information of the target data; and moving the target data for the neural-network processor, according to the data moving request.


