DMA - Přímý přístup do paměti. Provoz vašeho ovladače, který čte nebo zapisuje z/do vaší HW paměti, aniž by do toho byl zapojen CPU (uvolňuje jej k provádění jiných věcí).
DMA Controller - čtení a zápis nelze provést kouzlem. pokud to CPU nedělá, potřebujeme na to jiný HW. Před mnoha lety (v době ISA/EISA) bylo běžné používat sdílený HW na základní desce, která tuto operaci dělala. V posledních letech má každý HW svůj vlastní HW mechanismus DMA. Ale ve všech případech tento konkrétní HW získá zdrojovou adresu a cílovou adresu a předá data. Po dokončení se obvykle spustí přerušení.
DMA Engine - Tady si nejsem jistý, co máte na mysli. Domnívám se, že pravděpodobně odkazujete na stranu SW, která zpracovává DMA. DMA je o něco složitější než obvyklé I\O, protože všechny paměti SRC a DST musí být fyzicky přítomny po celou dobu operace DMA. Pokud je adresa DST prohozena na disk, HW zapíše na špatnou adresu a systém se zhroutí. Tento a další aspekty DMA jsou řešeny ovladačem pomocí částí kódu, které pravděpodobně nazýváte "DMA Engine"
*Další výklad toho, co je 'DMA Engine', může být kódová část Firmware (nebo HW), která na HW straně obsluhuje HW řadič DMA.
Podle tohoto dokumentu http://www.asprom.com/application/intel_3.pdf:
Řadiče 82C37 DMA by se neměly zaměňovat s motory DMA nalezenými v některých dřívějších součástech MCH (Memory ControllerHub). Tyto řadiče DMA jsou vázány na sběrnici ISA/LPC a používají se většinou pro přenosy do/z pomalých zařízení, jako jsou řadiče disket.
Zdá se tedy, že jde o zařízení nalezené na předchozích platformách, které používaly zařízení MCH.