Skip to content
ENExplore Calculators

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

  1. 1Values used
  2. 2DMA timing
  3. 3Total transfer time= 165.04 µs
  4. 4Effective throughput= 397.09 MB/s
  5. 5Pure transfer time= 163.84 µs
  6. 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.

DMA Transfer Time Calculator – Calculate Total transfer time