各種服務(wù)不斷匯整至IP網(wǎng)路環(huán)境,促使業(yè)者開(kāi)發(fā)各種創(chuàng)新的Voice over IP (VoIP)終端產(chǎn)品,包括IP電話、商用與家用VoIP閘道器以及無(wú)線IP電話等。市場(chǎng)亦開(kāi)始朝向?qū)P系統(tǒng)與語(yǔ)音功能整合的方向發(fā)展,例如:PDA等掌上型裝置、汽車、全球衛(wèi)星定位系統(tǒng)以及其它裝置。雖然某些具備更高密度語(yǔ)音頻道的系統(tǒng)仍需搭配傳統(tǒng)的多重處理器與獨(dú)立的專屬RISC與DSP核心,但更多的設(shè)計(jì)方案在面臨成本、功耗及復(fù)雜度持續(xù)緊縮的限制下,採(cǎi)用單處理器架構(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尚須克服各種效能上的問(wèn)題,各種語(yǔ)音處理演算,例如:支援語(yǔ)音壓縮與解壓縮的各種ITU-T相容語(yǔ)音編/解碼器、Line Echo Cancellation、Voice Activity Detection (VAD)以及Comfort Noise Generation (CNG),都可能衍生出可觀的訊號(hào)處理需求。此外,處理器核心亦須處理各種電信演算作業(yè),例如:DTMF、撥號(hào)音產(chǎn)生、來(lái)電顯示功能、服務(wù)品質(zhì)(QoS)、使用者介面功能(顯示、播號(hào)鍵、鈴聲等)以及連結(jié)外部應(yīng)用系統(tǒng)的API介面。 由于即時(shí)效能的確切性對(duì)語(yǔ)音應(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ǔ),并開(kāi)發(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ì)方案中採(cǎi)用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)化指令可用來(lái)迅速開(kāi)發(fā)穩(wěn)定的控制迴圈以及bit-exact的精準(zhǔn)演算法,滿足各種先進(jìn)訊號(hào)處理系統(tǒng)的需求,例如:語(yǔ)音編/解碼器、迴音消除等。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核心採(cǎi)用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í)的管道。 人工開(kāi)發(fā)創(chuàng)造出的DSP軟體效率 開(kāi)發(fā)高效率VoIP程式碼不僅只是將現(xiàn)有的DSP演算法重新建置在RISC核心。由于DSP功能原本就極為依賴處理器,并且須用組譯語(yǔ)言撰寫,才能充份發(fā)揮硬體功能。因此,除了採(cǎi)用ARM9E系列DSP延伸技術(shù)外,VoIP函式皆以人工撰寫,以徹底發(fā)揮底層ARM9E系列處理器的資源,打造出僅需17MHz的頻寬即可建置G.729AB codec的優(yōu)異系統(tǒng),同時(shí),G.168/16ms線路迴音消除則僅需15MHz的頻寬。 目前在專屬的DSP處理器上建置語(yǔ)音處理演算法的技術(shù)已變得更為簡(jiǎn)便,因?yàn)楝F(xiàn)今的DSP硬體通常擁有足夠的爆發(fā)管線處理功能,能夠克服一定程度的軟體低效率問(wèn)題。由于DSP透過(guò)單一指令同步執(zhí)行多組作業(yè),因此軟體設(shè)計(jì)師在處理迴圈的序列及時(shí)序,或是考量載入資料數(shù)量上不需花費(fèi)太多心思。相較之下,在DSP優(yōu)化的RISC處理器上建置各種VoIP函式,必須徹底掌握關(guān)鍵的硬體相關(guān)議題,如:資料流、迴圈時(shí)序、跨迴圈排序以及資料載入的效率等。 ARM9E 系列較獨(dú)特的優(yōu)點(diǎn)為其32x16 MAC能夠處理暫存器中的32位元資料以及兩組獨(dú)立的16位元運(yùn)算元。除了為許多包含傳統(tǒng)16位元運(yùn)算法的DSP函式運(yùn)算提供相容的環(huán)境外,32x16 MAC架構(gòu)亦提供最佳化的資料載入效率,能有效利用處理器的暫存器。相較于其它32位元的RISC架構(gòu),軟體能運(yùn)用ARM9E系列元件中的32x16 MAC,協(xié)助整體資料載入效率提高4倍。 RISC建置方案中所需的程式記憶體數(shù)量雖然高于傳統(tǒng)的DSP,但是單處理器型的ARM9E系列元件所打造的VoIP設(shè)計(jì)方案卻不需要使用大量的晶片內(nèi)部記憶體支援各項(xiàng)DSP功能。研發(fā)業(yè)者可運(yùn)用低成本的記憶體資源,大幅降低單核心ARM926EJ-S處理器建置方案的整體記憶體與功率成本,這些資源包括晶片外部的SRAM搭配較小的晶片內(nèi)部快取等。舉例而言,參考設(shè)計(jì)方案中的8K位元組指令與資料快取就能為兩組標(biāo)準(zhǔn)型VoIP通路提供充裕的處理頻寬。 HelloSoft的語(yǔ)音演算法在載入資料時(shí)能降低35%至40%的耗用資源,這是因?yàn)槠渲腔酃δ芸勺詣?dòng)中止與重新調(diào)整處理迴圈,提升可用性以及重復(fù)使用資料的可能性,同時(shí)也提高ARM9E系列16位元MAC處理資源的使用效率。此外,HelloSoft的語(yǔ)音演算法針對(duì)特定的運(yùn)算作業(yè)使用預(yù)先儲(chǔ)存的數(shù)值與資料元素,以降低整體運(yùn)算的負(fù)荷。 ARM9E架構(gòu)的另一項(xiàng)優(yōu)點(diǎn)為具有自動(dòng)遞增功能的計(jì)數(shù)器(pointer),運(yùn)用該項(xiàng)功能能夠在每次資料載入運(yùn)作時(shí)均省下兩個(gè)週期。該項(xiàng)功能對(duì)建置標(biāo)準(zhǔn)型VoIP函式相當(dāng)重要,例如:在G.729AB語(yǔ)音編/解碼器中,演算的速度達(dá)每秒1千萬(wàn)次MAC,此時(shí)若能使用自動(dòng)遞增計(jì)數(shù)器,則代表著每秒能節(jié)省200萬(wàn)個(gè)週期。 除了獨(dú)立的指令與資料快取外,ARM926EJ-S處理器核心亦建置Tightly Coupled Memories (TCM)記憶體。Hellosoft建置的DSP演算法大量運(yùn)用這些TCM作為暫存RAM,能夠有效率地存取經(jīng)常使用的資料區(qū)段,因此能排除關(guān)鍵密集運(yùn)算迴圈中發(fā)生快取錯(cuò)失的可能性。 系統(tǒng)層級(jí)的成本縮減以及設(shè)計(jì)效率 在ARM9E系列核心上的DSP子系統(tǒng)建置語(yǔ)音編/解碼器、迴音消除、VAD以及其它訊號(hào)處理功能,能夠協(xié)助HelloSoft參考解決方案將所有VoIP子系統(tǒng)結(jié)合成單一處理器架構(gòu)(如圖2所示)。該架構(gòu)的重要元件包括DSP子系統(tǒng)、服務(wù)品質(zhì)(QoS)、撥號(hào)訊號(hào)與管理以及所有其它高階系統(tǒng)功能,例如:GUI圖形介面、平臺(tái)管理以及IP網(wǎng)路介面層。 由于不須使用獨(dú)立的DSP,單處理器VoIP電話建置技術(shù)至少能減少5至10美元的零組件成本。此外,在相同的處理器環(huán)境下開(kāi)發(fā)DSP程式、訊號(hào)堆疊以及作業(yè)系統(tǒng)功能,更可造就出直接且強(qiáng)固的建置方案。 ARM926EJ-S 核心內(nèi)建的記憶體管理單元(MMU)協(xié)助設(shè)計(jì)方案能夠搭配像Embedded Linux 與WinCE等作業(yè)系統(tǒng)。Hellosoft的設(shè)計(jì)使用SIP與RTP通訊協(xié)定堆疊搭配VoiceOS(tm)架構(gòu)。在參考設(shè)計(jì)方案中,這些與作業(yè)系統(tǒng)獨(dú)立的通訊協(xié)定,運(yùn)用開(kāi)放原始碼的嵌入型Linux核心進(jìn)行建置,因此更能有效運(yùn)用硬體資源,且能調(diào)針對(duì)不同的作業(yè)系統(tǒng)/即時(shí)作業(yè)系統(tǒng)環(huán)境調(diào)整基礎(chǔ)架構(gòu),其中包括VxWorks與WinCE等作業(yè)系統(tǒng)。 Hellosoft的VoiceOS是一套系統(tǒng)層級(jí)的架構(gòu),提供精簡(jiǎn)的抽象層,整合DSP子系統(tǒng)、通訊協(xié)定堆疊、媒體處理功能,并提供連結(jié)至OS與ARM9E系列處理器硬體平臺(tái)的介面,因此能簡(jiǎn)化移至其它作業(yè)系統(tǒng)與ARM系列硬體平臺(tái)的工作。VoiceOS亦提供一套彈性的抽象層,經(jīng)過(guò)擴(kuò)充后可支援各種新功能與介面,并且在各種IP系統(tǒng)中建置"voice as a service"的語(yǔ)音功能。 圖2 能夠支援超低成本終端裝置,且能配合其它裝置匯整各種語(yǔ)音服務(wù)的高效率解決方案產(chǎn)品將會(huì)廣為VoIP市場(chǎng)採(cǎi)納接受。這些解決方案須依賴單核心VoIP處理平臺(tái),協(xié)助系統(tǒng)設(shè)計(jì)師能因應(yīng)緊縮的成本、功耗以及產(chǎn)品尺寸的限制,同時(shí)縮短產(chǎn)品研發(fā)週期以及產(chǎn)品上市時(shí)間。 |