DMA - 直接メモリ アクセス。 CPU が関与することなく、HW メモリとの間で読み取りまたは書き込みを行うドライバーの操作 (他のことを行うために解放します)。
DMA コントローラー - 読み書きは魔法ではできません。 CPU がそれを行わない場合は、それを行う別のハードウェアが必要です。何年も前 (ISA/EISA の時代)、この操作を行うマザーボード上で共有 HW を使用するのが一般的でした。近年では、各 HW に独自の DMA HW メカニズムがありますが、いずれの場合も、この特定の HW が送信元アドレスと宛先アドレスを取得してデータを渡します。通常、完了時に割り込みをトリガーします。
DMA エンジン - ここで、何を言っているのかわかりません。おそらく、DMA を処理する SW 側について言及していると思います。DMA 操作中はすべてのメモリ SRC と DST が常に物理的に存在する必要があるため、DMA は通常の I\O よりも少し複雑です。 DST アドレスがディスクにスワップされると、ハードウェアが不正なアドレスに書き込み、システムがクラッシュします。これと DMA のその他の側面は、おそらく「DMA エンジン」と呼ばれるコード セクションを持つドライバーによって処理されます
*「DMA エンジン」の別の解釈は、ハードウェア側で DMA HW コントローラーを処理するファームウェア (または HW) のコード部分である可能性があります。
このドキュメントによると、http://www.asprom.com/application/intel_3.pdf:
82C37 DMA コントローラを、一部の以前の MCH (メモリ コントローラ ハブ) コンポーネントに見られる DMA エンジンと混同しないでください。これらの DMA コントローラは ISA/LPC バスに接続されており、主にフロッピー ディスク コントローラなどの低速デバイスとの間の転送に使用されます。
つまり、MCH デバイスを使用していた以前のプラットフォームで見つかったデバイスのようです。