spring|嵌入式开发:操作系统如何影响功耗?

spring|嵌入式开发:操作系统如何影响功耗?

在过去的几年中 , 人们越来越关注在嵌入式开发中各种设备的功耗 。 这通常是因为设备是由电池供电的 , 人们关注的是如何最大限度地利用充电 。 然而 , 环境压力意味着主电源供电设备需要尽可能降低功耗 。 从历史上看 , 功耗一直被认为是硬件设计师的职责范围 , 但情况已不再如此…

硬件设计对功耗有重要意义;它设置设备将消耗的最小功率 。 软件的任务是将功耗尽可能降低到接近此最低水平 。 在选择软件IP组件(如操作系统)时 , 开发人员还需要考虑电源 。
在考虑操作系统选择对功耗的影响时 , 有两大因素:运行效率、电源管理设施 。

1.运行效率
【spring|嵌入式开发:操作系统如何影响功耗?】从功耗的角度来看 , 操作系统的效率是两个因素的函数 , 有时是相反的因素 。 内存占用越小 , 所需内存越少;更少的内存意味着更少的功率 。 操作系统的速度——即执行操作所需的机器周期数——更为重要 。 根据第一近似值 , 可以认为每个机器循环使用一定量的能量 , 因此循环次数越少意味着功率越小 。 有研究表明 , CPU在执行特定任务时所消耗的电量会因操作系统而异 。
2.电源管理设施
正确设计的硬件为软件提供了对许多因素的控制 , 特别是CPU频率/电压、打开/关闭外围设备以及使用低功耗CPU模式 。 操作系统是应用程序代码和硬件之间的一层 , 因此以电源管理框架的形式将控制软件定位在那里是合乎逻辑的 。 在嵌入式开发中 , 软件“知道”它需要什么资源[外围设备、CPU性能等
, 并可以通过API将其与操作系统进行通信 , 从而优化设备的功耗或“能量足迹” 。