DMA Transfer Time Calculator
Work out dma transfer time instantly with clear inputs, formula shown and shareable results.
About DMA Transfer Time Calculator
DMA transfer time is bytes divided by bytes per cycle divided by clock, plus descriptor setup overhead. Overhead dominates small transfers: a 64-byte transfer with 1.2 microseconds of setup wastes over 80% of the time, which is why scatter-gather chaining exists.
Formula
DMA timing
cycles = bytes / (width / 8); time = cycles / clock + setup overhead
Worked example
With the default values below, DMA Transfer Time Calculator returns Total transfer time of 165.04. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Transfer size
- 64 kB
- Bus width
- 32 bits
- Bus clock
- 100 MHz
- Descriptor setup overhead
- 1.2 µs
Results
- Total transfer time
- 165.04 µs
- Effective throughput
- 397.09 MB/s
- Pure transfer time
- 163.84 µs
- Overhead share
- 0.727% %
Step by step
- 1Values used
- 2DMA timing
- 3Total transfer time= 165.04 µs
- 4Effective throughput= 397.09 MB/s
- 5Pure transfer time= 163.84 µs
- 6Overhead share= 0.727 %
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 3 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why use scatter-gather DMA?
It chains many descriptors so the controller processes a whole list without CPU involvement, amortising setup across many transfers.
When is DMA not worth it?
For transfers of a few words, where setup costs more than a CPU copy loop would. Most drivers have a threshold below which they use memcpy.
Related Calculators
You might also need
- Burn In Time CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Oxide Growth Time CalculatorAlso in Semiconductor, VLSI & Hardware Design
- CPI And Execution Time CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Etch Rate And Time CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Mean Time To Failure (Chip) CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Test Time And Cost CalculatorAlso in Semiconductor, VLSI & Hardware Design
