OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3554|回复: 5

我测了一下,在其他条件相同时,DMA发送比不用DMA速度提高很明显,这是为什么?不是说速度和DMA无关吗?

[复制链接]

3

主题

3

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-6-5
在线时间
4 小时
发表于 2016-6-5 22:19:28 | 显示全部楼层 |阅读模式
我测了一下,在其他条件相同时,DMA发送比不用DMA速度提高很明显,这是为什么?不是说速度和DMA无关吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11549
金钱
11549
注册时间
2014-4-1
在线时间
1316 小时
发表于 2016-6-5 22:38:22 | 显示全部楼层

DMA基本是硬件,像CPLD或者FPGA,
不需要软件参与。

回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2014-9-26
在线时间
8 小时
发表于 2016-6-5 22:44:26 | 显示全部楼层
“速度和DMA无关”指的是DMA不需要cpu参与,不消耗cpu的速度。跟串口或者其他的发送速度不是一个概念。
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2251
金钱
2251
注册时间
2010-12-16
在线时间
204 小时
发表于 2016-6-5 23:02:42 | 显示全部楼层
用 DMA , 需要等待 DMA 执行和数据总线空闲 .

不用 DMA , 需要等待 CPU 执行和数据总线空闲 , CPU 执行需要等待指令就绪 , 指令就绪需要等待 FLASH 控制器拿指令出来 , 如果有跳转 CPU 的流水线和 FLASH 的缓存还要清空重填 .
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2016-6-6 09:50:51 | 显示全部楼层
DMA只是在搬运数据的过程中可以解放CPU,速度比CPU按字节搬运速度要快很多。
回复 支持 反对

使用道具 举报

5

主题

168

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2016-5-28
在线时间
64 小时
发表于 2016-6-6 19:29:52 | 显示全部楼层
DMA,直接内存存取,就是不通过CPU来传输数据,一般用于批量传输中,应该在传输中没有CPU检测的时间间隔吧,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 18:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表