DMA Controller Fixed-to-Floating Data Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing DMA controllers are inefficient in handling floating-point data operations due to the need for additional processor load for conversion from fixed-point to floating-point, and they do not effectively manage storage resources, leading to increased operational pressure on the processor core.
Innovation Solution
A DMA controller with an input interface, output interface, control-logic module, and FIFO module, equipped with converters and selectors that perform fixed-to-floating and floating-to-fixed conversions, allowing data operations to be handled within the DMA controller, reducing processor load and optimizing storage resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If floating-point data are stored in external memory, then the processor core can perform floating-point operations directly, but the external memory storage space is increased
Solution Approach 1:
The DMA controller performs preliminary fixed-to-floating conversion on data before transferring it to internal memory. This advance processing eliminates the need for the processor core to perform conversion operations later, reducing processor operational load while maintaining efficient use of external memory space by storing compact fixed-point data formats.
Solution Approach 2:
The DMA controller acts as an intermediary between external memory and internal memory, performing data format conversion during the data transfer process. This mediator approach allows fixed-point data to be stored in external memory efficiently while automatically converting to floating-point format during transfer, thus reducing both external storage requirements and processor operational load.
2Quantity of substance
If fixed-point data are stored in external memory, then external storage space is saved, but the processor core must perform fixed-to-floating conversion which increases operational load
Solution Approach 1:
The data conversion function is extracted from the processor core and relocated to the DMA controller. This separation allows the processor to focus on computational tasks while the DMA controller handles the tedious conversion operations, reducing processor operational load while maintaining efficient fixed-point data storage in external memory.
Solution Approach 2:
The DMA controller performs self-service by automatically executing fixed-to-floating conversion during data transfer operations. This autonomous processing eliminates the need for processor intervention in conversion tasks, reducing processor operational load while preserving the space-efficient fixed-point storage format in external memory.
3Device complexity
If the DMA controller performs only simple data transport, then the device complexity is low, but the processor must handle data operations which reduces productivity
Solution Approach 1:
The DMA controller is enhanced with multi-functionality by integrating data conversion capabilities alongside its existing data transport functions. This universal approach allows a single device to perform both transport and conversion operations, improving overall system productivity without requiring separate dedicated hardware for each function.
Solution Approach 2:
The data conversion function is merged with the data transport function within the DMA controller. This combination consolidates multiple operations into a single integrated unit, improving productivity by eliminating the need for separate processing steps while maintaining relatively simple device architecture through shared hardware resources.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A direct memory access (DMA) controller. The DMA controller comprises: a read data channel input interface (64), a write data channel output interface (64), a control logic module, a first-in-first-out (FIFO) module, and also comprises: a first converter (11) for performing first operation processing on first data read from an external memory via the read data channel input interface (64); a first data selector (12) for strobing the data processed by the first converter (11) when it is judged that there is a need to perform data operation, and then writing the processed data into the FIFO module; a second converter (13) for performing second operation processing on second data read from the FIFO module; and a second data selector (14) for strobing the data processed by the second converter (13) when it is judged that there is a need to perform data operation, and then outputting the processed data to the write data channel output interface (64). Also disclosed is an implementation method for a DMA controller.