| DMA是Direct Memory Access的缩写。每次需要进行外设数据读写时,首先CPU把要传送的数据个数、数据块在内存的首址、数据传送的方向(是读操作还是写操作)、设备的地址等参数送给DMA控制器,然后发送一个命令给DMA接口,启动外设进行数据准备工作。在这些工作完成后,CPU就继续进行其他工作。此时,外设和CPU并行工作。而I/O设备和主存交换数据的事情就交给了DMA控制器。DMA控制器在需要的时候就申请总线控制权,占用总线完成I/O设备和主存间的数据传送。传送结束后,用中断请求告诉CPU,让CPU做一些数据校验等后处理工作。
DMA方式适合于像磁盘一类的高速设备(外存),以成批的方式和内存直接交换数据。
|