A DMAC can save power in a system by putting the CPU in a low power state and using the DMAC (fewer gates/transactions) to move the data. Equally, using a DMAC can achieve higher performance in a system where it moves data in parallel with processing in the CPU.
Why AMBA DMA Controllers?
AMBA DMA Controllers for AXI and AHB
DMA Controllers can have a significant impact on both system performance and system power. It is critical that the design provides for optimum compatibility with the bus architecture (AMBA) and provides the flexibility required to support a wide range of system requirements.
DMA in high-performance AXI systems
The AMBA AXI-based PrimeCell® DMA Controller, DMA-330, is a highly flexible, high-performance DMAC designed to provide maximum configurability and programmability. Configurability optimizes the gate count for target systems. The size can be as low as 40K for low-end configurations. The DMA-330 also provides a natural migration path for users of the AMBA AHB based DMA Controller, PL080.
An FSM based DMAC can provide only limited functionalities as the gate count increases rapidly with the increase in the number of features supported. In contrast, the DMA-330 is a micro-programmable DMAC, with its own instruction set, and provides a rich set of features while keeping the gate count low. The DMA-330 instruction set design provides flexibility for programming DMA transfers. The program code is stored in system memory that the DMAC accesses using its AMBA AXI interface and the DMA-330 uses an efficient caching system to optimize performance and minimize bus traffic.
DMA in cost-effective AHB systems
For AHB systems based around the Cortex-M™ processors ARM delivers the DMA-230 "micro" DMA controller. Designed for very low gate count and low power operation DMA-230 provides a flexible, high-performance DMA Controller required by such designs.
AMBA DMA Controller Performance
The DMA-230 and DMA-330 DMA Controllers are highly configurable. Therefore, power, performance and area will depend on configuration.
- DMA-230 is designed for very low area, typical configurations are 3K-10K gate.
- DMA-330 is designed for high performance and runs at the frequency of the NIC-301 interconnect.
For more detailed information on performance, contact ARM directly.
DMA-330: AMBA AXI DMA Controller
The AMBA AXI-based DMA Controller (DMA-330) is a highly flexible, high-performance DMAC designed to provide maximum configurability and programmability. Configurability optimizes the gate count for target systems. The size can be as low as 40K for low-end configurations. The DMA-330 also provides a natural migration path for users of the AMBA AHB-based DMA Controllers, PL080 and PL081.
|Centralized DMA resource||Minimizes overhead, simplifies integration|
|Simple yet powerful instruction set||Provides flexibility for programming DMA transfers|
|Single AXI master interface||Performs DMA transfers, simplifies integration|
|Secure and non-secure programming||Supports TrustZone® technology, security independently managed per channel|
|Supports multiple transfer types||Memory-to-memory; memory-to-peripheral; peripheral-to-memory; scatter-gather|
|Configurable through AMBA Designer||Enables the DMAC to be optimized for the application|
|Resources shared between DMA channels||Minimizes area and power|
DMA-230: AMBA AHB μDMA Controller
The DMA-230 is the ARM low gate count DMA controller. It is compatible with the AMBA AHB-Lite protocol and ideal for use with Cortex-M™ microcontroller designs. It is simple to include in system with a single APB and single AHB-Lite port, plus direct access to on-chip memory.
The DMA-230 has a simple programmer’s model, yet sophisticated programmable features for transfer modes such as Scatter-Gather, Ping-Pong and Primary-Alternate.
AMBA DMA Controllers: Related Products
The DMA-330 and DMA-230 DMA controllers are designed for compatibility with ARM's IP product portfolio, including:
|Configuration and stitching||AMBA Designer|
|Performance exploration and functional verification||AMBA VPE|
|AXI and AHB Interconnect||NIC-301, QoS-301, ADK|
|Processors||Cortex-A, Cortex-R, ARM11, ARM9, Cortex-M (DMA-230)|
|Media Processors||Mali Graphics Processors and Video Engines|
|Memory Controllers||DMC-34X, SMC-35X, PL24X|