打印

运行不同指令时mcu功耗

[复制链接]
2027|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lanyong|  楼主 | 2012-5-4 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在考虑运行不同指令时,mcu功耗是否不同?

有兴趣的同学可以nop1秒测测功耗,再movwf测测。
沙发
yewuyi| | 2012-5-4 12:32 | 只看该作者
不一定一样,有微小的差异。

例如NOP所使用的MCU资源很少,而MOV指令有可能操作的RAM,则电流就会出现差异。

有一种**方式就是通过测试代码执行的电流消耗等来实现的,当然这种方式理论上,实际中估计很难工程化。

使用特权

评论回复
板凳
lanyong|  楼主 | 2012-5-4 14:18 | 只看该作者
我觉得有可能通过这**。不同指令的电磁波是不一样的,嘿嘿。

使用特权

评论回复
地板
lanyong|  楼主 | 2012-5-4 14:21 | 只看该作者
我出发点是好的哈,我是为了想节能。叶大师说可以搞**。我顿悟啊,哈哈。

使用特权

评论回复
5
ssy250| | 2012-5-4 14:29 | 只看该作者
楼主学习下计算机组成原理应该就可以明白一些

使用特权

评论回复
6
ssy250| | 2012-5-4 14:30 | 只看该作者
说白了,只要有了高低电平的转换,那么就会产生功耗,所最更本方式,就是降低频率、降低电压、减少逻辑器件的结电容,减少改变电平次数~~

使用特权

评论回复
7
yewuyi| | 2012-5-4 14:40 | 只看该作者
我出发点是好的哈,我是为了想节能。叶大师说可以搞**。我顿悟啊,哈哈。
lanyong 发表于 2012-5-4 14:21



这个我很早就有尝试,在一个非常重视能耗的应用中,尽量减少对RAM等的操作确实可能会有一些效果的。

使用特权

评论回复
8
lanyong|  楼主 | 2012-5-4 15:07 | 只看该作者
6# ssy250


嗯,所以研究下指令有几个1,几个0很有必要。

使用特权

评论回复
9
lanyong|  楼主 | 2012-5-4 15:10 | 只看该作者
7# yewuyi

嗯,这个就是程序员的功力了。程序员就是通过辛勤劳动创造了社会财富。汗滴禾下土啊。

使用特权

评论回复
10
yewuyi| | 2012-5-4 15:16 | 只看该作者
这个低功耗应用有一个特别的小技巧例子,那就是:

当代码中出现少量短延时需要时,例如20us,有的人不假思索直接使用类如if(i--){}这样的代码,呵呵,对于低功耗产品来说,此时,写20个nop更省油。

因为i--在不断的操作RAM,而nop是什么都没做,非常省油。

从这个还有很多可以发散的例子,就不再一一赘叙了。

使用特权

评论回复
11
lanyong|  楼主 | 2012-5-4 15:21 | 只看该作者
10# yewuyi

好好好。我喜欢省油。省油好点灯。

使用特权

评论回复
12
junma10000| | 2012-5-4 15:57 | 只看该作者
肯定有差别,省油有省到用不同指令上面,那确实太厉害了,

使用特权

评论回复
13
lanyong|  楼主 | 2012-5-4 16:02 | 只看该作者
一切存在皆是虚无。
goto可以当两个nop用。

使用特权

评论回复
14
NE5532| | 2012-5-4 20:42 | 只看该作者
还不如早点做完事情睡觉觉来的功耗低……

使用特权

评论回复
15
李冬发| | 2012-5-5 04:26 | 只看该作者
CMOS电路,1/0的功耗差异不是很大。要是早期的PMOS工艺的CPU,那1/0功耗差异是很大的。

使用特权

评论回复
16
yewuyi| | 2012-5-5 09:12 | 只看该作者
还不如早点做完事情睡觉觉来的功耗低……
NE5532 发表于 2012-5-4 20:42


低功耗设计最关键的是要尽量平衡各个条件,找到总功耗最低的那条路径,减少代码执行时间只是其中的一个重要招数而已。

使用特权

评论回复
17
hongong| | 2012-5-8 17:32 | 只看该作者
:o

使用特权

评论回复
18
晨星之光| | 2012-5-8 18:08 | 只看该作者
学习了~!降低功耗还可以这样呀~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

457

帖子

2

粉丝