DMA控制器 intel237

DMA(直接存储器存取):在一定时间段内,由DMA控制器取代CPU,获得总线控制权来实现内存与外设或者内存的不同区域之间的大量数据快速数据传递。
DMA控制器 intel237
DMA数据传送过程:
1.外设向DMAC发出DMA传送请求。
2. DMAC向CPU发出HOLD信号(DMA请求)。
3. CPU在完成当前总线操作后会立即对DMA请求作出响应:一,CPU放弃总线控制权,将控制、数据、地址总线悬空;二,CPU将有效的HLDA信号加到DMAC,以通知DMAC,CPU已放弃总线控制权。
4. DMAC接管总线控制权,向外设送出DMA应答信号。
5. DMAC送出地址信号和控制信号,实现外设与内存或内存不同区域之间数据快速传递。
6. DMAC将规定的数据字节传送完后,向CPU发HOLD信号(撤销对CPU的DMA请求)。CPU收到后使HLDA无效,并重新控制总线。

8237内部结构:
DMA控制器 intel237来源:《微机原理与接口技术》杜丽霞