通用DSP的RISC核心開發(fā)單處理器VoIP
各種服務(wù)不斷匯整至ip網(wǎng)路環(huán)境,促使業(yè)者開發(fā)各種創(chuàng)新的voice over ip (voip)終端產(chǎn)品,包括ip電話、商用與家用voip閘道器以及無線ip電話等。市場(chǎng)亦開始朝向?qū)p系統(tǒng)與語音功能整合的方向發(fā)展,例如:pda等掌上型裝置、汽車、全球衛(wèi)星定位系統(tǒng)以及其它裝置。雖然某些具備更高密度語音頻道的系統(tǒng)仍需搭配傳統(tǒng)的多重處理器與獨(dú)立的專屬risc與dsp核心,但更多的設(shè)計(jì)方案在面臨成本、功耗及復(fù)雜度持續(xù)緊縮的限制下,採用單處理器架構(gòu)更能達(dá)成最好的功效。此外,同業(yè)競(jìng)爭(zhēng)壓力以及急迫的上市時(shí)程,更激發(fā)系統(tǒng)設(shè)計(jì)業(yè)者對(duì)完整單處理器voip平臺(tái)的迫切需要,協(xié)助業(yè)者克服不同處理器之間的整合挑戰(zhàn)。
單處理器voip設(shè)計(jì)方案能夠協(xié)助業(yè)者達(dá)到成本、功耗、效率及上市時(shí)程等整體目標(biāo)。然而,使用單一元件取代獨(dú)立式dsp尚須克服各種效能上的問題,各種語音處理演算,例如:支援語音壓縮與解壓縮的各種itu-t相容語音編/解碼器、line echo cancellation、voice activity detection (vad)以及comfort noise generation (cng),都可能衍生出可觀的訊號(hào)處理需求。此外,處理器核心亦須處理各種電信演算作業(yè),例如:dtmf、撥號(hào)音產(chǎn)生、來電顯示功能、服務(wù)品質(zhì)(qos)、使用者介面功能(顯示、播號(hào)鍵、鈴聲等)以及連結(jié)外部應(yīng)用系統(tǒng)的api介面。
由于即時(shí)效能的確切性對(duì)語音應(yīng)用至關(guān)重要,故研發(fā)人員不能僅在標(biāo)準(zhǔn)型risc核心上重新建置現(xiàn)有的dsp應(yīng)用,就希望達(dá)到最佳的效能結(jié)果。一套成功的單核心voip系統(tǒng)須結(jié)合各種dsp導(dǎo)向的強(qiáng)化方案,作為risc硬體的基礎(chǔ),并開發(fā)各種軟體的創(chuàng)新化最佳方案,以充份發(fā)揮處理器功能。以下文章將探討hellosoft 如何運(yùn)用arm9e(tm)系列處理器核心與各項(xiàng)dsp強(qiáng)化元件,達(dá)成上述的各項(xiàng)目標(biāo)。
核心中的dsp強(qiáng)化技術(shù)
建立一套可行的單處理器voip平臺(tái),首先必須選擇適合的risc核心負(fù)責(zé)各種訊號(hào)處理功能。hellosoft的參考設(shè)計(jì)方案中採用arm926ej-s(tm),主要原因即為該處理器核心的dsp延伸元件直接嵌入risc處理器的架構(gòu)中,其內(nèi)部的特殊改良設(shè)計(jì)包括單週期16x16 與32x16 multiple accumulate (mac) 功能、飽和演算函式(例如:saturating add、saturating double add及saturating subtract等功能)以及count leading zeros (clz) 指令。這些強(qiáng)化指令可用來迅速開發(fā)穩(wěn)定的控制迴圈以及bit-exact的精準(zhǔn)演算法,滿足各種先進(jìn)訊號(hào)處理系統(tǒng)的需求,例如:語音編/解碼器、迴音消除等。clz功能針對(duì)固定小數(shù)點(diǎn)演算與除法運(yùn)算進(jìn)行改良(如圖1所示)。
圖1 dsp強(qiáng)化延伸技術(shù)避免大幅變更核心成熟的五階式管線以及harvard記憶體架構(gòu),因此對(duì)硬體資源的沖擊能夠降至最低程度。此套技術(shù)并未增加暫存器或狀態(tài),也為增加對(duì)暫存器的使用限制。arm9e系列資料路徑僅增加少量的區(qū)塊,包括一套高速32x16 乘數(shù)器、clz區(qū)塊以及兩組飽和運(yùn)算區(qū)塊。因此,arm926ej-s核心的運(yùn)作狀況與其他arm9核心的效能息息相關(guān)(arm9核心採用0.13微米原生型制程,提供220mhz以上的時(shí)脈速度)。
arm9e系列延伸元件亦與其它arm系列核心中的dsp延伸元件相容,例如:arm10e(tm)系列及arm11(tm)系列。這種特性為研發(fā)業(yè)者提供一套穩(wěn)固的基礎(chǔ),協(xié)助他們建置高效能、低功耗、單處理器型的voip系統(tǒng),并提供最佳化的研發(fā)彈性及新技術(shù)轉(zhuǎn)移升級(jí)的管道。
人工開發(fā)創(chuàng)造出的dsp軟體效率
開發(fā)高效率voip程式碼不僅只是將現(xiàn)有的dsp演算法重新建置在risc核心。由于dsp功能原本就極為依賴處理器,并且須用組譯語言撰寫,才能充份發(fā)揮硬體功能。因此,除了採用arm9e系列dsp延伸技術(shù)外,voip函式皆以人工撰寫,以徹底發(fā)揮底層arm9e系列處理器的資源,打造出僅需17mhz的頻寬即可建置g.729ab codec的優(yōu)異系統(tǒng),同時(shí),g.168/16ms線路迴音消除則僅需15mhz的頻寬。
目前在專屬的dsp處理器上建置語音處理演算法的技術(shù)已變得更為簡(jiǎn)便,因?yàn)楝F(xiàn)今的dsp硬體通常擁有足夠的爆發(fā)管線處理功能,能夠克服一定程度的軟體低效率問題。由于dsp透過單一指令同步執(zhí)行多組作業(yè),因此軟體設(shè)計(jì)師在處理迴圈的序列及時(shí)序,或是考量載入資料數(shù)量上不需花費(fèi)太多心思。相較之下,在dsp優(yōu)化的risc處理器上建置各種voip函式,必須徹底掌握關(guān)鍵的硬體相關(guān)議題,如:資料流、迴圈時(shí)序、跨迴圈排序以及資料載入的效率等。
arm9e 系列較獨(dú)特的優(yōu)點(diǎn)