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