我想做一个嵌入式的“C”代码编译器,它可以选择以最小的功率执行程序,传统的编译器在速度或大小方面都是最优的。这将意味着编译器将优化地址线和数据线上的逻辑翻转的数量,因为每个翻转都是电荷泵能量。
发布于 2014-09-14 22:40:41
祝你在这个目标上好运(开发你自己的C编译器来优化能源;你应该得到一个PhD )。您也许可以尝试使用MELT来为此目的定制GCC。
另请参阅MAGEEC项目;但我猜您不应该期望很快就能找到一个神奇的、自动优化低功耗的编译器。它应该是一个完整的程序优化。(您可能需要一些辅助的、半自动的优化)。
在许多硬件设备中,大部分电力被CPU以外的其他设备消耗。例如,在智能手机中,屏幕和通信消耗的能量最多(所以你应该优化它们)。实际上,您可能应该降低频率(以某种特定于应用程序的方式)。
发布于 2014-09-15 07:58:03
这是一个值得称赞的目标,也是一个实用的目标,这取决于你的硬件有多新。我不认为你可以为旧的硬件做太多的事情。我也不认为优化逻辑切换(最小化泄漏电流?)除非你的程序非常非常简单,而且非常非常小。你有没有做过任何实验,证明你可以获得显著的收益?
如果您正在使用更现代的硬件,就处理器和外围设备而言,您可以创建一个可以优化功率的编译器。现代处理器和外围设备具有节能状态。您可以重写代码以利用这些状态,并显著减少能源使用量。此外,您还必须考虑您的环境。虽然针对嵌入式市场的移动处理器,例如手机,在减少处理器在空闲时间的能源使用方面取得了很大进展,但处理器是一个主要的能源消耗大户。
我正在发表一篇演讲,主题是如何编写软件应用程序以提高能效。我不能把它传给你,因为它还没有发表。我希望在接下来的几个月里写一系列关于同一主题的博客。
https://stackoverflow.com/questions/25834387
复制相似问题