新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 數(shù)字語音解碼器的低功耗設(shè)計(jì)策略

數(shù)字語音解碼器的低功耗設(shè)計(jì)策略

作者: 時(shí)間:2010-09-10 來源:網(wǎng)絡(luò) 收藏

在本設(shè)計(jì)里主要根據(jù)SoC平臺(tái)的資源和指令集特點(diǎn),使用軟硬件協(xié)同設(shè)計(jì)方法在C代碼轉(zhuǎn)化為匯編代碼時(shí),通過分析標(biāo)準(zhǔn)C算法發(fā)現(xiàn),大部分循環(huán)和函數(shù)的調(diào)用存在冗余,頻繁的函數(shù)調(diào)用操作(壓棧出棧)占用了CPU的部分處理時(shí)間。在匯編代碼中可以通過循環(huán)展開以減少不必要的循環(huán)判斷,其基本原則的原始代碼為:普通的單循環(huán),一個(gè)周期執(zhí)行一次乘累加(MAC)指令,優(yōu)化后進(jìn)行了4次循環(huán)展開。在優(yōu)化后的代碼中,4個(gè)MAC被同時(shí)使用,并且在作乘累加時(shí),提取下次運(yùn)算的數(shù)據(jù),消除了流水線等待,充分應(yīng)用了硬件資源,提高了效率。除了循環(huán)展開,在某些情況下進(jìn)行循環(huán)合并也可提高效率。主要原因是每個(gè)循環(huán)體均需要有控制指令,減少循環(huán)的個(gè)數(shù)自然會(huì)減少控制指令的條數(shù)。注意兩個(gè)合并的循環(huán)必須有相同的循環(huán)數(shù)。
對(duì)于在代碼里多次用到的函數(shù),應(yīng)考慮用調(diào)用指令,這樣可以大大減少代碼的體積;而對(duì)于只調(diào)用少次的函數(shù),則宜嵌入主函數(shù)中,因?yàn)樗粌H可以減少傳參過程中的指令,而且可以減少調(diào)用函數(shù)的壓棧出棧操作。當(dāng)然,對(duì)于一些大而復(fù)雜的函數(shù),雖然它只被調(diào)用1次,但由于寄存器的數(shù)目有限,如果考慮直接嵌入主函數(shù),可能要頻繁地做push和pop操作,反而得不償失,這時(shí)就應(yīng)該用調(diào)用指令。
如果有些處理比較復(fù)雜,在整個(gè)解碼過程中運(yùn)算量大且耗時(shí)長,有必要設(shè)計(jì)相關(guān)硬件協(xié)處理器,通過匯編指令直接操作協(xié)處理器,既可以提高效率減少運(yùn)算量也有利于控制功耗,但成本會(huì)增加。這種處理方法在實(shí)時(shí)影響明顯的模塊尤其關(guān)鍵和有效。例如在MP3的解碼中,通過增加矩陣乘法器以提高子帶綜合濾波的處理速度,取得明顯效果:可減少運(yùn)算時(shí)間91%。這種軟硬件協(xié)同的設(shè)計(jì)手段在語音解碼器中多處用到。
在算法級(jí)中還涉及其他方面的低功耗設(shè)計(jì),如減少存儲(chǔ)器的存取次數(shù),縮短片選信號(hào)的寬度等方面的考慮,本設(shè)計(jì)也做了相應(yīng)的處理??偟恼f來,算法級(jí)的優(yōu)化設(shè)計(jì)在降低系統(tǒng)功耗方面潛力大,對(duì)降低整個(gè)語音解碼器的功耗具有重要意義。
1.3 結(jié)構(gòu)級(jí)低功耗設(shè)計(jì)策略
在結(jié)構(gòu)級(jí),降低功耗最重要的策略是利用并行處理或流水線技術(shù)。流水優(yōu)化后,還可以減少中間數(shù)據(jù)的讀取操作,且比串行處理對(duì)存儲(chǔ)器的讀取操作減少約50%,這對(duì)降低系統(tǒng)功耗大有裨益。
由于語音解碼的模塊較多,通過研究可以發(fā)現(xiàn),通過簡(jiǎn)單的消除數(shù)據(jù)相關(guān)后各模塊可以流水操作,減少了解碼的時(shí)間,從而降低實(shí)時(shí)處理的時(shí)鐘頻率;在多聲道語音處理中,可以使用多聲道并行處理,增加處理模塊以減少處理時(shí)間。在MP3解碼中,立體聲處理之后,左聲道的后續(xù)處理(混疊重建、IMDCT和子帶綜合濾波等)和右聲道的后續(xù)處理可以并行進(jìn)行,由于IMDCT(逆改進(jìn)離散余弦變換)和子帶綜合濾波是解碼中運(yùn)算量最大的部分,左右聲道的并行性幾乎可以把系統(tǒng)的處理時(shí)間減少一半。
為了提高處理速度,還可以挖掘耗時(shí)長的模塊的內(nèi)部并行處理潛力。例如在IMDCT處理是MP3和ACC語音處理中運(yùn)算量大耗時(shí)長的模塊??梢栽贗MDCT內(nèi)部放置2個(gè)乘法器,這樣可以同時(shí)運(yùn)算兩列數(shù)據(jù),速度提高1倍。
顯然通過增加硬件的模式提高處理速度并未減少運(yùn)算量,但提高了處理速度,其代價(jià)就是增加了芯片面積,導(dǎo)致成本上升,處理時(shí)必須綜合考慮,以達(dá)到較好的性價(jià)比。
在電路級(jí)和工藝級(jí)的低功耗設(shè)計(jì)技術(shù)主要是全定制集成電路設(shè)計(jì)技術(shù)。全定制的設(shè)計(jì)可以將硅片充分利用,布局、布線、排版組合等均需要反復(fù)斟酌調(diào)整,按最佳尺寸、最合理布局、最短連線、最便捷引腳等設(shè)計(jì)原則設(shè)計(jì)版圖,與同樣功能而采用自動(dòng)布局布線方法實(shí)現(xiàn)的電路相比較,手工設(shè)計(jì)電路可以節(jié)省一半以上的芯片面積,尤其是使用基于鎖存器的手工布局布線代替基于D觸發(fā)器自動(dòng)布局布線,降低面積
的同時(shí)系統(tǒng)功耗減少了約88%。

