在过去的几年中,人们越来越关注在嵌入式开发中各种设备的功耗。这通常是因为设备是由电池供电的,人们关注的是如何最大限度地利用充电。然而,环境压力意味着主电源供电设备需要尽可能降低功耗。从历史上看,功耗一直被认为是硬件设计师的职责范围,但情况已不再如此…
硬件设计对功耗有重要意义;它设置设备将消耗的最小功率。软件的任务是将功耗尽可能降低到接近此最低水平。在选择软件IP组件(如操作系统)时,开发人员还需要考虑电源。
在考虑操作系统选择对功耗的影响时,有两大因素:运行效率、电源管理设施。
1. 运行效率
从功耗的角度来看,操作系统的效率是两个因素的函数,有时是相反的因素。内存占用越小,所需内存越少;更少的内存意味着更少的功率。操作系统的速度——即执行操作所需的机器周期数——更为重要。根据第一近似值,可以认为每个机器循环使用一定量的能量,因此循环次数越少意味着功率越小。有研究表明,CPU在执行特定任务时所消耗的电量会因操作系统而异。
2. 电源管理设施
正确设计的硬件为软件提供了对许多因素的控制,特别是CPU频率/电压、打开/关闭外围设备以及使用低功耗CPU模式。操作系统是应用程序代码和硬件之间的一层,因此以电源管理框架的形式将控制软件定位在那里是合乎逻辑的。在嵌入式开发中,软件“知道”它需要什么资源[外围设备、CPU性能等],并可以通过API将其与操作系统进行通信,从而优化设备的功耗或“能量足迹”。
发表评论 取消回复