為了支持“三重播放”應用,人們對高速通信和超快速計算的需求日益增大,這向系統開(kāi)發(fā)師、算法開(kāi)發(fā)師和硬件工程師等人員提出了新的挑戰,要求他們將各種標準、組件和聯(lián)網(wǎng)設備融合成一個(gè)整體。 同時(shí),開(kāi)發(fā)人員不但要跟上日益提高的性能需求,還得注意保持成本低廉有效利用基于串行RapidIO的FPGA作為DSP協(xié)處理器就能達到這些目的。 由于三重播放應用集合了話(huà)音、視頻和數據應用,因此必須采用新算法來(lái)設定其開(kāi)發(fā)和系統優(yōu)化策略的參數其間,開(kāi)發(fā)人員要解決以下問(wèn)題:構造可調整可擴展的架構、支持分布式處理、采用基于標準的設計,以及針對性能和成本進(jìn)行優(yōu)化。 仔細研究一下就會(huì )發(fā)現,為滿(mǎn)足應用需求而要、面對的這些挑戰主要涉及兩個(gè)主題:一是連接性,從本質(zhì)上說(shuō)就是實(shí)現不同設備、板卡和系統之間的“快速”數據轉移;二是計算能力,指設備、板卡和系統中分別可用的處理資源。 運算平臺之間的連接 基于標準的設計通常比“自由發(fā)揮”的設計簡(jiǎn)單得多,也是今天的典型設計模式并行連接標準(PCI、PCI-X、EMIF等)雖能滿(mǎn)足當前需求,但若考慮到可調整性和可擴展性就有所不足了隨著(zhù)分組處理技術(shù)的不斷進(jìn)步,連接標準的發(fā)展趨勢顯然傾向于高速串行連接從圖1中就能看出這一趨勢。 諸如PCIe和GbE/XAUI之類(lèi)的高速串行標準在臺式機和網(wǎng)絡(luò )行業(yè)已有應用但無(wú)線(xiàn)通信設施中的數據處理系統對互連方面的要求又稍有不同,它要求: 1. 管腳數少; 2. 需進(jìn)行底板以及芯片到芯片的連接; 3. 帶寬和速度可調; 4. 具備DMA和消息傳遞功能; 5. 支持復雜可調整的拓撲; 6. 支持多點(diǎn)傳送; 7. 高度可靠; 8. 支持當日時(shí)間(time of day)同步; 9. 可提供服務(wù)質(zhì)量(QoS) 圖1:向串行連接的發(fā)展趨勢 串行RapidIO (SRIO)協(xié)議標準可輕松滿(mǎn)足以上大部分要求,甚至超出這些要求的標準因此,串行RapidIO已成為無(wú)線(xiàn)通信基礎設備中用于數據層(data plane)互連的主流連接技術(shù)SRIO網(wǎng)絡(luò )建立在兩個(gè)“基本模塊”基礎之上:端點(diǎn)設備(Endpoint)和交換設備(Switch)端點(diǎn)設備負責收發(fā)數據包,交換設備負責在端口之間傳遞數據包,但不負責數據包的解釋圖2給出了SRIO網(wǎng)絡(luò )的構建模塊。 圖2:SRIO網(wǎng)絡(luò )的構建模塊 按規范定義,串行RapidIO有用3層架構,如圖3所示。 圖3:SRIO架構 其中包含: 物理層——負責描述器件級接口規范,例如分組傳輸機制、流量控制、電特性以及低級錯誤管理。 傳輸層——為在不同端點(diǎn)設備之間傳送分組提供路由信息交換設備以基于器件的路由方式工作于傳輸層。 邏輯層——定義總體的協(xié)議和分組格式每個(gè)分組最多包含256字節的載荷事務(wù)通過(guò)Load、Store或DMA操作來(lái)訪(fǎng)問(wèn)大小為34/50/66比特的地址空間。 SRIO有多種優(yōu)點(diǎn)一個(gè)運行于3.125 Gbps的4通道SRIO鏈路能在完全保持數據完整性的前提下提供10 Gbps的流量SRIO與微處理器總線(xiàn)類(lèi)似,它在硬件中完成存儲器和器件尋址以及分組處理這不但大大降低了用于I/O處理的開(kāi)銷(xiāo),減小了延遲,也增大了其相對于其他總線(xiàn)接口的系統帶寬但與大多數其他總線(xiàn)接口不同的是,SRIO接口的引腳數很少,而且其基于高速串行鏈路的可調整帶寬可在1.25 - 3.125 Gbps范圍內調整圖4為SRIO規范的圖解。 圖4:SRIO規范 平臺中的運算資源 有了可配置的處理資源,開(kāi)發(fā)人員就可以用硬件實(shí)現他們的應用,例如數據壓縮和加密算法甚至過(guò)去只在軟件中實(shí)現的整套防火墻和保密應用,如今都可以在硬件上實(shí)現但這樣做需要具備共享帶寬和強大處理能力的大型并行生態(tài)系統,也就是說(shuō),要求利用CPU、NPU、FPGA和/或ASIC進(jìn)行共享式或分布式處理構建此類(lèi)系統時(shí),對運算資源的一些要求包括: 1. 支持復雜拓撲的分布式處理能力; 2. 高度可靠的直接對等通信能力; 3. 多個(gè)異構操作系統; 4. 通過(guò)多個(gè)異構操作系統支持通信數據層; 5. 具有廣泛生態(tài)系統支持的模塊化和可擴展平臺 SRIO協(xié)議規范和架構支持嵌入式和無(wú)線(xiàn)基礎設施領(lǐng)域中運算設備的不同要求有了SRIO,就可以實(shí)現系統結構的獨立性,部署達到運營(yíng)商級可靠度、具備高級流量管理功能,并具有高性能和高吞吐量的可擴展系統此外,廣泛的供應商生態(tài)系統也更方便設計師采用現貨元件構造SRIO系統SRIO是一種基于分組的協(xié)議,它支持: 1. 采用分組操作(包括讀、寫(xiě)和消息傳遞)實(shí)現數據搬移; 2. I/O非一致性功能和緩存一致性功能; 3. 通過(guò)支持數據流傳送和SAR功能實(shí)現高效的互通和協(xié)議封裝; 4. 通過(guò)支持數百萬(wàn)條數據流、256種流量類(lèi)別和有損操作實(shí)現一種流量管理架構; 5. 支持多事務(wù)請求流(包括配置QoS)的流量控制; 6. 為減少帶寬分配、事務(wù)預定和死鎖避免等問(wèn)題而支持優(yōu)先級劃分; 7. 通過(guò)系統發(fā)現、配置和學(xué)習實(shí)現對標準拓撲(樹(shù)型和網(wǎng)格型)和任意拓撲(菊鏈)等多種硬件拓撲方式的支持,包括支持多個(gè)主機; 8. 錯誤管理和分類(lèi)(可恢復、通知和嚴重) 串行RapidIO的IP方案 為了在通過(guò)邏輯(I/O)和傳輸層IP上的目標接口和源接口收發(fā)用戶(hù)數據時(shí)支持完全兼容的最大載荷操作,Xilinx等廠(chǎng)商根據最新的RapidIO v1.3規范設計了其端點(diǎn)IP解決方案。 圖5所示是Xilinx的一套完整的SRIO端點(diǎn)IP方案,它包含以下組成部分: 1. LogiCORE RapidIO 邏輯 (I/O)和傳輸層IP; 2. 緩沖層參考設計; 3. LogiCORE串行RapidIO物理層IP; 4. 寄存器管理器參考設計 圖5:Xilinx的 SRIO端點(diǎn)IP架構 IP架構 Xilinx提供了緩沖層參考設計的源代碼,該設計可完成分組的自動(dòng)排隊和優(yōu)先級重新劃分SRIO物理層IP可以實(shí)現鏈路訓練和初始化、發(fā)現和管理以及錯誤與重試恢復機制此外,在該物理層IP中還對高速收發(fā)器進(jìn)行了實(shí)例化,以便支持線(xiàn)速為1.25Gbps、2.5Gbps和3.125Gbps 的1通道和4通道SRIO總線(xiàn)連接。 該方案中提供的寄存器管理器參考設計允許SRIO主設備對端點(diǎn)設備配置、鏈路狀態(tài)、控制和超時(shí)機制進(jìn)行配置和維護另外,該寄存器管理器還提供了可讓用戶(hù)設計探測端點(diǎn)設備狀態(tài)的端口。 LogiCORE則提供了完整的端點(diǎn)IP該IP已通過(guò)業(yè)界領(lǐng)先SRIO器件廠(chǎng)商的測試用戶(hù)可通過(guò)Xilinx CoreGen GUI工具獲得LogiCORECoreGen工具可以幫助用戶(hù)配置波特率和端點(diǎn)LogiCORE支持流量控制、重傳抑制、門(mén)鈴和消息傳遞等擴展特性因此,用戶(hù)可以創(chuàng )建一套專(zhuān)門(mén)針對應用需求優(yōu)化了的靈活、可調整和定制化的SRIO端點(diǎn)IP。 利用Xilinx和其他廠(chǎng)商提供的大多數高性能FPGA中的各種資源,系統設計師就能輕松創(chuàng )建并部署其智能方案,以增強產(chǎn)品在上市時(shí)間、可調整性、可擴展性、適應未來(lái)發(fā)展等各方面的優(yōu)勢下面給出了一些采用SRIO和DSP技術(shù)的系統設計實(shí)例。 SRIO系統應用實(shí)例 1.嵌入式系統:像x86這樣的CPU結構是針對那些無(wú)需進(jìn)行大量乘法運算的一般應用優(yōu)化過(guò)的相比而言,DSP結構則是針對包括濾波、FFT、矢量乘法和查找以及圖像或視頻分析等信號處理操作優(yōu)化過(guò)的。 因此,同時(shí)采用CPU和DSP的嵌入式系統可以輕松利用通用處理器和信號處理器兩種結構的優(yōu)勢圖6給出了一個(gè)此類(lèi)系統的例子,其中同時(shí)包含FPGA、CPU和DSP架構。 圖6:基于CPU的高性能DSP子系統 在高端DSP中,串行RapidIO已成為主流數據互連方式x86 CPU中主要的數據互連則采用PCI Express實(shí)現如圖6所示,對FPGA進(jìn)行一些簡(jiǎn)單的配置,就能用它調整DSP應用的規模,和/或橋接幾種完全不同的互連標準(如PCI Express 和串行RapidIO)。 在該系統中,管理PCI Express系統的是Root Complex芯片組,SRIO系統則受一塊DSP管理PCIe的32/64位地址空間(基地址)可自動(dòng)映射至34/66位SRIO地址空間(基地址)PCIe應用程序通過(guò)內存或I/O讀寫(xiě)與Root Complex芯片組通信這些事務(wù)均可通過(guò)流寫(xiě)入、原語(yǔ)和確認讀/寫(xiě)事務(wù)(SWRITEs ATOMIC NREADs NWRITE/NWRITE_Rs)等I/O操作輕松映射至SRIO空間。 在Xilinx的FPGA中設計此類(lèi)橋接功能非常簡(jiǎn)單,因為PCI Express的后端接口和串行RapidIO端點(diǎn)的功能模塊是類(lèi)似的分組隊列模塊隨后就可以實(shí)現從PCIe到SRIO或從SRIO向PCIe的轉換,從而在這兩個(gè)協(xié)議域之間建立數據流。 2.DSP處理應用:在那些DSP處理是主要架構要求的應用中,系統結構可按圖7所示方式設計。 圖7:需要強大DSP處理能力的器件 Xilinx Virtex-5 FPGA在該系統中就可用作其他DSP器件的協(xié)處理器如果用SRIO進(jìn)行數據互連,這整套DSP系統方案還可輕松實(shí)現調整這樣的方案具備可擴展性,適應未來(lái)的發(fā)展,而且還能以多種外形尺寸實(shí)現。 當需要強大DSP功能的應用還需要進(jìn)行快速大量的復雜運算或數據處理時(shí),可以將這些處理任務(wù)卸載至x86 CPU中去運行Xilinx Virtex-5 FPGA允許對PCIe子系統和SRIO結構進(jìn)行橋接,從而實(shí)現高效的功能卸載。 3. 基帶處理系統 隨著(zhù)3G網(wǎng)絡(luò )快速成熟,OEM廠(chǎng)商將會(huì )采用新的外形尺寸的器件和設備來(lái)減少容量和覆蓋方面的問(wèn)題,使用SRIO并基于FPGA的DSP架構正是應對此類(lèi)挑戰的絕佳方案傳統DSP系統也可重新調整為這種快速低功耗的基于FPGA的結構,以便充分利用FPGA的可調整性?xún)?yōu)勢。 在此類(lèi)系統中,如圖8所示,FPGA可以在滿(mǎn)足天線(xiàn)業(yè)務(wù)線(xiàn)速處理要求的同時(shí)通過(guò)SRIO為其他系統資源提供連接而由于串行RapidIO協(xié)議提供的速度和帶寬均很高,所以那些內部固有低速并行連接的現存傳統DSP應用要移植到這類(lèi)系統中也很簡(jiǎn)單。 圖8:基帶處理 本文小結 串行RapidIO正在越來(lái)越多的新應用中嶄露頭角,特別是在采用DSP的有線(xiàn)和無(wú)線(xiàn)應用中在Xilinx器件中實(shí)現串行RapidIO主要有以下優(yōu)勢: 1. Xilinx提供了完整的SRIO端點(diǎn)方案; 2. 可利用同樣的軟、硬件結構,通過(guò)靈活的調整,實(shí)現不同類(lèi)型的產(chǎn)品; 3. 由于Xilinx器件采用了新型GTP收發(fā)機和65nm 技術(shù),因此功耗很低; 4. 通過(guò)CoreGen GUI 可實(shí)現方便的可配置性和靈活性; 5. 由于業(yè)界領(lǐng)先的廠(chǎng)商都有器件支持SRIO連接,因而硬件互通性有保證; 6. 可通過(guò)使用PCIe和TEMAC等集成IO模塊實(shí)現系統集成,從而降低系統整體成本。 |