|
DMA的英文拼写是“Direct Memory Access”,汉语的意义 就是直接内存访问,是一种不经过CPU而直接从内存了存取数据的数据交流 模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完成 再把信息反馈给CPU,这样就很大水平 上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源,二者在传输速度上的差别 并不非常 明显。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能到达 的最大传输速率也只有16.6MB/s。
DMA 传送方式的优先级高于程序中断,两者的区别主要表现在对CPU的干扰水平 不同。中断恳求 不但使CPU停下来,而且要CPU执行中断服务程序为中断恳求 服务,这个恳求 包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价;DMA恳求 仅仅使CPU暂停一下,不需要. 对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。还有一个区别就是,CPU对这两个恳求 的响应时间不同,对中断恳求 一般都在执行完一条指令的时钟周期末尾响应,而对DMA的恳求 ,由于考虑它得高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立刻 响应。
DMA主要由硬件来实现,此时高速外设和内存之间进行数据交流 不通过CPU的控制,而是应用 系统总线。DMA方式是I/O系统与主机交流 数据的主要方式之一,另外还有程序查询方式和中断方式。
|
|
|
|
|
|
|