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