Direct Memory Access 直接存储器访问
2009-12-06 13:30
429 查看
一个完整的DMA传输过程必须经过下面的4个步骤。
1.DMA请求 CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
2.DMA响应 DMA控制器对DMA请求判别优选级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
3.DMA传输 DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
4.DMA结束
当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停
止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结
果及状态继续执行原来的程序。
由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。
相关文章推荐
- DMA(Direct Memory Access直接存储器访问)总结
- DMA(Direct Memory Access,直接内存存取)
- illegal memory access(非法内存访问)
- STM32直接存储器访问DMA
- Remote direct memory access
- DMA直接存储器访问
- PETSc 使用VecGetArray() 访问并行向量出错memory access out of range
- JAVA直接访问ACCESS
- Java内存--直接内存(Direct Memory)---NIO
- 【DSP】直接存储器访问(DMA)控制器——TMS320VC5509A(下篇)
- DMA(direct memory access)直接内存访问
- JAVA之直接内存(DirectMemory)
- DSP之直接存储器访问控制器
- Direct Memory Access (DMA) 解析 以及 DMA 给Xen 虚拟化带来的挑战
- DMA--直接存储器访问 可重入过程
- [中英对照]Introduction to Remote Direct Memory Access (RDMA) | RDMA概述
- DMA直接存储器访问
- Remote Direct Memory Access (RDMA)
- JVM-013-直接内存(Direct Memory)
- Symbian OS的硬件——直接存储器访问(DMA)