DMA数据传输的时候,CPU可以同时并行处理其它任务吗?

2019-12-15 11:16发布

000.PNG (23.71 KB, 下载次数: 0) 下载附件 2018-11-24 13:02 上传

想请教下各位:

问题1:上述说法是正确的嘛?还是说每种类型的单片机在DMA这块机制不一样?

问题2:如果上述说法正确的,为什么在进行DMA传输的这段时间内需要挂起CPU?这样使用DMA有什么意义?

问题3:如果上述说法不正确,那么是否会产生资源共享的问题(在DMA传输的这段时间内,DMA也可以看作某种意义上的CPU,与真正的CPU进行资源竞争)?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
擦鞋匠
1楼-- · 2019-12-16 02:56
aozima 发表于 2018-11-24 13:37
CPU的指令中不是所有的指令都在访问总线,所以DMA可以在非数据访问时占用。

DMA也不是一直在访问总线,比 ...

感谢aozima阁下指教,我再理解下!
擦鞋匠
2楼-- · 2019-12-16 05:34
20061002838 发表于 2018-11-24 13:49
1,正确,对于MSP430单片机而言。不同单片机机制确实不一样,MSP430出于低功耗设计考虑是这样子的,STM32的 ...

感谢20061002838阁下指教!
clqfly
3楼-- · 2019-12-16 07:31
XA144F 发表于 2018-11-24 14:24
在8086时代,DMA还用的是8237,当DMA开始传输数据时,会完全占用地址、数据和控制总线,而CPU在此时使用总 ...

学习了!!
enterpriseZ
4楼-- · 2019-12-16 12:47
涨了一波姿势
didadida
5楼-- · 2019-12-16 17:10
 精彩回答 2  元偷偷看……
wowangru
6楼-- · 2019-12-16 22:41
不错的资料!!!!!!!

一周热门 更多>