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