我想制作一个嵌入式'C'代码编译器,可以选择以最小功率执行程序,传统编译器可以针对速度或大小进行优化。这意味着编译器将优化地址和数据线上的逻辑切换次数,因为每个切换充电泵能量。
答案 0 :(得分:0)
祝你好运(开发自己的C编译器优化能源;你应该获得博士学位)。您可以尝试使用MELT为此目的自定义GCC。
另见MAGEEC项目;但我想你不应该期待很快就能找到编译器神奇并自动优化低功耗。它应该是一个完整的程序优化。 (您可能需要一些辅助,半自动,优化)。
在许多硬件设备中,大部分功耗都被CPU的其他功能所消耗。例如,在智能手机中,屏幕和通信占用的能量最多(因此您应该对其进行优化)。实际上,您可能应该降低频率(以某些应用程序特定的方式)。
答案 1 :(得分:0)
这是一个值得称赞的目标,取决于您的硬件最近的实际情况。我不认为你可以为旧硬件做很多事情。我也不认为优化逻辑切换(以最大限度地减少漏电流?)除非你的程序非常简单且非常小,否则会让你感觉很好。你做过任何验证可以获得显着收益的实验吗?
如果您使用更多现代硬件,就处理器和外围设备而言,您可以创建一个可以优化电源的编译器。现代处理器和外围设备具有节能状态。您可以重写代码以利用这些状态并显着降低能耗。此外,您还必须考虑您的环境。虽然针对嵌入式市场的移动处理器(如手机)在处理闲置时间内降低处理器能耗方面取得了重大进展,但该处理器仍是主要的能源消耗大。
我正在发表关于如何编写软件应用程序以提高能效的主题演讲。我无法将它传递给你,因为它尚未发布。我希望在接下来的几个月里写一系列关于同一主题的博客。如果你想在英特尔软件网站上找我,我已经完成了关于软件和能源效率的其他着作。作为一个警告,我的大部分与能源相关的工作都是在英特尔GP和HPC处理器上。这些原则仍适用于英特尔移动处理器和针对移动和低功耗嵌入式市场的其他现代处理器架构。