新聞中心

EEPW首頁 > 汽車電子 > 學習方法與實踐 > ARM的DSP增強型擴展

ARM的DSP增強型擴展

作者: 時間:2008-02-27 來源:與非網(wǎng) 收藏

         現(xiàn)在,很多新興的應用領域涌現(xiàn)了許多新的算法標準,這些算法對于處理器提出了更高的性能和控制要求。信號處理需要處理器提供高峰值性能,但這部分在整個算法中的比例有減少的趨勢。對于開發(fā)包含高性能算法的大規(guī)模應用的設計團隊來說,有很多種可供選擇的方案。市場競爭的壓力使得選擇一個對高性能有充分保障的處理器平臺來實現(xiàn)高性能的功能變得非常重要。但是選擇超出需求性能很多的處理器平臺對于系統(tǒng)成本和電源消耗也是有著很大影響的,這會直接導致產(chǎn)品缺乏競爭力。 

         ARM在提供通用的RISC處理器架構的同時,為其增添了一些針對特定應用的高性能指令集,以期能夠達到軟件和硬件的一個優(yōu)化平衡。這樣,一些高度涉及信號處理的應用本來是要借助一塊專用DSP來完成的,現(xiàn)在由一個ARM內核就可以實現(xiàn)同樣的功能。比較典型的例子就是MP3音頻算法。對于MP3算法的分析表明,一些關鍵的前端步驟的處理,包括讀入比特流,霍夫曼(Huffman)解碼和反量化(inverse quantization),這時,ARM RISC架構比普通的DSP能體現(xiàn)更佳的性能。同時,這個通用處理器還可以處理復雜的任務控制。 

         ARM為信號處理算法專門發(fā)布了v5TE的架構,在普通的ARM架構基礎上新增了有效的DSP指令。ARM的擴展DSP指令集使得ARM的CPU系列能夠更好的適應復雜的信號處理,同時還保留了作為高性能RISC處理器所特有的低功耗特性。ARM v5TE的DSP擴展指令集已經(jīng)在ARM946E-STM 和 ARM966E-STM和ARM926EJ-STM上得到應用。Intel也同時在他們和ARM架構兼容的XScale微處理器系列里實現(xiàn)了DSP指令集的擴展,并且主頻達到了1GHZ。 

         ARM的解決方案在解決應用問題而增強了性能的同時,還在性能和功耗,CPU核面積的大小等方面達到了均衡。像ARM9ETM這樣的單核解決方案,同時滿足了任務控制和信號處理方面的需求,比傳統(tǒng)的DSP內核加通用內核的雙核方案,在最終的效率和開發(fā)過程方面有了很大的提升。

目標應用: 

         ARM專門為ARM的各個平臺開發(fā)了近乎于CD音質的音頻算法,比如MP3,包括了WMA和MPEG AAC標準??偟膩碚f,有著DSP增強指令的內核是最適合于應用在以前既需要高性能的DSP核同時又要求能夠進行有效的任務控制的場合。比如大容量存儲器,語音編碼器,語音識別合成,網(wǎng)絡應用,車控系統(tǒng),智能手機,發(fā)報機和調制解調器。 

         下圖列舉了DSP增強指令。包括單周期16x16和32x16的乘法指令,增加了飽和運算功能的運算指令。這些指令為開發(fā)穩(wěn)定的操作系統(tǒng)和比特級精確的算法提供了方便。前導零運算指令為算法的標準化和浮點數(shù)運算特別是對于除法運算帶來了高性能。這些DSP增強指令在ARMv5TE中得到了很好的實現(xiàn)。
         支持DSP增強指令的硬件架構是基于現(xiàn)有的ARM9TDMITMRISC核的,也是五級流水線,哈佛結構。DSP增強指令集對于整個現(xiàn)有結構的影響被控制到了最小,沒有增加另外的寄存器或者CPU狀態(tài),也沒有增加對寄存器使用的限制。如表一所示,ARM9E架構只增加了有限的部分: 一個快速32x16乘法單元,一個CLZ單元和兩個飽和運算單元。
         因為D S P增強功能并沒有對現(xiàn)有的架構做太大的修改,所以ARM9E優(yōu)于原先的ARM9架構。ARM9E內核能達到和A R M 9內核差不多的主頻,在0.18μm工藝下能達到195MHz,并且只有1.0mm2的晶圓面積(die area),功耗預計為0.5mW/MHz。

         DSP增強指令集并沒有用特別的硬件邏輯來實現(xiàn)諸如modulo addressing,bit-wise reversal addressing和zerooverhead
