為多處理器系統(tǒng)選擇最佳設(shè)計方案
過去開發(fā)一個多處理器應(yīng)用,可能只需要寫下那些要求,核對一下那些大型DSP供應(yīng)商所供應(yīng)的器件的規(guī)格,然后選擇最好的芯片就可以了。但時代已經(jīng)變了,今天的工程師們有了更多的選擇。大型FPGA供應(yīng)商改進了他們的信號處理產(chǎn)品,而選擇最佳方案則變得復(fù)雜。
在本文中,我們將探討一下多處理器系統(tǒng)有什么可以利用的,以及如何在DSP、FPGA或者二者的混合方案之間作出最好的選擇。我們將分別簡單地討論這兩種芯片,但將主要內(nèi)容更多地集中在系統(tǒng)級因素上。
對于高性能信號處理應(yīng)用,當然還有除DSP和FPGA之外的其它選擇。ASIC和ASSP都能很好地適用于某個特定的信號處理應(yīng)用,但僅限于在大規(guī)模應(yīng)用中,否則它們的高成本都會讓它們無法成為優(yōu)選。
已獲認可的DSP方案
自從20世紀80年代被發(fā)明以來,DSP一直以合理的功耗和價格提供著優(yōu)越的性能。對于很多基于不斷快速改變的新興標準的應(yīng)用來說,DSP都很有吸引力。由于DSP算法可以很容易地以C語言等簡單語言來執(zhí)行,就能在標準發(fā)生變化時更容易地對代碼進行更新來反映這種變化。
另外,很多用于最新無線標準等應(yīng)用領(lǐng)域的信號處理算法的復(fù)雜本性,使之更適合利用DSP來執(zhí)行:一個DSP設(shè)備可以通過呼叫一個不同的軟件程序來更容易地改變處理算法。盡管現(xiàn)在的FPGA可以快速重配,但要在繼續(xù)處理數(shù)據(jù)的情況下動態(tài)地實現(xiàn)這一點,則是非常復(fù)雜且很有挑戰(zhàn)性的。
DSP在功耗方面也在不斷改進。在手持設(shè)備市場的需求驅(qū)動下,一些下一代高性能DSP結(jié)合了功耗管理技術(shù)。這可以讓整個系統(tǒng)的功耗在低數(shù)據(jù)量時得到降低,或者用來阻止過熱。一個功耗和溫度敏感型FPGA配置也能以相似的方式來管理其時鐘域,但需要更多的開發(fā)工作。
但是,DSP并不特別適合并行處理:有些并行處理任務(wù)可能只需要一個FPGA,卻會需要多個DSP。比如,在無線基帶領(lǐng)域,對于WiMAX直角頻分多路存取(OFDMA)通道的處理來說,一個純DSP方案在所能處理的帶寬和通道數(shù)量上無法匹敵一個FPGA方案。因此DSP方案就會產(chǎn)生過高的成本和功耗。
靈活的FPGA方案
FPGA相比于DSP有一個很大的優(yōu)勢:在并行應(yīng)用中的效率-這是通過采用多個并行處理區(qū)塊來實現(xiàn)的。FPGA擁有能讓嵌入式系統(tǒng)設(shè)計者將設(shè)備和應(yīng)用實現(xiàn)最完美匹配的靈活性,并能以每通道較低的成本達到最高的數(shù)據(jù)吞吐量。
FPGA雖然具有很高靈活性,但相比于硬接線式架構(gòu),它的門極數(shù)量和非優(yōu)化型方案的硅面積增加,因而在功耗上產(chǎn)生了額外的成本。但是,65納米技術(shù)和性能相當?shù)腁SIC技術(shù)在量產(chǎn)中的應(yīng)用,讓FPGA不僅能在實驗室環(huán)境中降低功耗,還能在量產(chǎn)中也將功耗進一步降低。
盡管芯片層的功耗更高,但FPGA的通道平均功耗可以比DSP的低很多。DSP一般功耗只有3~4W,而FPGA的功耗為7~10W,但FPGA能處理相當于DSP的十倍的通道密度。
近幾年來,人們對DSP優(yōu)勢的推崇已經(jīng)轉(zhuǎn)變成為將FPGA和DSP技術(shù)結(jié)合起來,比如Xilnx Virtex-5 SXT系列產(chǎn)品。這讓FPGA能夠結(jié)合DSP算法處理,執(zhí)行原本非并行的任務(wù)。這樣的“基于DSP”的FPGA在某些信號處理應(yīng)用中已經(jīng)顯示出了巨大的吞吐量優(yōu)勢,這一點通過其在高端處理市場的成功就得到了很好的反映。但是,F(xiàn)PGA一般不適合處理連續(xù)有條件型數(shù)據(jù)流。
編程FPGA仍然很難,一般需要一種偏向硬件的語言,例如Verilog或VHDL。FPGA方案的代碼會比DSP方案長出數(shù)倍,這樣會增加開發(fā)成本,并延長上市時間。
基于C語言的合成工具還沒有實現(xiàn)C編碼式處理器方案的易用性和高性能。高級合成工具例如Simulink區(qū)塊圖合成目前還沒有得到廣泛應(yīng)用,而老的FPGA合成方法仍然延續(xù)著,尤其是當需要最大性能時。
混合多處理器系統(tǒng)
從一個設(shè)計工程師的角度來講,F(xiàn)PGA和DSP的同步開發(fā)讓他們能夠找到用于信號處理應(yīng)用的更新更好的方案。關(guān)于FPGA和DSP哪個更好的問題并沒有一個簡單的答案,而對于很多應(yīng)用來說一個混合式系統(tǒng)才是最好的選擇。這個系統(tǒng)結(jié)合了兩種技術(shù)來提供一個方案,而這樣的方案要比二者單純相加要更好一些。
圖1展示了一個標準的刀片子系統(tǒng),其中包括了4顆TI公司的DSP和1顆Xilinx的FPGA。除了在DSP和FPGA之間采用EMIF連接來實現(xiàn)最小過空的協(xié)處理,這個子系統(tǒng)還帶有一個全Serial RapidIO (SRIO)架構(gòu),使其能夠用于無線電數(shù)據(jù)發(fā)送,并可用作卡上和卡外兩個設(shè)備間的一個低延遲直接內(nèi)存存取。
圖1:DSP/FPGA模塊(AMC-D4F1)架構(gòu)圖
先進夾層卡(AMC)外形的可升級性貫穿了整個基架,尤其是當系統(tǒng)以SRIO作為主要數(shù)據(jù)傳輸接口而構(gòu)建的時候。在先進電信運算架構(gòu) (ATCA) 或MicroTCA基架系統(tǒng)中,集成者都可以選擇混合并匹配以DSP為中心的刀片和以FPGA為中心的刀片,來實現(xiàn)恰當?shù)募夹g(shù)平衡。
為了開發(fā)高效的混合系統(tǒng),SRIP等協(xié)議以及AMC等標準讓設(shè)計者和集成者可以在刀片和系統(tǒng)兩個層面上把握平衡。圖2就展示了一個典型的混合系統(tǒng)。
圖2:采用RapidFET系統(tǒng)管理和分析軟件的SRIO系統(tǒng)軟件解析圖.
圖中可以看到終點和轉(zhuǎn)接點的結(jié)合。這個系統(tǒng)包含了CommAgility AMC-D4F1卡等各種卡。
在CommAgility,我們的目的是通過提供一套包含了多個FPGA或DSP的AdvancedMC來確保設(shè)計者能夠開放選擇。這包括AMC-D4F1 (帶有4個TI的TMS320C6455 DSP和1個Xilinx的Virtex-4 FX系列FPGA)和AMC-D1F3(提供了1個DSP和3個FPGA)。這讓開發(fā)人員可以根據(jù)其整體處理要求、應(yīng)用開發(fā)和優(yōu)化階段以及有關(guān)DSP和FPGA的現(xiàn)有代碼庫的經(jīng)驗,來改變所用的技術(shù)。
將SRIO用到卡上和基架中讓各種元器件可以放到一起;AMC-D4F1利用了兩個4倍SRIO接口,提供了兩個高速的10Gbps鏈路,在MicroTCA,即將批準的AMC.4規(guī)格將成為系統(tǒng)jigsaw中的最后一個部分,盡管它并沒能阻止目前已經(jīng)非常流行的SRIO AMC生態(tài)系統(tǒng)。目前已經(jīng)有多家廠商在提供SRIO支持,既支持MicroTCA網(wǎng)絡(luò)中心運供應(yīng)商,還支持控制和信號處理AMC卡。[!--empirenews.page--]
互連的重要性
讓我們回到先前那個無線基帶處理的例子。如今一個一般的WiMAX基帶系統(tǒng)可以每個基站擁有24~48個天線數(shù)據(jù)流,數(shù)據(jù)速率可以達到每個數(shù)據(jù)流123 Mbps。這樣天線數(shù)據(jù)的總速率就達到了3~6 Gbps。
在以通過CDMA等擴展頻譜技術(shù)編碼的通道來支持多輸入多輸出(MIMO)系統(tǒng)的同時,所有基帶處理區(qū)塊還要獲得來自所有廣播天線的數(shù)據(jù)。為了實現(xiàn)這樣的良好性能,關(guān)鍵是要有一個高效的低延遲互連。
相比于以太網(wǎng),Serial RapidIO (SRIO)的協(xié)議過空更低,而且它和PCI Express不一樣,可以支持多個主站,所以SRIO在這種多天線系統(tǒng)中正日益流行。此外,SRIO的多點傳送功能在面向這類應(yīng)用的分布式系統(tǒng)中也是非常重要的。
SRIO還很適合于其它高性能信號處理應(yīng)用,包括雷達、成像和信號智能等。在這里,多點傳送可以成為一個非常有用的功能,比如在數(shù)據(jù)需要被發(fā)送到多個DSP的IPTV服務(wù)器等視頻處理應(yīng)用中。
在適應(yīng)外部天線時,F(xiàn)PGA方案會有一些困難。如今,執(zhí)行一個SRIO接口所需要的邏輯元件可以達到數(shù)千個門極,這個接口相比于DSP的硬連線接口來說是很珍貴的。FPGA廠商也實現(xiàn)了這一點,比如Xilinx的Virtex-5就推出了一個硬核PCI-Express接口。要避免這樣產(chǎn)生的成本,有一個很好的辦法就是利用一個FPGA來作為一個DSP的協(xié)處理器,其中FPGA和DSP通過DSP的外部存儲器接口總線來連接,讓數(shù)據(jù)能以較低的成本或者DSP處理器過空從邏輯元件的FPGA發(fā)送出來并發(fā)回到FPGA。
一個混合式DSP/FPGA系統(tǒng)中的無線基帶處理
為了理解對于設(shè)計人員的含義,我們可以來看看上面所討論的一個用于WiMax的特殊方案,以及該方案如何在一個DSP/FPGA多處理器板上應(yīng)用。3~6 Gbps的天線數(shù)據(jù)對于C6455這樣的一個DSP來說太大了,所以天線數(shù)據(jù)的處理就需要一個ASIC或FPGA來進行。
以CommAgility的AMC-D4F1 (包含了4個C4655 DSP和1 個FPGA)為例,其中天線數(shù)據(jù)的處理就是由Xilinx FPGA完成的。AMC-D4F1的卡上FPGA和AdvancedMC結(jié)構(gòu)之間的SRIO連接最適合用來將天線數(shù)據(jù)從MicroTCA基架的無線電卡上傳輸?shù)阶鳛榛鶐幚砜ǖ腁MC-D4F1。
在另一方面,WiMAX用戶數(shù)據(jù)每通道的速度大約為19Mbps,而C6455 DSP則可以輕松處理多個用戶通道。AMC-D4F1上的三個DSP有一個連接到FPGA的32位125MHz的外部存儲器接口,而每個DSP有一個64位接口。這樣就構(gòu)成了一個速度至少4 Gbps的接口,讓每個DSP可以處理超過100個用戶通道。
AMC-D4F1的背板SRIO連接性讓系統(tǒng)集成者可以配置多張卡來擴大到所需的基站尺寸,并使得廠商能夠采用一個隨需付費方案來部署基站。這是將資本支出最小化并獲得收入的一個重要因素。