请教C语言与汇编的效率与功耗?

2019-03-24 15:05发布

最近在做超低低功耗产品,由于接手时程序基本完成,是用汇编编写的,程序的修改和维护很复杂,持续修改中,可是感觉问题越改越多;现在考虑要用C语言重写一下,对以后的维护会节约很多时间,可是现在摆在面前有几个问题,不知道大家有没有了解的。
   1、汇编语言的功耗会节约很多,现在汇编语言对寄存器都赋值变量,用c语言每次都要在变量空间调入寄存器,很难直接在寄存器调用,这样感觉功耗就会增加一些。
   2、C语言比汇编会增加功耗吗?会增加多少?
   3、C语言对端口控制能不能达到汇编语言的简洁程度?因为现在对功能的要求基本要做到一个指令一个指令来控制。
   现在工程对时间要求也很严格,真的不知道能不能按时修改完,如果换c语言如果功耗上去了,这样更没法交差,很痛苦。请用过的高手给个建议。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Goself
1楼-- · 2019-03-24 21:08
< C语言影响功耗的地方在于,它编译出来的指令数量更多 ,导致CPU执行了更多的指令,因此就耗费更多的能量。鉴于此,楼主可以采用如下的方法做尝试:
1.采用效率高的编译器,并设置为对速度进行最优化,而不是对空间占用最优化;
2.自己写代码的时候,也要有意识的以牺牲空间的方式来换取速度;
至于其它的什么降低工作频率、降低工作电压、在程序中添加功率管理功能等,相信楼主已经是做好了的。
至于C语言比汇编的效率低多少,是无法得出结论的。编译器不同,优化等级不同,代码的作者不同,都会得出不同的结论。因此,楼主需要做的就是通过实际的测试。想来做了最大优化后,应该不会差多少。楼主可以测试。
peter_zheng
2楼-- · 2019-03-24 21:15
 精彩回答 2  元偷偷看……
zengbo84
3楼-- · 2019-03-25 01:57
谢谢大家的回复

一周热门 更多>

相关问题

    相关文章