2 結(jié)論
首先分析了CMOS集成電路的功耗物理組成,得到其主要功耗。其次,SoC低功耗設(shè)計(jì)的各種級(jí)別層次采用不同的設(shè)計(jì)方法,由此重點(diǎn)分析了在語音解碼中各層次采取各種策略以降低系統(tǒng)功耗,并取得了初步效果。系統(tǒng)級(jí)使用雙向不交疊時(shí)鐘技術(shù),可以將運(yùn)算主頻降低50%;算法級(jí)主要使用匯編語言重寫和優(yōu)化原代碼,將MP3解碼的C代碼轉(zhuǎn)為匯編代碼后,從原來的86 Kb降為13 Kb,AMR解碼的C代碼轉(zhuǎn)為匯編代碼后,從原來的158Kb降為25 Kb;在結(jié)構(gòu)級(jí),增加協(xié)處理器進(jìn)行并行計(jì)算,在IMDCT內(nèi)部放置2個(gè)乘法器,這樣可以同時(shí)計(jì)算兩列數(shù)據(jù),速度提高1倍,MP3的解碼中,通過增加矩陣乘法器以提高子帶綜合濾波的處理速度,可減少91%的運(yùn)算時(shí)間。

本文引用地址:http://m.butianyuan.cn/article/166578.htm

上一頁 1 2 下一頁

關(guān)鍵詞: 編解碼器 音頻

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