Embedded DMA transfer schedule calculator

Calculate nonpreemptive transfer schedule and total completion time with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Use nonpreemptive transfer schedule and total completion time to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

DMA blocks [channel ID,bytes,priority (smaller first)]
[[1,1000,0],[2,2000,1],[1,500,0]]
Shared bus throughput (bytes/s)
1000000
Per-block setup overhead (seconds)
1e-05
Nonpreemptive transfer schedule
[[0,0,0.00101],[2,0.00101,0.00152],[1,0.00152,0.00353]]
Total completion time (seconds)
0.00353

Try another scenario

DMA blocks [channel ID,bytes,priority (smaller first)]
[[1,1000,0],[2,2000,1],[1,500,0]]
Shared bus throughput (bytes/s)
500000
Per-block setup overhead (seconds)
1e-05
Nonpreemptive transfer schedule
[[0,0,0.00201],[2,0.00201,0.00302],[1,0.00302,0.00703]]
Total completion time (seconds)
0.00703
Calculation method

Calculation method

Nonpreemptive transfer schedule

All blocks ready at t=0; stable priority order then original input order; [row,start,end].

Total completion time (seconds)

Sum setup and transfer durations on one shared bus.

Symbols and units
a
DMA blocks [channel ID,bytes,priority (smaller first)]
b
Shared bus throughput (bytes/s)
c
Per-block setup overhead (seconds)

Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.

Assumptions & limits

Assumptions & limits

  • Single shared nonpreemptive DMA bus, all supplied blocks ready at time zero. This is a declared scheduling model, not a hardware DMA simulator. Quantities are deterministic calculations from supplied observations and assumptions; no external data is fetched. Supported limits: Finite inputs only; numeric fields bounded as labelled. Lists and JSON records are limited to 256 entries unless a stricter tool bound is stated. No automatic design approval, legal conclusion, treatment recommendation or safety certification. Shared bus throughput (bytes/s): minimum 1e-12, maximum 1000000000000.0. Per-block setup overhead (seconds): minimum 0, maximum 1000000000000.0.
Are these inputs private?

These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.