李 坤
杭州鴻泉物聯(lián)網(wǎng)技術股份有限公司 浙江 杭州310030
現(xiàn)階段,嵌入式系統(tǒng)的應用較為廣泛,在科學技術領域以及日常生產生活中均有涉及,其自身嵌入式特性,通常情況下人們并不會注意到,在實際研究中,嵌入式系統(tǒng)屬于較為復雜的研究領域,其研究時長不短,但定義依然缺乏統(tǒng)一的標準。通常情況下是根據(jù)應用層面進行解讀,在系統(tǒng)應用中使用較為常見的定義是將特定應用作為中心,將計算機技術作為基礎,在系統(tǒng)中的軟件以及硬件設備需要結合實際需求,增加或者是減少,形成在功耗、安全性等方面滿足計算機應用需求的系統(tǒng)。
嵌入式系統(tǒng)中存在兩大部分,也就是嵌入式硬件與嵌入式軟件,因此研究系統(tǒng)的功耗問題需要從這兩部分入手。首先,嵌入式硬件是整體系統(tǒng)運行的基礎部分,因此使用的低功耗軟件技術需要硬件部分的幫助和支持。在嵌入式系統(tǒng)運行過程中,主要硬件構成有嵌入式微處理器以及外圍設備等,前者屬于系統(tǒng)的核心部分,在系統(tǒng)使用初期階段,低功耗優(yōu)化技術主要實施部分是硬件,因此,這一技術在硬件層次上較為成熟,其低功耗優(yōu)化技術產品在市場上較為常見[1]。
硬件層次部分使用的低功耗技術主要工藝有電路級以及微結構優(yōu)化,優(yōu)化級別具有層次性,主要是從低級到高級。現(xiàn)階段,由于技術水平不斷提高,硬件層次使用的低功耗優(yōu)化技術發(fā)展相較于其他技術來說,速度較慢,但研究其優(yōu)化技術發(fā)展,硬件層次依然在整體系統(tǒng)優(yōu)化技術上發(fā)揮基礎性作用。
嵌入式系統(tǒng)在實際應用中,低功耗問題一直是系統(tǒng)中的重點問題,實現(xiàn)其有效設計,也是系統(tǒng)中的難點問題,設計人員需要在整體設計過程中分析不同的影響因素,保證綜合性,以此降低功耗。在硬件層次上需要使用低功耗優(yōu)化方式,實現(xiàn)系統(tǒng)有效優(yōu)化,在軟件層次上也要設計相應的嵌入式軟件。系統(tǒng)自身特點影響,嵌入式系統(tǒng)中的軟件基本是處于固化狀態(tài),因此軟件部分也是優(yōu)化技術中難以替代的部分。嵌入式系統(tǒng)中的軟件功耗問題是整體系統(tǒng)中的重要組成部分,設計人員需要依靠平臺,在開發(fā)過程中創(chuàng)新低功耗軟件,保證硬件層次與軟件層次的同時優(yōu)化,降低系統(tǒng)功耗。
(一)循環(huán)優(yōu)化過程。通常情況下,編譯優(yōu)化過程在性能提高同時,實現(xiàn)功耗降低主要致力于兩方面,其一是優(yōu)化縮短執(zhí)行時間,對功耗降低具有重要作用;其二是優(yōu)化措施對功耗降低也會產生一定弊端,在指令開發(fā)過程中,存在大多數(shù)優(yōu)化,會增加單位時間損傷的功耗問題。實際功耗優(yōu)化過程中,需要平衡性能與功耗之間的關系。實施高層循環(huán)優(yōu)化措施以及低層循環(huán)優(yōu)化,對功耗會產生相應影響,因此不能僅僅局限于單一優(yōu)化功能作用,需要保持綜合性的目光看待優(yōu)化。分析指令級功能優(yōu)化過程中,一部分方法是從編譯過程獲得的,降低軟件整體功耗問題,使用的低功耗編譯技術是選擇低功能指令取代高功能指令,以此提高整體編譯效果。
循環(huán)開展優(yōu)化可以發(fā)掘不同部分之間的指令級,實現(xiàn)有效并行,降低循環(huán)控制中語句的執(zhí)行次數(shù),實現(xiàn)語句跳轉,縮短整體執(zhí)行時間,對功耗降低具有重要作用。軟件使用過程中,實現(xiàn)流水過程,也能夠縮短執(zhí)行時間,降低功耗。經(jīng)過相關實驗研究,軟件流水可對功耗產生的影響在一定程度上與高層循環(huán)變化具有聯(lián)系,產生依賴作用。高層優(yōu)化方法可以選擇循環(huán)置換以及循環(huán)分塊等,降低功耗,有效優(yōu)化之后能夠縮短整體執(zhí)行時間。
(二)內聯(lián)優(yōu)化過程。編譯過程中,并不是指單一過程循環(huán),可以選擇循環(huán)交換或者是循環(huán)合并方式,實現(xiàn)循環(huán)優(yōu)化,也可以移動語句或者是循環(huán)數(shù)組訪問下標對齊等方式。在不同優(yōu)化過程中,使用調用連接可以依據(jù)相應的標準優(yōu)化。這一過程需要保存現(xiàn)場,變量以及內容均需保存,實現(xiàn)PC跳轉,消耗一定能量。使用內聯(lián)方式消除這一部分的功耗,但并不需要所有的過程都直接使用內聯(lián)方式,需要制定相應的標準,在實際使用中,內聯(lián)方式的不合理性會造成代碼數(shù)量的增加,對系統(tǒng)中的程序讀取環(huán)節(jié)增加功耗。使用功耗的標準:
首先調用過程中,其頻率較高,實施內聯(lián)后單個過程也不會超過相應指令大小,具有較為明顯的降低現(xiàn)象,在現(xiàn)場保存以及恢復過程中會發(fā)生相應的損耗,有效降低相應功耗;在過程中調用次數(shù)較少會直接內聯(lián),存在一次或者是兩次,根據(jù)具體程序調整少數(shù)定義;在調用過程中,代碼量較少情況下,使用調用或者是返回指令現(xiàn)場保存時間相比于調用本身,占用空間較大[2]。
嵌入式設備不斷發(fā)展進步,其中較為主要的功耗問題對系統(tǒng)產生較為嚴重的制約作用,需要不斷降低系統(tǒng)性能或者是在較少系統(tǒng)損耗情況下,提高功耗優(yōu)化研究價值。通過軟件層次、硬件層次分析功耗的不同研究方向,結合相應影響因素,提出可行性評價,在編譯優(yōu)化角度中,實現(xiàn)高級語言與低級語言的編譯,選擇相應低功耗指令以及循環(huán)優(yōu)化,有效降低系統(tǒng)功耗。