在過去的幾年中,人們越來越關注在嵌入式開發中各種設備的功耗。這通常是因為設備是由電池供電的,人們關注的是如何最大限度地利用充電。然而,環境壓力意味著主電源供電設備需要盡可能降低功耗。從歷史上看,功耗一直被認為是硬件設計師的職責范圍,但情況已不再如此…
硬件設計對功耗有重要意義;它設置設備將消耗的最小功率。軟件的任務是將功耗盡可能降低到接近此最低水平。在選擇軟件IP組件(如操作系統)時,開發人員還需要考慮電源。
在考慮操作系統選擇對功耗的影響時,有兩大因素:運行效率、電源管理設施。
1. 運行效率
從功耗的角度來看,操作系統的效率是兩個因素的函數,有時是相反的因素。內存占用越小,所需內存越少;更少的內存意味著更少的功率。操作系統的速度——即執行操作所需的機器周期數——更為重要。根據第一近似值,可以認為每個機器循環使用一定量的能量,因此循環次數越少意味著功率越小。有研究表明,CPU在執行特定任務時所消耗的電量會因操作系統而異。
2. 電源管理設施
正確設計的硬件為軟件提供了對許多因素的控制,特別是CPU頻率/電壓、打開/關閉外圍設備以及使用低功耗CPU模式。操作系統是應用程序代碼和硬件之間的一層,因此以電源管理框架的形式將控制軟件定位在那里是合乎邏輯的。在嵌入式開發中,軟件“知道”它需要什么資源[外圍設備、CPU性能等],并可以通過API將其與操作系統進行通信,從而優化設備的功耗或“能量足跡”。