影響高性能DSP功耗的因素及其優(yōu)化方法
另外,1.2GHz目前幾乎是DSP速度的上限,主要原因還是功耗的限制。更高速度DSP所帶來(lái)的高功耗的負(fù)面影響已超過了其在性能方面帶來(lái)的好處?;谶@個(gè)原因,現(xiàn)在普遍采用的提高DSP性能的技術(shù)是在單芯片內(nèi)集成更多的核,而不是單純提高單核的運(yùn)行速度。
影響DSP功耗的因素
數(shù)字電路的功耗不外乎兩種:一種是動(dòng)態(tài)功耗,消耗于邏輯的轉(zhuǎn)換;另一種是靜態(tài)功耗,由于CMOS晶體管存在的各種泄漏造成。對(duì)于較老的DSP,或者說(shuō)基于大于130nm工藝的DSP,靜態(tài)功耗可以忽略不計(jì);但隨著工藝不斷精微,靜態(tài)功耗所占的比例越來(lái)越大。對(duì)于最新的基于65nm工藝的DSP,靜態(tài)功耗所占的比例達(dá)到50%左右。
靜態(tài)功耗
另外,靜態(tài)功耗也受DSP工作溫度的影響,隨著工作溫度上升,靜態(tài)功耗呈指數(shù)級(jí)上升,這使得靜態(tài)功耗在總功耗中所占的比例進(jìn)一步提高。另外,值得注意的是,溫度升高會(huì)增加功耗,而功耗增加又使芯片溫度進(jìn)一步升高,溫度和功耗這種互相助長(zhǎng)的特性使得DSP散熱系統(tǒng)的設(shè)計(jì)顯得更為重要。
動(dòng)態(tài)功耗
當(dāng)門發(fā)生邏輯狀態(tài)轉(zhuǎn)換并產(chǎn)生內(nèi)部結(jié)點(diǎn)充電所需的開關(guān)電流以及P通道及N通道同時(shí)暫態(tài)開啟引起直通電流時(shí),就會(huì)出現(xiàn)動(dòng)態(tài)功耗。通過以下公式可以估算其近似值:
P=Cpd? F? Vcc2
其中,Cpd為動(dòng)態(tài)電容,F(xiàn)為開關(guān)頻率,Vcc為電源電壓。上述關(guān)系中包含兩個(gè)重要概念:動(dòng)態(tài)功耗與開關(guān)頻率呈線性關(guān)系,與電源電壓呈二次關(guān)系。圖1列出了TMS320C6455在不同工作頻率下的典型功耗。
另外,最大安全開關(guān)頻率往往取決于電源電壓,所以這兩者是相互關(guān)聯(lián)的。以TMS320C6455為例,當(dāng)工作頻率小于或等于850MHz時(shí),其要求的核電壓為1.2V;而當(dāng)工作頻率大于850MHz時(shí),其核電壓必須為1.25V。
DSP功耗優(yōu)化方法
靜態(tài)功耗主要取決于芯片的設(shè)計(jì)和工藝。而實(shí)際應(yīng)用中可采取的主要優(yōu)化方法是控制溫度。常見的散熱方法包括散熱片和風(fēng)扇。對(duì)于高功耗DSP,散熱片是低成本而且有效的散熱方式;而風(fēng)扇的使用則需要仔細(xì)考慮更多的因素,如風(fēng)扇的尺寸,位置,成本及可靠性等等。
優(yōu)化動(dòng)態(tài)功耗的方法則比較多。在不影響系統(tǒng)性能的前提下,通過降低電壓和頻率就可能大大降低動(dòng)態(tài)功耗。不過,降低CPU時(shí)鐘速率也會(huì)成比例地延長(zhǎng)執(zhí)行該任務(wù)集的時(shí)間,因此必須仔細(xì)分析應(yīng)用以確保滿足其實(shí)時(shí)需求。
電壓的調(diào)節(jié)需要特殊的可配置電源的支持,這可能會(huì)增加系統(tǒng)的成本;頻率的調(diào)節(jié)則可利用DSP內(nèi)部自帶的可編程PLL來(lái)實(shí)現(xiàn),配置不同的倍頻系數(shù)即可得到不同的頻率。為了實(shí)現(xiàn)電壓/頻率的調(diào)節(jié),DSP上的軟件需要實(shí)時(shí)監(jiān)控DSP的負(fù)載,根據(jù)負(fù)載選擇功耗最小而又能滿足實(shí)時(shí)處理要求的電壓/頻率配置。
在DSP電壓/頻率一定的情況下,DSP動(dòng)態(tài)功耗還受DSP使用率的影響。通??刹捎靡韵路椒▉?lái)降低DSP使用率。
1. 關(guān)閉不需要或暫時(shí)不使用的外設(shè)。例如,TMS320C6455 DSP上,所以的外設(shè)模塊的時(shí)鐘都可以通過軟件關(guān)閉或打開。
2. 空閑時(shí),將DSP置于低功耗或睡眠模式。例如,在TMS320C6455 DSP上可以通過執(zhí)行IDLE指令來(lái)實(shí)現(xiàn)。處于IDLE狀態(tài)的DSP可被任何中斷事件喚醒。因此,在等待處理數(shù)據(jù)時(shí),為了節(jié)省功耗,應(yīng)避免采用查詢方式,而采用IDLE與中斷結(jié)合的方式。
3. 不訪問存儲(chǔ)器時(shí)將其置于低功耗或睡眠模式。例如,TMS320C6455 DSP上,所有片內(nèi)存儲(chǔ)器都可通過軟件使其處于低功耗模式,而任何對(duì)內(nèi)存的訪問又可使其自動(dòng)恢復(fù)到正常工作模式。外部擴(kuò)展SDRAM也支持自刷新模式以節(jié)省功耗。
為了更進(jìn)一步降低DSP功耗,還有一些細(xì)節(jié)值得注意。
1. 充分利用Cache或其它技術(shù)減少存儲(chǔ)器的訪問。例如,TMS320C6455的SPLOOP Buffer和16-bit壓縮指令可以減少代碼的大小及訪問頻率。訪問外部擴(kuò)展存儲(chǔ)器的功耗往往比訪問內(nèi)部存儲(chǔ)器高得多,盡量將頻繁訪問的數(shù)據(jù)放在片內(nèi),以減少外部存儲(chǔ)器的訪問。另外,外部SDRAM往往基于突發(fā)(Burst)的方式訪問,即使你只需要一個(gè)字節(jié),存儲(chǔ)器也可能會(huì)存取8個(gè)字,所以對(duì)SDRAM的要盡量采用連續(xù)大塊的訪問方式。
2. 優(yōu)化軟件,減小程序大小從而減少存儲(chǔ)器的訪問,減少代碼執(zhí)行時(shí)間從而降低DSP使用率。
3. 某些不用的DSP管腳允許被懸空,但通過合適的上拉或下拉將其置于確定的電平可減少由于狀態(tài)不確定而導(dǎo)致的漏電流?! ?BR>4. 某些用于調(diào)試目地的信號(hào)管腳,如TMS320C6455的輸出時(shí)鐘,在調(diào)試完成后可將其關(guān)閉。
評(píng)論