メモリ(従)と、DMAC(主)と、CPU(主)の3つが同じバスに接続されているときに、
バスを使用してメモリにアクセスすることができるのは、
ある時間をみるとDMACかCPUのだけです。
DMACとCPUが同時にバスを使用しようとすると、
バスアービターが設定された優先度に従い、バスの使用権をCPUかDMACに与えます。

実際はバスは多重化されていることもあり、
CPUがバスのあるレイヤーを使用していても、
DMACは別のレイヤーを使用してCPUがアクセスしている資源以外の資源を操作できます。
これは、ある資源はCPUかDMACからしか制御できないからで、
ここの部分はバスアービターが制御しているわけではありません。

この例では(主)としてDMACとCPUが1つづつしかでませんでしたし、
(従)もメモリしか出てきませんでしたが、
それぞれが複数存在する場合があります。
DMACが複数ある場合、その数だけバスのレイヤーがある場合が多いと思います。

バス上でのデータ転送には、ブロック転送とシングル転送の2種類あり、
ブロック転送がDMAの行う転送となります。
ブロック転送やシングル転送ができるかできないかは、
(主)と(従)の両者がブロック転送またはシングル転送に対応している必要があります。