有多個處理單元的SoC器件目前是產(chǎn)品設計鏈上的重要一環(huán)。本文綜合各種因素評估了不同處理單元的優(yōu)缺點,并通過衛(wèi)星無線電接收器的設計實例幫助開發(fā)人員理解SoC所涉及處理任務之間的復雜平衡并有效掌握系統(tǒng)功能的劃分。
在準備開發(fā)目前越來越復雜的便攜式系統(tǒng)時,設計人員面對的最大挑戰(zhàn)之一就是采用什么樣的處理器組合來實現(xiàn)最優(yōu)化的“3P”指標,即系統(tǒng)性能最高、價格最低及功耗最小。系統(tǒng)級芯片(SoC)集成使得今日的創(chuàng)新成為可能,但它常常涉及把不同的處理器單元結合在單一的器件之上。這些單元可以包括可編程功能,如通用微處理器(通常是RISC)、DSP、FPGA和加速器,而且還可能有固定功能的加速器。由于這些單元都可以專用器件形式獲得,因此對設計人員來說,在它們之中進行全面的性能評估,進而決定以最有效的方式組合使用它們,有可能是一項相當困難的工作。
處理單元的優(yōu)缺點分析
在實現(xiàn)多內(nèi)核處理器之前,在RISC和DSP之間進行挑選曾相對較為簡單。如果大量的系統(tǒng)處理工作和數(shù)據(jù)有關,那么采用RISC,即使信號處理會受些損失。如果大量的處理工作和信號有關,那么采用DSP,并力爭獲得差強人意的控制和數(shù)據(jù)處理性能。但對多內(nèi)核集成而言,考慮到要添加其它處理單元,這類選擇變得非常復雜。正確的答案不完全是技術性的,而是要基于優(yōu)化靈活性、便于使用、成本、功耗和性能多方面來考慮。
各種處理單元的基本優(yōu)點和缺點概括在表1之中。通用RISC處理器專為數(shù)據(jù)處理而優(yōu)化,很容易使用而且很靈活,其成本、功耗和性能都可接受。DSP為實時信號而優(yōu)化,它們處理實時信號所需的功耗和成本通常比RISC低,不過,它們常常更難使用。
可編程加速器或半可編程處理器可設計用來數(shù)據(jù)或信號處理。一個例子就是用于通信系統(tǒng)的Viterbi處理器,對Viterbi編碼或解碼來說它是完全可編程的,但對任何其它功能來說毫無用處。就其功能而言,一個可編程加速器的成本、功耗總是比RISC或DSP要低,而性能要高,但從本質(zhì)上講,它稍欠靈活、更難使用,而且對缺陷(bug)的容忍度低,不容易更改。
表1處理器單元優(yōu)缺點對比
用于數(shù)據(jù)或信號處理的固定功能加速器(一般為ASIC)只能完成一種特定的功能。固定功能加速器總是一種成本最低、功耗最低、性能最高的解決方案,但它們?nèi)鄙偃魏纬潭鹊撵`活性。一旦ASIC設計出來并調(diào)試通過,到了系統(tǒng)開發(fā)人員手里,它會變得非常易用。但是其設計和調(diào)試與可編程器件相比非常困難,而且以后不可能進行再編程。
劃分系統(tǒng)處理功能
盡管在各種處理單元之中做決定是一件復雜的工作,但有一個可行的選擇程序,就是把各種系統(tǒng)功能劃分到各種處理單元之中。把一個系統(tǒng)的處理需求映射到一個現(xiàn)有的多內(nèi)核SoC之中,與通過映射處理需求創(chuàng)建一個新多內(nèi)核SoC有所不同。然而,其過程是類似的。
為了把該系統(tǒng)映射到一個現(xiàn)有的SoC之中,系統(tǒng)設計人員必須確定該系統(tǒng)方案以及它所針對市場的幾個細節(jié)。在這當中包括產(chǎn)品特性和算法組件,以及添加特性和解決bug的策略,不管是在設計期間還是在整個產(chǎn)品壽命期內(nèi)。一旦這些細節(jié)確定,系統(tǒng)功能必須確定成信號或數(shù)據(jù)處理任務,隨后再分成三個性質(zhì)不同的類。
明確并將保持不變的功能:這些功能包括離散余弦變換(DCT)或快速傅立葉變換(FFT),它們將不會再有任何變化,而且已問世足夠長的時間,因此所有bug都已消除。這些功能使用固定功能加速器或最優(yōu)化。
明確但會有一定變化的功能:這些功能有一定程度的靈活性。例如,盡管單一的FFT可以由一個ASIC來處理,但將多個相關的FFT重新組合成一系列實現(xiàn)方案的能力會需要一種可編程的加速器。
不確定且可變化的新功能:滿足這些需求的處理器單元是可編程的RISC、DSP和FPGA。雖然設計人員也許不知道這些不確定或新特性是什么,但有必要測度應對預計需求所需的大致性能和存儲器。
當系統(tǒng)功能已經(jīng)被分解成這三大類別時,系統(tǒng)可以映射到一個現(xiàn)有的SoC器件。整個程序分成以下步驟:
1.確定最終系統(tǒng)完整的特性和功能清單。如果可能的話,包括對新特性和功能的估計,它們可以在采用該SoC產(chǎn)品的壽命期內(nèi)隨時加入。
2.把該特性和功能清單分成數(shù)據(jù)處理部分和信號處理部分。
3.把每個清單(數(shù)據(jù)和信號)中的功能分成三類:a.在產(chǎn)品的壽命期內(nèi)明確并將保持不變的功能;b.在產(chǎn)品的壽命期內(nèi)明確但允許某些變化的功能;c.不確定且可變化的新功能。
4.估計每個清單中每項所需的性能。
5.估計每個清單中每項所需的存儲器。
6.分配:a.適當?shù)拿鞔_功能給可行的固定功能加速器;b.其余的明確功能給可行的可編程加速器;c.不確定且可變化的新功能給適當?shù)目删幊唐骷?RISC用于數(shù)據(jù)處理,DSP用于信號處理)。
最后一步的目標是盡可能多地利用加速器,并把靈活性和裕度留給可編程單元處理。顯然,對明確的、可有一些變化的和不確定功能的分配在一定程度上取決于相關SoC能提供什么硬件。把一個系統(tǒng)映射到一個新的SoC,而不是一個現(xiàn)有的SoC,有可能會引起較長的產(chǎn)品規(guī)劃時間,所以該設計人員必須解決的問題將經(jīng)常和一系列基于該新器件的產(chǎn)品有關。設計人員需要確定哪些算法組件更好理解,沒有缺陷也不需要改變;還需要確定在整個設計期間或產(chǎn)品系列中,系統(tǒng)的哪些部分有可能改變。在涉及到功能分配(步驟6)時,一個新方案的設計人員可以非??隙ǖ貙⒚鞔_功能(步驟3的a)分配給固定功能單元,可有些變化的功能(步驟3的b)分配給可編程加速器,把不確定的、變化的新功能(步驟3的c分配給處理數(shù)據(jù)的RISC和處理信號的DSP)。
SoC設計范例:衛(wèi)星無線電
一個數(shù)字廣播衛(wèi)星無線電接收器就是一個系統(tǒng)如何劃分并如何用一個現(xiàn)有SOC上不同處理單元來實現(xiàn)的很好例子。在美國,衛(wèi)星無線電以S波段頻率2.3GHz來廣播,采用一個地面同步衛(wèi)星提供海岸到海岸覆蓋。還有一些地面中繼器,它們可以在主衛(wèi)星被阻斷時從另一個衛(wèi)星接收信號并傳播出去。所用的調(diào)制系統(tǒng)或者是QPSK(正交相移鍵控),或者是針對衛(wèi)星的TDM(時分多址),這取決于廣播公司,而對地面站來說總是采用OFDM(正交頻分多址)。
衛(wèi)星無線電的主要優(yōu)點是它能夠向客戶提供數(shù)百條無靜電干擾的音頻和消息信道。由于傳輸帶寬窄,衛(wèi)星無線電依靠新的感覺音頻編碼器(PAC)算法進行音頻壓縮和解壓縮。PAC的某些特性,如對信道損傷有一定適應能力,使得它很適合廣播無線電應用。該音頻編碼利用人耳的一些特性,隱藏部分信號失真,而且一旦該信號數(shù)字化,剩下的冗余通過無噪音編碼被除去。因其高壓縮率和優(yōu)異質(zhì)量,PAC音頻編碼已經(jīng)成為一種事實上的衛(wèi)星和數(shù)字無線電廣播標準。圖1顯示了一種衛(wèi)星無線電接收器架構。
信號輸入端,衛(wèi)星調(diào)諧器把2.3GHz載波轉(zhuǎn)換成基帶信號,模數(shù)轉(zhuǎn)換器再將其數(shù)字化以便處理。隨后進行QPSK解調(diào),信號完成Viterbi解碼。一個編/解碼器與該系統(tǒng)的模擬音頻輸入和輸出接口。一個FPGA提供接口邏輯以產(chǎn)生硬驅(qū)動和緊湊型閃存所需的合適信號。一個專用器件輸出NTSC視頻,這是流視頻應用的一個高級特性。
圖1無線衛(wèi)星通訊接收構架圖
在SoC中劃分功能
在這個例子中,系統(tǒng)的核心是一個雙處理器OMAP器件通過高性能和低功耗之間的平衡,這種150MHz的OMAP器件把一個DSP內(nèi)核同一個加強型ARM925TRISC處理器集成在一起。其它的特性包括一個SDRAM存儲器接口和許多外設接口,它們同外部無線電基帶處理器和外部音頻編/解碼器兼容。
因為OMAP器件設計用于同時處理多個多媒體任務,所以它很適合衛(wèi)星無線電應用。一般來說,多媒體功能豐富的器件由許多音頻和視頻壓縮/解壓算法組成,它們需要廣泛的數(shù)學運算。對這些運算來說,OMAP上的DSP比RISC更適合。比較這兩種處理器的標準測試程序有很多種,從一個算法到另一個算法變化很大,但平均而言,RISC完成相同信號處理運算的周期數(shù)是DSP的三倍。由于RISC管理系統(tǒng)控制和數(shù)據(jù)任務一般比DSP更有效率,因此這兩種處理器的功能可以互補。
該DSP完成的主要信號處理任務之一是:在衛(wèi)星信號阻斷因而系統(tǒng)切換到地面廣播時,對輸入進行OFDM解調(diào)。OFDM解調(diào)器需要運行FFT和反FFT算法,這對運算密集型的DSP來說很合適。該DSP還解壓傳輸來的PAC編碼信號,而ARM內(nèi)核則對PAC數(shù)據(jù)進行解密。該DSP的其它功能包括為采用MP3或MPEG-1和layer3的存儲設備編碼數(shù)據(jù),為采用MP3的播放功能解碼數(shù)據(jù)。
該ARM內(nèi)核管理來自調(diào)諧器和/或數(shù)據(jù)存儲器件的流數(shù)據(jù)。它還完成語音合成、語音識別和控制/命令任務,并顯示表明氣象信息和駕駛方向的位圖。通過恰當?shù)仄胶飧鞣N處理負載,一個基于雙內(nèi)核OMAP處理器的衛(wèi)星無線電設計只占用該處理器可用處理資源的一小部分,因而為實現(xiàn)增強的多媒體功能留有余地2004-6-28,如虛擬3D音效、噪音消除等。表2顯示了這種系統(tǒng)劃分,它表明了每個功能所用的處理單元類型。
表2系統(tǒng)劃分
衛(wèi)星無線電接收器這個例子說明了在一個現(xiàn)有SoC器件上不同處理器單元之間劃分任務的好處。專門為這個應用研制SoC的設計人員也可以采用前面討論的步驟來明確劃分其它的處理功能,如Viterbi處理和音頻編解碼器,它們可以經(jīng)濟地集成在該SoC之內(nèi)。NTSC視頻解碼和其它高級特性無疑也可以考慮,因為該設計的壽命期有可能貫穿許多接收器產(chǎn)品。除了系統(tǒng)級集成帶來器件減少的明顯優(yōu)點之外,采用單一的SoC平臺還為開發(fā)人員在軟件方面的投資帶來了極大益處,因為在整個產(chǎn)品線的壽命期內(nèi)只需要很少的再開發(fā)工作。
本文小結
帶有多個處理單元的SoC器件目前是產(chǎn)品設計鏈上的重要一環(huán),尤其是對需要高度集成的便攜式系統(tǒng),它們靠該器件提供混合數(shù)據(jù)和信號處理功能。將一個特定系統(tǒng)和一個特定SoC匹配的決策并不總是由技術因素來推動。在許多情況下,它更多地與可用的資源有關,與系統(tǒng)需要的靈活度有關,與如何對付新功能和新缺陷有關。開發(fā)人員應該理解所涉及處理任務之間的復雜平衡,有效掌握劃分系統(tǒng)功能的程序,并能夠充分利用SoC所提供的巨大能力優(yōu)勢。
更多資訊請關注:21ic模擬頻道