基于可配置處理器Xtensa LX的數(shù)字音頻方案
所有的媒體都正在向數(shù)字格式進(jìn)行轉(zhuǎn)換,現(xiàn)在就連音樂也幾乎都是數(shù)字的。電視和視頻正迅速轉(zhuǎn)換為全數(shù)字格式。數(shù)碼照片將很快淘汰過時(shí)的膠卷。在今后幾年,這種轉(zhuǎn)換將是全方位的,數(shù)字媒體格式將會成為標(biāo)準(zhǔn)格式。因此,電子行業(yè)需要面臨數(shù)字媒體格式轉(zhuǎn)換引擎的開發(fā),以此為媒體用戶提供聲音和圖像。
音頻技術(shù)作為第一種完全數(shù)字化的媒體,在轉(zhuǎn)換方面進(jìn)行得最為深入?,F(xiàn)在的音頻系統(tǒng)必須支持多種數(shù)字音頻格式,從最早的格式到最新的格式。隨著數(shù)字音頻格式變得越來越先進(jìn),其技術(shù)也越來越復(fù)雜,目的是通過使用更少的位數(shù)來得到更好的聲音效果。隨著大量的數(shù)字音頻媒體格式(包括MP3、AC3、AAC和WMA)和用于手機(jī)的各種語音編解碼器的使用,數(shù)字音頻格式的轉(zhuǎn)換需要某種固件可編程的處理器。對于諸多不同數(shù)字音頻格式的轉(zhuǎn)換而言,采用專用硬件會顯得過于復(fù)雜。
許多種可編程處理器都可以用于數(shù)字音頻格式的轉(zhuǎn)換處理。對PC而言,一般采用通用的32位或者64位CPU處理音頻數(shù)據(jù),因?yàn)檫@在PC中已經(jīng)很普遍。這些CPU的主頻現(xiàn)在已經(jīng)達(dá)到幾GHz,因此其帶寬足可以輕松地處理音頻數(shù)據(jù)格式的轉(zhuǎn)換,然而其成本也高達(dá)數(shù)百美元,且功耗達(dá)到幾十上百瓦,因此,通用CPU并不適合低功耗、以電池作為電源的設(shè)備。
低功耗、低成本的數(shù)字信號處理器(DSP)也可以在許多消費(fèi)類設(shè)備中用于實(shí)現(xiàn)數(shù)字音頻編解碼器。一般而言,低成本DSP為16位DSP,這類處理器在正確處理現(xiàn)在復(fù)雜的16位音頻數(shù)據(jù)編解碼時(shí)缺少足夠的位精度,更不用說更加先進(jìn)的20位音頻格式了。而且,DSP一般缺少媒體產(chǎn)品中與任務(wù)控制相關(guān)的指令和輸入/輸出功能,因此在這類設(shè)計(jì)中通常需要一個(gè)控制處理器。這樣做的后果是,即使是一個(gè)簡單的基于DSP的音頻播放器也必須要采用雙處理器體系結(jié)構(gòu),這使得設(shè)計(jì)變得復(fù)雜,并增加了設(shè)計(jì)中存在缺陷的風(fēng)險(xiǎn)。
采用可配置處理器內(nèi)核可以構(gòu)建一個(gè)音頻處理器,該處理器既具有DSP的高性能與低功耗特性,又具有通用處理器的良好控制能力。Tensilica的基于Xtensa的HiFi音頻引擎即是該類處理器的范例。HiFi音頻處理器基于32位的Xtensa V處理器內(nèi)核,具有24位音頻專用的指令。該處理器內(nèi)核已經(jīng)在多種產(chǎn)品中采用,包括移動電話、便攜式音頻播放器、便攜攝像機(jī)、數(shù)碼相機(jī)以及個(gè)人視頻錄像(PVR)。
Tensilica公司Xtensa LX可配置處理器的推出可以提高原有的HiFi音頻引擎性能,為用戶提供被稱為Xtensa HiFi 2音頻引擎的更加強(qiáng)大的音頻處理器。該引擎可以利用更窄的帶寬(因而功耗和能量更低)來運(yùn)行更復(fù)雜的數(shù)字音頻編解碼算法。Xtensa LX處理器具有某些可配置特性,因而可以允許上述的這些改進(jìn)。
特別的是,Xtensa LX處理器具有稱為FLIX(可變長度指令擴(kuò)展)的功能,允許處理器將現(xiàn)有的16位和24位Xtensa指令混和生成定制的寬指令。每一條FLIX格式的指令都可以將多個(gè)獨(dú)立的操作放進(jìn)每個(gè)寬指令字中的操作槽中。Xtensa LX處理器的Xtensa HiFi 2音頻引擎擴(kuò)展就增加了300多條專用音頻DSP指令,包括24位的MAC(乘法/累加)指令和流編碼指令,這些指令的引入大大減少了復(fù)雜音頻編解碼算法的執(zhí)行周期數(shù)。
有些新的專用音頻指令為24位指令,有些則為64位FLIX格式的指令。HiFi 2音頻引擎的FLIX格式指令包括兩個(gè)操作槽。所有的HiFi 2音頻引擎指令擴(kuò)展都可以直接利用與Tensilica的自動化Xtensa Processor Generator(處理器生成器)生成的處理器一起產(chǎn)生的編譯器。如圖1所示。
圖1:HiFi 2指令格式
HiFi 2音頻引擎擴(kuò)展對Xtensa LX處理器增加的硬件包括兩個(gè)MAC單元。每個(gè)MAC單元可以執(zhí)行24×24位和32×16位的乘法,兩個(gè)MAC單元都采用流水線方式執(zhí)行,因此每個(gè)時(shí)鐘周期都可以產(chǎn)生一個(gè)新的執(zhí)行結(jié)果。增加的硬件還包括哈夫曼編碼器和解碼器、一個(gè)位流處理器和兩個(gè)用于處理24位音頻數(shù)據(jù)的專用寄存器文件。其中一個(gè)寄存器文件包括8個(gè)48位寄存器,每個(gè)寄存器可以存放兩個(gè)24位數(shù)據(jù)值;另一個(gè)寄存器文件包括4個(gè)56位寄存器,保存兩個(gè)MAC單元產(chǎn)生的擴(kuò)展精度運(yùn)算結(jié)果。如圖2所示。
圖2:HiFi 2結(jié)構(gòu)框圖
移植到Xtensa HiFi 2音頻引擎結(jié)構(gòu)的數(shù)字音頻編解碼算法的性能結(jié)果表明,設(shè)計(jì)只需要很小的處理器帶寬就可以支持高質(zhì)量的音頻編解碼。例如,MP3解碼器在播放以48kHz/128kbps立體聲格式存儲的音樂時(shí),只需要13~15MHz的處理器帶寬。而在類似的碼率下,MP3編碼器也只需38~40MHz的處理器帶寬。AAC-LC編碼器/解碼器以及WMA解碼器也可以獲得相似的結(jié)果。
Xtensa LX處理器采用廣泛的時(shí)鐘門控技術(shù),該技術(shù)超越了Xtensa V處理器設(shè)計(jì)中使用的該技術(shù),以用來降低功耗。該特性以及用來在Xtensa HiFi2音頻引擎架構(gòu)上實(shí)現(xiàn)數(shù)字音頻編解碼所需的低時(shí)鐘速率一起,產(chǎn)生了非常高效的音頻處理器。具有Xtensa HiFi 2音頻引擎擴(kuò)展的Xtensa LX處理器采用TSMC 的130nm LV制造工藝,功耗只有91μW/MHz;而原來基于Xtensa V處理器的HiFi音頻引擎的功耗則為207μW/MHz。
當(dāng)執(zhí)行AAC-LC編碼器算法時(shí),HiFi 2音頻引擎工作頻率為38MHz;而原來的Xtensa HiFi音頻引擎工作頻率則為85MHz。這些改進(jìn)的結(jié)果是,在執(zhí)行AAC-LC編碼器算法時(shí),Xtensa HiFi 2音頻引擎的功耗為3.5mW;而原來的Xtensa HiFi音頻引擎在執(zhí)行相同任務(wù)時(shí)功耗則為17.6mW。盡管原來的Xtensa HiFi音頻引擎的功耗已經(jīng)很低了,但是Xtensa HiFi 2音頻引擎的功耗仍然比原來降低了五倍。
Xtensa HiFi 2音頻引擎架構(gòu)同原來成功的Xtensa HiFi音頻引擎相比,有三個(gè)方面的優(yōu)勢。首先,Xtensa HiFi 2音頻引擎降低了實(shí)現(xiàn)先進(jìn)的數(shù)字音頻編解碼的處理器帶寬。其次,在執(zhí)行這些數(shù)字音頻編解碼算法時(shí),降低了功耗,這是由于需要的帶寬降低,以及因?yàn)閄tensa HiFi 2所基于的Xtensa LX處理器與以前的Xtensa V處理器相比具有更多的擴(kuò)展時(shí)鐘門控。最后,基于Xtensa LX的Xtensa HiFi 2音頻引擎架構(gòu)與原來基于Xtensa V處理器的Xtensa HiFi引擎相比,實(shí)現(xiàn)時(shí)需要更少的門數(shù)(在200MHz時(shí)鐘速率下,綜合出來的處理器門數(shù)減少了大約20%)。
通過增加專用音頻指令,Tensilica的Xtensa LX處理器可以提供一個(gè)高效的、低功耗、高性能平臺用于構(gòu)建數(shù)字音頻產(chǎn)品。這樣的平臺可以執(zhí)行多種音頻編解碼算法,同時(shí)如果需要的話也能執(zhí)行超越傳統(tǒng)DSP的控制類任務(wù)。而且,Xtensa HiFi 2音頻引擎可以提供相同性能下低得多的成本和時(shí)鐘頻率。因此,與通用CPU相比可以大大降低功耗級別。