DMA
Direct Memory Access,直接内存访问。
是一种专用的硬件设备,用于在计算机系统中进行内存与外部设备之间或内存与内存之间的高速数据传输,而不需要CPU的干预。这种机制极大地减轻了CPU的负担。
直接内存访问:
在没有DMA的系统中,每次数据传输都需要CPU的直接参与。这样一来,CPU需要执行大量的读写操作,效率较低。而有了DMA,对应的工作可以由DMA控制器来完成,CPU只需发起和结束DMA操作。
#工作原理
初始化:
CPU配置DMA控制器,设定源地址、目的地址、数据传输大小和传输模式等参数。
启动传输:
CPU命令DMA控制器开始传输数据。
数据传输:
DMA控制器接管总线权限,直接从源地址读取数据并写入到目的地址。在此期间,CPU可以执行其他指令,不受数据传输影响。
完成传输:
当传输完成后,DMA控制器向CPU发出中断信号,告知CPU传输已经完成。CPU随后可以处理这次传输的后续工作。