假设嵌入式环境具有DSP内核(任何其他处理器内核)。
如果我有一些代码用于某些应用程序/功能,这些代码/功能被优化为从Cycles消费(MCPS)的观点来看最好的一个,它也是一个代码,从功耗的角度来看最好真实硬件系统中的代码?
是否可以保证针对最小MCPS优化的代码具有最低功耗?
我知道这里有许多方面需要考虑,例如底层处理器的架构和硬件系统(内存,总线等)。
答案 0 :(得分:1)
如果不在电路板和电源之间放置一个灵敏的电流表并记录所吸取的电流,很难说清楚。我的方法是测试各种现实场景的假设,而不是使用支持文档。
答案 1 :(得分:1)
不,最低周期数不能保证最低功耗。
这是一个很好的指示,但你没有考虑到内存总线活动也消耗了相当多的功率。
如果您将经常需要的数据移动到内部存储器(片上RAM),您的代码可能会有更高的周期数但功耗更低。这不会增加算法的循环次数,但是将数据移入和移出内部存储器会增加循环次数。
如果您的系统具有缓存和内部存储器,请优化以获得最佳缓存利用率。
答案 2 :(得分:0)
这不是一个直接的答案,但我认为这篇论文(来自this answer)很有意思:Real-Time Task Scheduling for Energy-Aware Embedded Systems。
据我所知,它试图在处理器的低功耗状态下运行每项任务,除非它无法在没有高功率的情况下满足截止日期。因此,在这样的方案中,更节省时间的代码(更少的周期)应该允许处理器花费更多的时间进行节流。