永发信息网

当使用dma的时候cpu失去了总线控制器那不是也没办法运行了吗

答案:2  悬赏:60  手机版
解决时间 2021-01-05 05:12
当使用dma的时候cpu失去了总线控制器那不是也没办法运行了吗
最佳答案
DMA原理:DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。
否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把再次写回到新的地方。
在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA 传输将数据从一个地址空间复制到另外一个地址空间。
当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。
典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。
像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。
DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。
即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。
一个完整的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传输。
在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。
开始时需提供要传送的数据的起始位置和数据长度。
4.DMA结束
当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。
当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。
最后,带着本次操作结果及状态继续执行原来的程序。
由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。
全部回答
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据), 它会先向cpu发送dma请求信号。外设通过dma的一种专门接口电路――dma控制器(dmac),向cpu提出接管总线控制权的总线请求,cpu收到该信号后,在当前的总线周期结束后,会按dma信号的优先级和提出dma请求的先后顺序响应dma信号。cpu对某个设备接口响应dma请求时,会让出总线控制权。于是在dma控制器的管理下,外设和存储器直接进行数据交换,而不需cpu干预。数据传送完毕后,设备接口会向cpu发送dma结束信号,交还总线控制权。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
把一根长8分米的长方体木料,正好锯成4个一样
怎么查找银行开户行
---Do______youthinkisright,otherssay.---Y
4x+3y=10与2x-y=10解方程组
单选题He is _____ in hospi
忻州离五台山多远
对面的灯光(刘会然)阅读答案
My parents have always made meabout myself
文明寄语有哪些?
基础知识应用是什么意思
贵州是属于什么方向
木工师傅要在如图的三角形木块平均分为4块面
车辆盗抢险一般能报多少
单选题在相同的条件下,将钠、镁、铝各1mol分
2011年9月29日,长征-2F?T1火箭把“天宫一号
推荐资讯
图中大圆的半径是小圆的直径,大圆的面积是小
知识永远学不完的名言
python安装包这三个有什么区别,谢谢
茂名的经度和纬度和时区是多少
单选题关于平衡力、作用力与反作用力的下列说
旁边小小个的叫什么鱼?有没有专门钓它们的料
大庇天下寒士俱欢颜中的庇怎么读
急求“赏花归去马如飞酒力微醒时已暮”这首回
生活富裕了,更不应忘记中华民族传统美德,以
后置定语被动时一定要that和be一起省掉吗
墙布是薄的还是厚的好
京东大溶洞的主要景点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?