完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
网上有说DMA内存到外设间传输数据的过程为:
1、内存 到 外设 2、内存 到 DMAC 到 外设 3、内存 到 数据总线 到 DMA数据缓冲器 到数据总线 到 外设 那么,到底是哪一种情况呢? 还有,使用DMA进行内存到外设,外设到内存,内存到内存的数据传输路径是一样的吗? 上述问题,我研究好久,调研许多资料,都没得出一个确定结论。很多资料说DMA方式下,数据是由内存直接到外设, 我很难理解这个“直接”是什么情况。 期待行家给个明确回答啊!谢过~ |
|
相关推荐
10个回答
|
|
< 直接 > 是相对于 < 间接 > 的 , 说的是不依靠处理器进行数据搬运 , 或者说不依靠处理器执行 < 直接的指令 > 进行搬运 . 这一点你稍微看一下汇编就知道 .
至于怎么搬运 , 各家有各家的处理方法 , 如果不是非常介意时序或者打算了解架构设计 , 可以不用管 . 想知道的话 , 可以看芯片架构设计的相关资料 . 就像想送个东西到某地方 , 可以亲自送 , 也可以委托快递和物流送 , 除非对后者的运营有兴趣 , 或者非常介意送达时间 , 不然没必要知道后者具体如何安排路线 . 想知道的话 , 可以看快件跟踪 . |
|
|
|
关于“直接”的回答,还是很满意的,比较认同。但我还是很想搞清楚DMA数据传输过程。
按你意思是下面这三种情况都有可能? 1、内存 -> 外设 2、内存 -> DMAC -> 外设 3、内存 -> 数据总线 -> DMA数据缓冲器 -> 数据总线 -> 外设 其实,我想即使是第1种情况的内存到外设,也应该要经过数据总线吧? 看看这道题的答案和解析,是不是不吻合呢? 按解析意思,传输应该为:内存 -> 数据总线 -> DMA数据缓冲区 -> 外设,对吧? 还有外设和DMA是直接连接?传递数据是不需要经过数据总线? 再看下面这张图: 图上意思是:内存与外设间传数据是由 内存-> 数据总线 -> 外设,或者 外设 -> 数据总线 -> 内存 而内存到内存间传数据 是要经过DMAC的,即 内存 -> 数据总线 -> DMAC -> 数据总线 -> 内存 这个问题越来越扑朔迷离啊 呵呵!继续期待完美答复! |
|
|
|
都说了各家有各家的做法 , 人家还可以把自己的做法申请专利 , 哪个教科书试图一言盖之也太脱节了吧 .
这里是STM32为主 , 就拿STM32说 , 看官方一手资料的F1和F2的DMA框图吧 . 而且对于同一个架构 , 在不同的层次描述 , 结果也是有差别的 . 对于应用者来说 , 1是对的 ; 对于底层开发来说 , 2是对的 ; 对于芯片架构来说 , 3在某些架构的某些层次是对的 . |
|
|
|
建议看一下手册上面的总线矩阵,一般来讲你可以把DMA当成总线上面一个只进行memcpy的CPU。
|
|
|
|
谢了 各位,貌似 明白了些
|
|
|
|
LZ这个题,应当与STM32芯片无关,是PC方面的。
|
|
|
|
额 这个确实 和 stm32无关,只是想了解下DMA到底是怎么传输数据的而已
|
|
|
|
所以,正如LS几位说的,各家有各家的方法,而且各有各的名词!
DMAC是什么?搞STM32 的人,未必知道。DMA controller ? 就你的试题,我用排除法: DMA过程,肯定不能占用总线,那样会干扰CPU内核,还叫DMA?所以,答案A,C不对。 答案D,肯定缺点什么东西,51芯片的内存和外设显然不能直接对话,所以错。 只能是B。 |
|
|
|
DMA过程应该是 CPU放弃总线,DMA获取总线吧
|
|
|
|
仔细看STM32的手册 , 官方说好了会占用总线 , 会干扰CPU内核的 .
题目也没说是51 , 只是说了计算机 , 偷换命题是不对的 . 对于现在的PC架构 , DMA已经不是一个控制器这么简单了 , 本身已经有一个庞大的架构 , 用一两句话描述这个架构显然很困难 . |
|
|
|
只有小组成员才能发言,加入小组>>
948 浏览 2 评论
12852 浏览 0 评论
4141 浏览 7 评论
2353 浏览 9 评论
2184 浏览 2 评论
471浏览 2评论
829浏览 2评论
949浏览 2评论
420浏览 1评论
658浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:53 , Processed in 1.182456 second(s), Total 62, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号