在低功耗特性中,軟件可能實(shí)現(xiàn)起來(lái)并沒(méi)有那么難,從設(shè)計(jì)到實(shí)現(xiàn)的時(shí)間可能并不會(huì)耗時(shí)特別長(zhǎng),耗時(shí)最長(zhǎng)的是后續(xù)的商用問(wèn)題定位以及對(duì)功耗的優(yōu)化,這些都是建立在一定的實(shí)戰(zhàn)基礎(chǔ)上才能做的越來(lái)越好,在這里推薦幾種比較常用的優(yōu)化或者定位問(wèn)題的手段供大家參考,希望能給大家?guī)?lái)一些幫助。
圖:低功耗軟件棧組成
19.1多子系統(tǒng)配置
比如某一個(gè)公共外設(shè),如果多個(gè)子系統(tǒng)共用的話,在芯片設(shè)計(jì)上建議每個(gè)子系統(tǒng)各放置一個(gè),這樣一可以節(jié)省系統(tǒng)運(yùn)行過(guò)程中的訪問(wèn)帶寬,二可以做好訪問(wèn)隔離,盡可能的降低了芯片通路訪問(wèn)的復(fù)雜性和軟件設(shè)計(jì)的復(fù)雜性。
我們通過(guò)一個(gè)例子來(lái)說(shuō)明一下:比如在一個(gè)系統(tǒng)中,只有一個(gè)DMA,存放在公共外設(shè)區(qū)(peri),這個(gè)時(shí)候如果AP需要訪問(wèn)DMA的話,那么它需要先經(jīng)過(guò)自己系統(tǒng)的SUB BUS總線,再通過(guò)SYS BUS總線訪問(wèn)到外設(shè)區(qū)的DMA;如圖19-1所示。
圖19-1 DMA部署優(yōu)化前布局示意
如BP需要訪問(wèn)DMA的話,那么它也需要先經(jīng)過(guò)自己系統(tǒng)的SUB BUS總線,再通過(guò)SYS BUS總線訪問(wèn)到外設(shè)區(qū)的DMA;如此這般,其他子系統(tǒng)都是同樣的訪問(wèn)路徑。在這樣的情況下,有2個(gè)缺點(diǎn):一是訪問(wèn)路徑過(guò)遠(yuǎn)增加了總線的繁忙程度,可能導(dǎo)致訪問(wèn)延時(shí);二是可能存在資源競(jìng)爭(zhēng)的發(fā)生,比如AP、BP或其他子系統(tǒng)同時(shí)訪問(wèn)的話,可能需要做仲裁處理。
那么針對(duì)這種情況,我們可以做個(gè)優(yōu)化,就是把DMA在每個(gè)子系統(tǒng)內(nèi)部的device區(qū)各放置一個(gè),如圖19-2所示,各個(gè)CPU需要使用DMA時(shí),只用訪問(wèn)自己內(nèi)部的DMA即可,這樣可以很好的化解前邊說(shuō)的2個(gè)缺點(diǎn)。為什么說(shuō)這樣設(shè)計(jì)也可以做到功耗優(yōu)化呢?試想如果AP側(cè)沒(méi)有這個(gè)DMA,那么在AP側(cè)喚醒而其他子系統(tǒng)都睡眠的情況下,AP側(cè)如果要訪問(wèn)DMA,勢(shì)必需要給其他子系統(tǒng)上電,從而帶來(lái)功耗的浪費(fèi),而如果AP子系統(tǒng)內(nèi)部本身就有DMA的話就沒(méi)有必要給其他子系統(tǒng)上電。這個(gè)思想當(dāng)然可以用在任何IP的歸置上,需要根據(jù)實(shí)際的設(shè)計(jì)場(chǎng)景做對(duì)應(yīng)的優(yōu)化。
圖19-2 DMA部署優(yōu)化后布局示意
19.2并行處理
低功耗比較敏感的一個(gè)KPI是suspend和resume的時(shí)間,因?yàn)榈凸氖窍到y(tǒng)中的一個(gè)常態(tài),這一塊的處理時(shí)間當(dāng)然是越短越好,這樣可以讓用戶(hù)體驗(yàn)更流暢。一個(gè)好的思想是讓處理盡可能的并行起來(lái),比如在suspend和resume的流程中,有一長(zhǎng)段地址空間需要保存恢復(fù),那么如果是用CPU的話,效率是十分低下的,這個(gè)時(shí)候我們可以使用DMA來(lái)搬移數(shù)據(jù),同時(shí)CPU繼續(xù)處理低功耗處理的其他流程,在合適的點(diǎn)來(lái)檢查DMA的搬移狀態(tài)。我們可以通過(guò)以下例子來(lái)說(shuō)明。
在suspend流程中,PD MEM中的內(nèi)容我們使用CPU來(lái)做下電前的保存動(dòng)作,如圖19-3所示,把內(nèi)容保存到DDR中,耗時(shí)T1,其他suspend處理耗時(shí)為T(mén),那么suspend總耗時(shí)為T(mén)+T1,T1時(shí)長(zhǎng)與PD MEM的大小強(qiáng)相關(guān),越大耗時(shí)越長(zhǎng)。
圖19-3使用DMA搬移前
那么關(guān)于大內(nèi)存保存恢復(fù)這一塊,其實(shí)我們可以做一個(gè)優(yōu)化,那就是不使用CPU進(jìn)行處理,我們使用DMA去做搬移,CPU去做其他的suspend動(dòng)作,那么T1這個(gè)耗時(shí)就可能會(huì)省下來(lái),總耗時(shí)為T(mén),從而達(dá)到時(shí)長(zhǎng)優(yōu)化的目的。如圖19-4所示。
圖19-4使用DMA搬移后
前邊講了suspend流程的并行處理優(yōu)化思想,對(duì)于resume流程來(lái)講,同樣適用,就不再做過(guò)多闡述。
19.3增加打點(diǎn)信息
因?yàn)樵诘凸牧鞒讨校瑫?huì)涉及到關(guān)閉時(shí)鐘或者關(guān)閉電源等操作,很多debug工具是無(wú)法使用的,一個(gè)好的手段是在內(nèi)存中劃分一片區(qū)域?qū)iT(mén)用來(lái)給低功耗流程打點(diǎn)使用,打入數(shù)據(jù)通常是系統(tǒng)中遞增的時(shí)間戳,這樣有2個(gè)好處:一是可以方便查看各個(gè)階段的耗時(shí),二是可以根據(jù)時(shí)間戳的遞增特性來(lái)快速的定位到哪一步出了異常。如圖19-5所示。
審核編輯 :李倩
-
cpu
+關(guān)注
關(guān)注
68文章
10911瀏覽量
213150 -
soc
+關(guān)注
關(guān)注
38文章
4212瀏覽量
219196 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3064瀏覽量
74383 -
低功耗
+關(guān)注
關(guān)注
10文章
2422瀏覽量
103917 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
101028
原文標(biāo)題:SoC低功耗問(wèn)題定位及優(yōu)化的10個(gè)思路
文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
SoC低功耗設(shè)計(jì)
行業(yè)最低功耗藍(lán)牙SoC NCV-RSL10有什么優(yōu)勢(shì)?
基于Kemet PL-N823-01和OnSemi RSL10藍(lán)牙低功耗SoC
【書(shū)籍評(píng)測(cè)活動(dòng)NO.19】 SoC底層軟件低功耗系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《SoC底層軟件低功耗系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》基于Linux專(zhuān)門(mén)講解軟件低功耗框架和設(shè)計(jì)的書(shū)籍
《SoC底層軟件低功耗系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》閱讀筆記
SoC的低功耗設(shè)計(jì)
如何選擇低功耗藍(lán)牙SoC
![如何選擇<b class='flag-5'>低功耗</b>藍(lán)牙<b class='flag-5'>SoC</b>](https://file.elecfans.com/web1/M00/CB/89/o4YBAF-SdkqADVW0AAEKvbJlwjw004.png)
DSP不同層次的低功耗設(shè)計(jì)研究思路綜述
![DSP不同層次的<b class='flag-5'>低功耗</b>設(shè)計(jì)研究<b class='flag-5'>思路</b>綜述](https://file.elecfans.com/web1/M00/EA/C8/pIYBAGB1W3WADgBuAAAZUYEO4MA823.png)
STM32芯片超低功耗設(shè)計(jì)思路
![STM32芯片超<b class='flag-5'>低功耗</b>設(shè)計(jì)<b class='flag-5'>思路</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
BlueNRG-LP支持128個(gè)并發(fā)連接的藍(lán)牙低功耗SoC
![BlueNRG-LP支持128<b class='flag-5'>個(gè)</b>并發(fā)連接的藍(lán)牙<b class='flag-5'>低功耗</b><b class='flag-5'>SoC</b>](https://file.elecfans.com/web2/M00/43/17/pYYBAGJ8cIiAV57ZAAN-E0ObSGg276.png)
超低功耗MCU的選型技巧與設(shè)計(jì)思路
功耗優(yōu)化的片上系統(tǒng)(SoC)解決方案,引領(lǐng)低功耗藍(lán)牙與2.4GHz應(yīng)用新潮流
![<b class='flag-5'>功耗</b><b class='flag-5'>優(yōu)化</b>的片上系統(tǒng)(<b class='flag-5'>SoC</b>)解決方案,引領(lǐng)<b class='flag-5'>低功耗</b>藍(lán)牙與2.4GHz應(yīng)用新潮流](https://file1.elecfans.com/web2/M00/C8/6C/wKgaomYUruyAbiUuAAFc2Db0CXY031.png)
評(píng)論