linux时钟与电源管理,SOC的时钟和电源管理
SOC的時(shí)鐘和電源管理
(2013-04-27 18:58:07)
標(biāo)簽:
it
dm3730
時(shí)鐘
linux
電源
現(xiàn)在的SOC,因?yàn)槎嘤米鍪殖衷O(shè)備,所以在節(jié)省能源方面都不遺余力。我看原因到不是為了降低碳排放,而是為了讓一塊電池能夠用的時(shí)間更長(zhǎng)。當(dāng)然,這自然就減少了能源消耗。
節(jié)電的首要措施,當(dāng)然就是芯片本省的能耗,那么低壓運(yùn)行自然節(jié)省能耗,且不降低運(yùn)算能力!然而,越是低壓,對(duì)電路要求就越高,因?yàn)榇藭r(shí)0和1的差距就越小。
降低運(yùn)行時(shí)的時(shí)鐘頻率,也可以節(jié)省能耗。不幸的是,降低頻率將直接影響性能。因此,一般的設(shè)計(jì)都是在CPU比較空閑時(shí),降低頻率。這就開(kāi)始需要有軟件的配合了。
能夠通過(guò)軟件關(guān)閉某個(gè)當(dāng)前不被使用的部件的電源,是另外一個(gè)方法。現(xiàn)代SOC的硬件設(shè)計(jì),都是將芯片劃分為幾個(gè),甚至幾十個(gè)電源域(Domain)。每個(gè)域有自己的開(kāi)關(guān),軟件可以控制。一般的設(shè)計(jì),都存在一個(gè)永不斷電的域(只要主電源在供電),通常叫Wakeup域。處在這個(gè)域內(nèi)的部件,任何時(shí)候都在工作,以期探測(cè)到某個(gè)事件的發(fā)生,喚醒其它模塊。就是打開(kāi)其它模塊的開(kāi)關(guān),重新開(kāi)啟它們。
降低能耗所采用的辦法里面,關(guān)閉時(shí)鐘或是改變時(shí)鐘頻率,是最復(fù)雜的手段。關(guān)閉時(shí)鐘,但是并不關(guān)閉電源!能耗也會(huì)比較明顯地降低,當(dāng)然不如直接關(guān)閉電源更節(jié)省,但是它有優(yōu)點(diǎn),恢復(fù)起來(lái)極快!因此,在時(shí)鐘極其管理這里,SOC都非常復(fù)雜。至少對(duì)于我這個(gè)只懂服務(wù)器的人來(lái)講如此。過(guò)去的服務(wù)器那里有能用軟件控制開(kāi)關(guān)時(shí)鐘的說(shuō)法?我是一無(wú)所知!
一塊單板(SOC)里面的所有時(shí)鐘,基本上構(gòu)成一顆樹(shù)。就是說(shuō)有一個(gè)或兩個(gè)外部驅(qū)動(dòng)時(shí)鐘,通過(guò)一些倍分運(yùn)算,最后生成很多時(shí)鐘信號(hào)。因?yàn)槊總€(gè)控制器,外設(shè),都需要一個(gè)或多個(gè)時(shí)鐘驅(qū)動(dòng)。例如Beagleboard-xm單板,采用兩個(gè)外部時(shí)鐘驅(qū)動(dòng):一個(gè)32KHz的低頻驅(qū)動(dòng),一個(gè)26MHz的高頻驅(qū)動(dòng)。而它所用的DM3730上的HS
USB控制器,需要六個(gè)時(shí)鐘驅(qū)動(dòng)。
每個(gè)時(shí)鐘,有一個(gè)信號(hào)源,做為它產(chǎn)生時(shí)鐘信號(hào)的基礎(chǔ)。也就是說(shuō),它有一個(gè)父時(shí)鐘。它還可能有個(gè)開(kāi)關(guān),以控制是否輸出時(shí)鐘信號(hào)。它還可能有一個(gè)倍頻和/或分頻(除)器,輸出特定(和父不同)的頻率信號(hào)。它也還可能有個(gè)旁路信號(hào)源,就是在它沒(méi)有設(shè)置完成(通常是剛啟動(dòng))時(shí),它直接輸出這個(gè)信號(hào)。當(dāng)然,這個(gè)旁路源,通常也就是它的基礎(chǔ)信號(hào)源。不過(guò)有個(gè)別時(shí)鐘,它有另外一個(gè)不同的旁路信號(hào)源!
SOC的每個(gè)外設(shè)用兩個(gè)時(shí)鐘驅(qū)動(dòng),是比較好的省電方案。一個(gè)負(fù)責(zé)驅(qū)動(dòng)接口,另外一個(gè)負(fù)責(zé)內(nèi)部工作。例如計(jì)數(shù)器,停止它的接口時(shí)鐘,它一樣在計(jì)數(shù),只是此時(shí)外部模塊(如CPU)無(wú)法讀到計(jì)數(shù)器內(nèi)容而已。只有停止了負(fù)責(zé)它內(nèi)部工作的時(shí)鐘,它才停止計(jì)數(shù)。當(dāng)然,也可以只有一個(gè)時(shí)鐘,既負(fù)責(zé)驅(qū)動(dòng)接口,也負(fù)責(zé)驅(qū)動(dòng)內(nèi)部工作。
Linux內(nèi)核里面有時(shí)鐘,和時(shí)鐘域的概念。我始終不能完全理解一個(gè)時(shí)鐘域。按照TI手冊(cè)定義,是共用一個(gè)時(shí)鐘開(kāi)關(guān)。那么每個(gè)帶有開(kāi)關(guān)功能(Gate)的時(shí)鐘和它的后代,就構(gòu)成一個(gè)時(shí)鐘域。但是這個(gè)理解有很大問(wèn)題,因?yàn)槭謨?cè)說(shuō),時(shí)鐘域不能跨電源域。但是按照有開(kāi)關(guān)的父時(shí)鐘這個(gè)定義上去,最后發(fā)現(xiàn)大家都屬于一個(gè)時(shí)鐘域了,因?yàn)榇蠹叶际潜荒硟蓚€(gè)外部時(shí)鐘的其中之一所驅(qū)動(dòng)。所以,我看不如干脆理解成一個(gè)電源域內(nèi)的所有時(shí)鐘就好了。
五一假期,沒(méi)有打算去哪里。看看能否將LINUX官方內(nèi)核在Beagleboard-xm上啟動(dòng)時(shí),USB報(bào)出的時(shí)鐘告警問(wèn)題解決。
分享:
喜歡
0
贈(zèng)金筆
加載中,請(qǐng)稍候......
評(píng)論加載中,請(qǐng)稍候...
發(fā)評(píng)論
登錄名: 密碼: 找回密碼 注冊(cè)記住登錄狀態(tài)
昵???稱:
評(píng)論并轉(zhuǎn)載此博文
發(fā)評(píng)論
以上網(wǎng)友發(fā)言只代表其個(gè)人觀點(diǎn),不代表新浪網(wǎng)的觀點(diǎn)或立場(chǎng)。
總結(jié)
以上是生活随笔為你收集整理的linux时钟与电源管理,SOC的时钟和电源管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安装linux18双系统,Win10 安
- 下一篇: agp接口常用于什么(Vivado使用心