<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何在A(yíng)RM平臺上開(kāi)發(fā)低功耗的軟件系統

如何在A(yíng)RM平臺上開(kāi)發(fā)低功耗的軟件系統

作者: 時(shí)間:2012-06-21 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:在強調便攜式設備的電池壽命時(shí),看起來(lái)比較奇怪是,很少有軟件工程師在其日常項目任務(wù)中真正做到了減少能耗。我猜想對這個(gè)課題有所想法的那些人可能都是本著(zhù)榮辱自擔的想法才關(guān)注此課題的。我們到了要做些改變的時(shí)期。隨著(zhù)電池壽命和性能要求的矛盾持續,我們作為軟件工程師不得不要用更多時(shí)間來(lái)找出才能以節能方式來(lái)設計和編寫(xiě)我們的軟件,至少在工具能滿(mǎn)足我們要求之前需要這樣做。

本文引用地址:http://dyxdggzs.com/article/148887.htm

我們這些軟件工程師都熱衷于為我們遇到的問(wèn)題找出完美的解決方案。但奇怪的是,我們會(huì )發(fā)現在這個(gè)特定的領(lǐng)域,沒(méi)有一個(gè)完美的解決方案。聰明的技巧可能會(huì )節省一些功率,但是這個(gè)領(lǐng)域是由其他更簡(jiǎn)單的因素支配的。就象房間里有幾頭很大的大象,我們必須要先小心翼翼地獵取我們可以看到的大象,然后再花精力去獵捕體型小的動(dòng)物。

在考量某個(gè)系統的時(shí),重要的是要弄清楚我們實(shí)際測量的對象是什么。我們說(shuō)的“節省”可能意味著(zhù)幾個(gè)方面。它意味著(zhù)“功率”還是“能量”。實(shí)際上,我們既需要功率也需要能量。大多數手持便攜式設備均具有以下兩個(gè)不同的預算:功率預算——它管理著(zhù)瞬間、避免過(guò)熱或產(chǎn)生熱應力,而能量預算則管理著(zhù)長(cháng)期使用的能量總數。而軟件則需要滿(mǎn)足短期的功率預算和長(cháng)期的能量預算。

很明顯,我們可以把任何設備的功耗降低到接近零,只要不讓它做任何操作或任何有意義的操作即可!不得已的是,實(shí)現有用的功能就需要耗費能量。因此,我們只能在有意義的操作和節能二者中不斷采取折衷方案。為了實(shí)現所需的功能,我們必須耗能;但我們必須盡量確保以節能的方式來(lái)實(shí)現這些功能。

功耗時(shí)間積 有關(guān)該主題的學(xué)術(shù)材料中常用的更好度量方式是采用“功耗時(shí)間積”。盡管既沒(méi)有標準單位也沒(méi)有具體方法,但是這種度量方式將能耗和性能度量結合到了一起。增加能耗或降低性能會(huì )增加功耗時(shí)間積的值,因此我們的目標是找出最低的可接受的功耗時(shí)間積的值,換句話(huà)說(shuō),最低的能耗要與允許的時(shí)間內所需任務(wù)的執行保持一致。

能量去哪兒了? 所有計算器械均會(huì )執行兩個(gè)基本功能。這兩個(gè)功能都是必需的,沒(méi)有這兩個(gè)功能就不能完成任何有意義的任務(wù)。

我們首先想到的自然是計算或數據處理。通常,計算是對機器寄存器中保存的值實(shí)施的操作。為了盡可能高效地實(shí)施計算任務(wù),我們需要在最短的時(shí)間內執行最少的指令。最重要的是,高效計算允許以下二選一:要么我們可以早點(diǎn)完成計算去睡覺(jué),要么我們調慢時(shí)鐘且仍然在規定時(shí)間內完成計算任務(wù)。

