使用MIPS處理器實(shí)現(xiàn)高品質(zhì)音頻處理
使用MIPS處理器實(shí)現(xiàn)高品質(zhì)音頻處理
本文引用地址:http://cafeforensic.com/article/8018.htm諸如移動(dòng)音頻播放器、機(jī)頂盒(STB)、數(shù)字電視(DTV)和數(shù)字通用光盤(DVD) 播放機(jī)和刻錄機(jī)等消費(fèi)設(shè)備,通常都是采用多功能系統(tǒng)芯片(SOC)來實(shí)現(xiàn)的。這樣的SOC主要執(zhí)行兩種功能:應(yīng)用處理和視頻/音頻信號(hào)處理。應(yīng)用處理(或主處理)通常是通過像MIPS處理器這樣的一個(gè)可編程內(nèi)核實(shí)現(xiàn)的。由于其計(jì)算復(fù)雜性的程度,視頻信號(hào)處理是使用專用的硬件完成的。在某種程度上,與視頻信號(hào)的處理相比,音頻信號(hào)處理的計(jì)算需求并沒有那么大,在過去,都是采用固定線路邏輯或一個(gè)數(shù)字信號(hào)處理器(DSP)進(jìn)行處理。
然而,由于用戶的產(chǎn)品需要支持更多復(fù)雜的算法,音頻子系統(tǒng)的需求也在增加,先進(jìn)的前/后處理和全雙工需要進(jìn)行同時(shí)編解碼。當(dāng)音頻需求增加時(shí),因架構(gòu)上的創(chuàng)新,處理器的頻率也在提高,使像MIPS這樣的可編程處理器在實(shí)現(xiàn)主功能的同時(shí),也能夠同時(shí)完成要求苛刻的音頻應(yīng)用。
基于一個(gè)MIPS內(nèi)核構(gòu)建兩種類型的執(zhí)行音頻應(yīng)用的SOC結(jié)構(gòu)是可能的。一種是將一個(gè)內(nèi)核作為主處理CPU,另一個(gè)內(nèi)核進(jìn)行音頻處理的專用CPU;另一種方案是采用一個(gè)單CPU作為主處理和音頻處理(參見圖1)。使用MIPS處理器可以為音頻處理帶來顯著的好處。
多內(nèi)核音頻架構(gòu)
在多內(nèi)核的情況下,主CPU運(yùn)行操作系統(tǒng)、最終用戶應(yīng)用和服務(wù),而用一個(gè)專用音頻處理器運(yùn)行音頻處理功能。獲得MIPS的若干授權(quán)就可以得到專門用于MIPS音頻處理內(nèi)核的消費(fèi)電子設(shè)備的SOC工具。簡(jiǎn)而言之,使用MIPS用于音頻設(shè)計(jì)的處理器就可獲得一種可編程解決方案??删幊绦砸馕吨粋€(gè)現(xiàn)有的設(shè)計(jì)可以簡(jiǎn)便地適用于各種各樣的音頻算法。這可以提供兩個(gè)重要的優(yōu)勢(shì):一個(gè)SOC可用于多最終用戶的應(yīng)用;同時(shí)延長(zhǎng)SOC設(shè)計(jì)的生命周期,以跟上音頻標(biāo)準(zhǔn)迅速不斷進(jìn)化和變化的腳步。
專用音頻處理器的優(yōu)點(diǎn)在于它不會(huì)與其他應(yīng)用爭(zhēng)奪CPU的周期,因此有許多余??臻g。這種音頻協(xié)處理器的余裕空間可以完成多種任務(wù)——備用的CPU周期可以同時(shí)用于對(duì)多數(shù)據(jù)流的編碼和解碼;它可保證高檔設(shè)計(jì)中的最高音頻質(zhì)量;或者余??臻g可以通過降低電壓減低處理器的頻率,由此降低音頻子系統(tǒng)和整個(gè)SOC的功耗。
使用可編程處理器實(shí)現(xiàn)音頻算法的優(yōu)點(diǎn)在可配置方面尤為明顯,因?yàn)樗哂蟹喜粩噙M(jìn)化形成的全球音頻標(biāo)準(zhǔn)的靈活性。利用專用的DSP,電流性能和功率需求可能得到滿足,但是它們可能無法根據(jù)變化滿足未來的需要。
當(dāng)音頻處理功能由一個(gè)主CPU之外的內(nèi)核單獨(dú)完成時(shí),在主CPU和音頻處理器之間需要一種通信機(jī)制。在兩個(gè)MIPS內(nèi)核之間建立一個(gè)通信接口要比在一個(gè)MIPS CPU和一個(gè)DSP之間簡(jiǎn)單得多。例如,MIPS CPU上可使用的LL和SC(加載-連接/存儲(chǔ)-條件)指令能被用來十分簡(jiǎn)便地建立起通信和同步化機(jī)制。
單內(nèi)核架構(gòu)
采用一個(gè)單內(nèi)核完成音頻處理,其最大的好處是完全省掉DSP或固定線路音頻模塊,而在MIPS主處理器上執(zhí)行音頻。這既減少了裸片尺寸,又節(jié)省了總的系統(tǒng)調(diào)試時(shí)間。反過來,這也能夠有效縮減成本和面市時(shí)間。
利用一個(gè)運(yùn)行在主CPU上的實(shí)時(shí)操作系統(tǒng)(RTOS),音頻處理可以作為系統(tǒng)的線程(任務(wù))之一被完成。RTOS必須保證這個(gè)音頻線程得到足夠的時(shí)序時(shí)隙,以一種適時(shí)的方式完成其任務(wù)。通常,音頻處理將僅僅需要一小部分CPU周期;因此,這個(gè)要求可以容易地得到滿足。除了RTOS,這個(gè)單處理器也能執(zhí)行其他諸如視頻控制等應(yīng)用。適當(dāng)?shù)臅r(shí)序機(jī)制是保證準(zhǔn)時(shí)地完成所有任務(wù)所必需的。
在一個(gè)單內(nèi)核解決方案中,指令和/或數(shù)據(jù)高速緩存的干擾會(huì)使音頻應(yīng)用的性能下降。這種“下降”是運(yùn)行操作系統(tǒng)與處理器上執(zhí)行的其它控制功能一起作用所造成的。如果性能的下降不可接受,那么就可能需要使用以下兩種方法中的一種來解決。
一旦引起性能下降的原因與指令或數(shù)據(jù)高速緩存隔離開來,第一種需要使用的方法是鎖定控制關(guān)鍵功能或數(shù)據(jù)數(shù)組占用的高速緩存線路。如果高速緩存線路方法不理想的話,那么可以使用一個(gè)專用的高速暫存存儲(chǔ)器RAM(Scratchpad RAM,SPRAM)。SPRAM是為MIPS處理器執(zhí)行選擇提供可預(yù)測(cè)的低等待時(shí)間的片上存儲(chǔ)器。如果必要的話,SPRAM的容量可能比高速緩存的容量大得多。不過,通常小容量的SPRAM可能有助于為應(yīng)用帶來顯著的性能。通過在SPRAM中加載軟件音頻解碼器的關(guān)鍵功能的“文本”(代碼)段,能夠減少音頻解碼器中的指令高速緩存的錯(cuò)誤。交替地使用SPRAM可保持常用的數(shù)據(jù)數(shù)組,以減少數(shù)據(jù)高速緩存的錯(cuò)誤。
成本解決方案
當(dāng)做出系統(tǒng)架構(gòu)決定的時(shí)候,需要考慮若干主要的成本因素,例如:授權(quán)、版稅、裸片尺寸、開發(fā)工具和設(shè)計(jì)時(shí)間。尤其是在低檔系統(tǒng)中,如果使用一個(gè)單內(nèi)核SOC架構(gòu),可以完全省掉DSP,縮小整個(gè)裸片的尺寸,且無需支付DSP的授權(quán)費(fèi)用和版稅。這將使SOC制造商和OEM的總體成本顯著減少。
不論SOC廠商選擇在一個(gè)專用的內(nèi)核上運(yùn)行音頻,還是在主CPU上進(jìn)行音頻處理,由于同樣的工具鏈能用于開發(fā)基于主CPU和音頻的應(yīng)用,所以軟件開發(fā)工具的成本更低。開發(fā)工具成本的一個(gè)主要組成部分是與工具有關(guān)的維護(hù)。在專用DSP的情況下,這可能是整個(gè)成本的很大一部分。
那些使用一個(gè)MIPS內(nèi)核實(shí)現(xiàn)控制功能和使用DSP進(jìn)行音頻處理的開發(fā)商必須熟悉兩種不同的開發(fā)環(huán)境。一種典型的開發(fā)環(huán)境可能包括操作系統(tǒng)、編譯器、模擬器、仿真器、調(diào)試程序、線跡工具、探針和剖面儀。然而,當(dāng)同樣的內(nèi)核再度使用時(shí),只需熟悉一種開發(fā)環(huán)境,從而減少總體設(shè)計(jì)時(shí)間和設(shè)計(jì)成本。
軟件靈活性
于那些希望調(diào)整其它音頻/DSP算法的用戶,MIPS DSP程序庫(MIPS DSP Library)作為MIPS軟件工具包的一部分可供使用。這個(gè)程序庫具有廣泛的適用于語音壓縮、回聲消除、噪音消除、通道均衡、音頻處理等信號(hào)處理功能,還包括過濾器和FFT等通用功能。
MIPS內(nèi)核有許多特性有助于有效地實(shí)現(xiàn)像DSP這樣的應(yīng)用。經(jīng)過優(yōu)化的音頻多媒體數(shù)字信號(hào)編解碼器和DSP程序庫可利用其提供重要的優(yōu)勢(shì):
● 為在所有音頻算法中使用32位整數(shù)數(shù)據(jù)的內(nèi)部計(jì)算提供盡可能最優(yōu)異的音頻質(zhì)量。
● MIPS32乘法積累(Multiply-Accumulate,MADD)指令在對(duì)DSP MAC運(yùn)行進(jìn)行編碼時(shí)是非常有效的。
評(píng)論