looping的指令。但同時支持這些運算也是很有意義的,所以可以用一些已有的指令組合來實現(xiàn),盡管這會帶來一些性能上的微小的損失。 

         Bit-wise reversal addressing在快速傅立葉變換(FFT)中是一個很常見的功能需求,是很多DSP算法的基礎功能?,F(xiàn)有的桶位移(barrel shifter)功能提供了實現(xiàn)bit-wise reversal的一種仿真方法,和用單指令實現(xiàn)相比只有微小的性能損失。例如,對于一個512個樣本的FFT來說,在ARM9E核上需要大概29k的時鐘周期,其中只有大概300個時鐘周期是用來仿真bit-reversed addressing的,只占了整個FFT變換的1%。

案例分析——語音編碼:
 
         GSM-AMR(Adaptive Multi Rate)語音編碼方案已被3GPP (the Third Generation Partnership Project)選為GSM,UMTS和WCDMA網(wǎng)絡的語音解決方案。 它近乎有線的語音傳輸質量和有效的頻譜使用范圍使得它可能成為下一代的無線語音編碼標準。 

         AMR自適應系統(tǒng)可跟據(jù)無線信道的質量自動調整語音和信道的比特率工作模式。支持AMR的增強型射頻源算法還可以根據(jù)傳輸負荷和信道質量調整半比特率和全比特率模式。AMR編碼的思想不止是根據(jù)無線傳輸?shù)那闆r作出調整,并且能根據(jù)網(wǎng)絡運營商的需要做出調整。 

         AMR(自適應多速率)編解碼器組由速率從1 2 . 2 k b p s至4 . 7 5 k b p s的ACELP聲碼器組成,它有8種固定的信源速率模式(4.75~12.20kbit/s)。AMR以20ms的語音為一幀進行處理(對應于160個采樣值在每秒8000個采樣值的速率下)。AMR把160個13位的采樣值映射為編碼塊,還能把這個編碼塊重構造為160個語音采樣值。對于這160個采樣值中的每一個來說,語音信號基于碼激勵線性預測(CELP)編碼模式分析得到線性預測(LP)系數(shù)。這些系數(shù)被編碼和傳輸。在解碼的時候,這些系數(shù)被解碼然后語音通過LP合成和加權濾波器合成為發(fā)音時的激發(fā)訊號(excitation signal)。 

         AMR語音編碼器是用定點標準C語言(fixed-point ANSI-C)描述的精確到bit位的算法,易于驗證和測試。

AMR實現(xiàn): 

         就像其他很多信號處理應用一樣,實現(xiàn)AMR算法的一個關鍵是有效的數(shù)字濾波和數(shù)字相關性。ARM9E架構實現(xiàn)了對應于相關性操作的“塊”操作,這使得對寄存器的訪問減少,提高了效率。 

         ARM9E指令集可以把兩個16位數(shù)相乘的操作數(shù)分別放在一個32位的寄存器里,各占用半字的大小。然后把結果標量乘積放在一個32位的寄存器里。這種實現(xiàn)通過使用四個通用寄存器作為累加數(shù),能夠從三個另外的輸入數(shù)據(jù)和系數(shù)得到聯(lián)合乘積,而不用對數(shù)據(jù)和系數(shù)做移動操作。 

         通常,普通的實現(xiàn)會對輸入數(shù)據(jù)進行移位迭代以產(chǎn)生下一個乘積。通過復用塊操作中的數(shù)據(jù),四個相關系數(shù)的乘加操作只通過一次傳輸,節(jié)省了Load/Store的操作。圖三指出了相關系數(shù)的塊操作過程 。 

         ARM9E的單周期飽和運算指令也使得塊聯(lián)合乘法變得更快。而相應的操作在ARM9架構上要用到四個周期。

         由于塊操作對于相關系數(shù)計算效率上的增強,對于需要大量計算的AMR編碼功能,ARM9E只需要實現(xiàn)同樣功能的ARM9架構的指令的66%。