這里經(jīng)常被人忽視的是數據通信(數據移動(dòng))。在大多數架構中(A R M采用加載/存儲架構,也不例外),數據移動(dòng)是必需的。如果不將信息從一個(gè)位置移動(dòng)到另一個(gè)位置且經(jīng)常返回原來(lái)的位置,用戶(hù)就無(wú)法處理任何信息。例如,內存中的值需要移動(dòng)到寄存器中進(jìn)行處理,然后把結果寫(xiě)回到內存中。

但是哪個(gè)耗用的能量更多呢?最大的償付在哪兒?

圖1顯示了普遍存在的事實(shí),與程序有關(guān)的內存存取操作中有大約60%是指令抓取,另外40%才是數據存取。

圖1:內存存取分布

圖2:內存存取能耗

圖2顯示了A R M進(jìn)行的一些研究。如果執行一條指令的能耗是1,那么,緊耦合存儲器(TCM)存取的能耗約為1/25,緩存存取的能耗大約為1/6。而外部R A M存取的能耗則是指令執行能耗的7倍。

換言之,對于每次外部R A M存取所用的能耗,我們可以執行7條指令,40次緩存存取或大約170次TCM存取。

計算廉價(jià)但通信昂貴

因此,似乎數據移動(dòng)要比數據處理更昂貴。因此,第一頭大象就是數據效率。

我們可以為內存存取的能耗管理提出兩個(gè)規則。

近距離 - 從能量角度講,內存越靠近核心,訪(fǎng)問(wèn)內存的相對能耗越低。

少存取 - 減少內存存取次數比減少指令數量更加重要。

充分利用片上存儲器

從我們的能量圖可以清楚地看出,TCM是到目前為止系統具有的最高效存儲器類(lèi)型。不是所有的系統均具有A R M稱(chēng)為T(mén)CM的存儲器(通過(guò)專(zhuān)用和優(yōu)化的接口連接到內核),但是大部分系統至少具有某種片上快速存儲器類(lèi)型。為了便于討論,我們指的是常見(jiàn)的片上存儲器(SPM)。假定S PM單次存取能耗大約是外部R A M存取能耗的1/170,充分利用這種SPM存儲器應該是首選。

圖3:SPM的能量?jì)?yōu)勢

圖3中的圖表顯示了簡(jiǎn)單的“多類(lèi)”基準,甚至128個(gè)字節的S PM區域都可以減少大約一半的功耗。1k字節的存儲器最大可減少70%的功耗。本次研究(Mar wedel, 2004)中采用的方法是從外部R AM到S PM動(dòng)態(tài)重定位代碼和數據片段。甚至在按需移動(dòng)各項開(kāi)銷(xiāo)方面,不僅降低了能耗,性能也提高了大約60%。

很顯然,我們在某個(gè)點(diǎn)上正在損失回報。這種情況下,S PM超過(guò)1k時(shí),性能提升幅度變緩,系統總能耗也會(huì )稍微升高。在這里,我們實(shí)際上在承擔這種特定應用無(wú)法使用的S P M能耗,因為這種應用程序本身并不夠大。

您還可以注意到,在結合了所使用的分配算法時(shí),這種特定的應用無(wú)法使用小于64字節的S P M區域,因為沒(méi)有足夠小的可用片段與之相配。本次研究中還展示了一個(gè)更加成熟的算法,可以在最佳狀況下節省能耗可以超過(guò)80%。

永遠做緩存友好的事

分析緩存優(yōu)點(diǎn)有時(shí)可能比分析S PM優(yōu)點(diǎn)更加復雜。一方面,緩存基本上是自我管理的。另一方面,緩存不是對單個(gè)存儲位置進(jìn)行操作,而是對固定大小的“線(xiàn)路”進(jìn)行操作。因此,訪(fǎng)問(wèn)單個(gè)可緩存的存儲位置可能加載整條線(xiàn)路,從而造成突發(fā)的內存存取。如果該附加的數據從未被訪(fǎng)問(wèn)過(guò),則所消耗的能量就浪費了。

另一個(gè)不利之處是緩存所需的其他邏輯成本(就硅片面積和功耗而言)。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>