我们可以优化代码以降低功耗吗?

Man*_*jan 14 c optimization arm

是否有任何优化代码的技术,以确保较低的功耗.架构是ARM.language是C.

Dav*_*sky 6

来自ARM技术参考站点:

ARM11 MPCore处理器的功能可提高能效,包括:

  • 精确的分支和子程序返回预测,减少了不正确的指令获取和解码操作的次数
  • 使用物理上寻址的缓存,可减少缓存刷新和重新填充的次数,从而节省系统中的能量
  • MicroTLB的使用减少了每个周期的转换和保护查找所消耗的功率
  • 高速缓存使用顺序访问信息来减少对标记RAM和不需要的数据RAM的访问次数.

在ARM11 MPCore处理器中,还广泛使用门控时钟和门来禁用未使用功能块的输入.只有主动使用的逻辑才能执行计算会消耗任何动态功率.

根据这些信息,我会说处理器为您节省电力做了很多工作.任何电力浪费都来自编写得不好的代码,这些代码执行的处理超出了必要的处理,无论如何你都不会想要.如果您希望节省电力,应用程序的整体设计将产生更大的效果.网络访问,屏幕渲染和其他耗电操作将更加关注功耗.


Jer*_*iko 5

优化代码以降低功耗实际上只是优化代码.无论您的动机是货币,社交还是政治等,CPU周期越少=使用的能源越少.我想说的是,我认为你可以用"执行时间"取代"耗电量",因为它们基本上会成正比例 - 因此,当你没有"吓跑"人们时,你可能会取得更大的成功.与权力有关的问题.但是,我可能会纠正:)


INS*_*INS 5

是.使用分析器,查看哪些例程正在使用大部分CPU.在ARM上,您可以使用一些JTAG连接器(如果可用的话)(我使用Lauterbach进行调试和分析).主要问题通常是让您的处理器在空闲时处于低功耗状态(深度睡眠).如果你不能减少使用的CPU百分比(例如从80%到50%),它将不会产生很大的不同.根据您运行的操作系统,选项可能会有所不同.