G.723.1語音編碼器: 

         ITU標準G.723.1是一個為視頻會議應用定制的語音壓縮算法的國際標準。他能夠把采樣率為8KHz的語音信號編碼為能在6.4或者5.3Kbps的信道上傳輸?shù)男盘枴.723提供了約為4KHz的鐘鳴聲質量的語音帶寬。這是通過GSTN或者無線信號進行可視電話的必需的語音編碼器。G.723.1還是通過ISDN,B-ISDN,guaranteed QoS LAN, non-guaranteed QoS LAN進行視頻電話,或者利用幀中繼(VoFR)和VoIP進行語音傳輸?shù)目晒┻x擇的標準。
         語音編碼器可以從DSP增強指令集得到很多性能提升。ARM9E架構的DSP增強指令集僅使用處理器2 5%的性能——大概為45MHz,就可以很好的運行G.723.1算法了,而ARM9需要76MHz。由于使用了16位精度的算法和飽和運算的大量使用,使得ARM9E架構成為了非常適合于編解碼應用的架構。

比較分析: 

         對于許多數(shù)字信號算法,點積運算功能通常對于峰值處理能力有著較高的要求,圖四給出了ARM9E相對于ARM9處理點積更好的性能的圖示。可以看到有了DSP增強指令集,通常能提高平均兩倍的性能。

         ARM DSP增強解決方案的一個很重要的好處,也是相比于專用DSP的一大優(yōu)點就是所有的處理都能夠在一個單獨的ARM處理器上完成。這既減少了功耗,芯片面積,還使得硬件和軟件的開發(fā)過程變得簡化。
 
         ARM能夠在處理關鍵算法的同時滿足系統(tǒng)任務控制的需求,比如IO控制,卡式存儲器,顯示和鍵盤。而專用的DSP處理器要完成同樣的任務就需要另一個單獨的微控制單元。基于兩個處理器單元的設計需要多余的芯片面積。另外,由于要在DSP和微控制器間開發(fā)關于控制和數(shù)據(jù)的交換的協(xié)議,這也使得開發(fā)變得復雜。把這些復雜的功能整合到一個單獨的處理器對于簡化開發(fā)和加速產(chǎn)品的上市時間是一個非常關鍵的因素。 

         因為ARM DSP增強型處理器只需要一個單獨的存儲器系統(tǒng),統(tǒng)一的存儲器映射簡化了軟件總體的設計難度。對于那些需要RTOS的系統(tǒng)來說,現(xiàn)在只需要一個任務通過簡單的API來完成對于DSP功能的調用。而專用的DSP解決方案需要開發(fā)預約式時間調度程序來完成RTOS對于DSP功能的使用,這增加了復雜性和兩個處理器間切換時時間處理的難度。

總結:

         ARM DSP增強架構和DSP擴展指令集提供了開發(fā)者直接使用嵌入式內核開發(fā)高性能的數(shù)字處理算法的可能,并且不會帶來控制性能的損失。ARM‘E’內核增強了靈活性和編程解決方案的應用空間,作為SoC設計的內核,它能夠提供許多需要峰值處理能力的算法優(yōu)化的解決方案和復雜的控制能力。 

        ARM的DSP解決方案和他的通用RISC架構內核在硬件資源和提供算法高性能的處理能力方面達到了很好的平衡,在實現(xiàn)增強性能的同時,沒有增加很多芯片面積和電源消耗。 

        作為市場上嵌入式內核IP的領先者,ARM提供了基于內核的SoC設計方案,包括嵌入式軟件開發(fā)套件(RVDS),開發(fā)板,外設PrimeCell IP模塊,和AMBA-SoC標準片上總線。


關鍵詞: ARM DSP 增強型 擴展

評論


相關推薦

技術專區(qū)

關閉