目前,對高速通信與超快計算的需求正與日俱增。有線和無線通信標準的應用隨處可見,數據處理架構每天都在擴展。較為普遍的有線通信方式是以太網(LAN、WAN和MAN網絡)。手機通信是最為常見的無線通信方式,由應用了DSP的架構實現。電話作為語音連接的主要工具,目前正在不斷滿足日益增強的語音、視頻和數據要求。
系統設計人員在創建架構時不僅需考慮三網合一模式這一高端需求,還需滿足以下要求:高性能、低延遲、較低的系統成本(包括NRE)、可擴展、可延伸架構、集成現成(OTS)組件、分布式處理、支持多種標準和協議。
這些挑戰涉及到兩個主要方面:有線或無線架構中計算平臺/箱間的連接以及這些平臺/箱中的具體計算資源。
計算平臺間的連接
基于標準的連接目前較為普遍。并行連接標準(PCI、PCI-X、EMIF)可以滿足現在的需求,但在擴展性和延伸性方面略顯不足。隨著基于包處理方式的出現,使用趨勢明顯偏向高速串行連接(圖1)。
圖1:串行連接趨勢。 |
臺式電腦和網絡工業已采用了PCI Express(PCIe)和千兆位以太網/XAUI等標準。不過,無線架構中數據處理系統的互連要求略有不同:低引腳數、背板芯片對芯片連接、帶寬和速度可擴展、DMA和信息傳輸、支持復雜的可擴展拓撲、多點傳輸、高可靠性、絕對時刻同步、服務質量(QoS)。
串行RapidIO(SRIO)協議標準可輕易滿足并超過大多數上述要求。因此,SRIO成了無線架構設備中數據平面連接的主要互連。
圖2:SRIO網絡構建模塊。 |
SRIO網絡圍繞兩個基本模塊構建而成:端點和交換機(圖2)。端點對包進行源端(source)和宿端(sink)處理,而交換機在端口間傳送包,對其不加解析。SRIO以一個三層架構層級指定(圖3):
圖3:分層SRIO架構。 |
1. 物理層規范說明器件級接口的細節,如包傳輸機制、流量控制、電氣參數及低級錯誤管理。
2. 傳輸層規范為包在端點間移動提供必需布線信息。交換機通過使用基于器件的布線在傳輸層中運行。
3. 邏輯層規范定義總體協議和包格式。所有包的有效載荷字節數為256或更少。事務使用指向34-/50-/66位地址空間的加載/存儲/DMA操作。事務包括:NREAD-讀操作(返回數據即為響應)、NWRITE-寫操作,無響應、NWRITE_R-強韌型寫入,響應來自目標端點、SWRITE-流式寫入、ATOMIC-原子性讀/改/寫、MAINTENANCE-系統查找、探測、初始化、配置和維護操作。
SRIO-優勢前景
以3.125Gbps運行的4通道SRIO鏈路可以提供10Gbps的流量,且保證數據完整性。由于SRIO類似于微處理器總線(存儲器和器件尋址,而非LAN協議的軟件管理),因此包處理是通過硬件實現的。這意味著可大幅削減I/O處理方面的額外開銷,降低延遲并增加系統帶寬。但與多數總線接口不同,SRIO接口的引腳數較少,帶寬在鏈路為3.125Gbps的基礎上可繼續擴展。
平臺中的計算資源
如今的應用對處理資源的數量要求較高。基于硬件的應用發展迅猛。壓縮/解壓縮算法、反病毒和入侵監測等防火墻應用以及要求AES、三倍DES和Skipjack等加密引擎的安全應用起初都是通過軟件實現的,但目前都已轉為硬件實現。這就需要帶寬和處理能力能夠實現共享的大型并行生態系統。系統需要使用CPU、NPU、FPGA或ASIC,從而實現共享或分布式處理。
在構建能夠適應未來發展變化的系統時,需考慮所有這些針對具體應用的要求,對計算資源的要求包括:
1. 多個主機-分布式處理;
2. 直接點對點通信;
3. 多個異構操作系統;
4. 復雜拓撲結構;
5. 發現機制;
6. 多余通路(故障恢復);
7. 可支持高可靠性;
8. 無損協議;
9. 自動重新培訓和器件同步;
10. 系統級錯誤管理;
11. 能夠支持通信數據平面;
12. 多點傳輸;
13. 流量管理(有損)操作;
14. 鏈路、級別和基于流的流量控制;
15. 協議互通;
16. 較高事務并發度;
17. 模塊化、可擴展;
18. 支持廣泛生態系統。
由無線架構中計算器件所派生出的各種各樣的要求,SRIO協議都可支持。
SRIO規范(圖4)對基于包的分層架構進行了定義,可支持多個域或市場區間,從而有利于系統架構設計師設計新一代計算平臺。通過將SRIO用作計算互連,可輕松實現以下功能:使架構獨立;部署可靠性為運營商級的可擴展系統;實現高級流量管理;提供高性能、高流量。此外,由大批供應商構成的生態群使得OTS部件與組件的選擇十分容易。
RIO為基于包的協議,該協議支持:
1. 通過基于包的操作(讀、寫、消息)移動數據;
2. I/O非連貫功能和緩存連貫功能;
3. 通過支持數據流、數據分區和重組功能而實現高效互通和協議封裝;
4. 通過啟用數百萬個流而實現流量管理框架,支持256流量級別和有損操作;
5.流控制,支持多個事務請求流,提供QoS;
6. 支持優先級別,從而可緩解帶寬分配和事務順序等問題,并避免死鎖;
7. 支持拓撲,通過系統發現、配置和維護支持標準(樹狀和網格)與任意硬件(菊花鏈)拓撲,包括支持多個主機;
8. 錯誤管理和分類(可恢復、提醒和致命性)。
圖4:SRIO規范。 |
Xilinx針對SRIO的IP解決方案
用于SRIO的Xilinx端點IP解決方案針對RapidIO規范(v1.3)而設計。用于SRIO的完整Xilinx端點IP解決方案包括以下部分(圖5):
圖5:用于SRIO的Xilinx端點IP架構。 |
1. 用于SRIO的Xilinx端點IP為軟性LogiCORE解決方案。對于通過邏輯(I/O)和傳輸層上的目標和發起接口源出和接收用戶數據,都支持完全兼容的最大有效載荷操作。
2. 緩沖層參考設計作為源代碼提供,可自動重新劃分包的優先級別并調整隊列。
3. SRIO物理層IP可實現鏈路培訓和初始化、發現和管理以及錯誤和重試恢復機制。另外,高速收發器在物理層IP中例化,可支持線速率為1.25Gbps、2.5Gbps和3.125Gbps的1通路和4通路SRIO總線鏈路。
4. 寄存器管理器參考設計允許SRIO主機器件設定并維護端點器件配置、鏈路狀態、控制和超時機制。另外,寄存器管理器上提供的端口可供用戶設計探測端點器件的狀態。
用于SRIO的整個Xilinx端點IP LogiCORE解決方案已全面經過測試,硬件驗證也已進行,目前正在就與主要SRIO器件供應商之間的協同工作能力接受測試。LogiCORE IP通過Xilinx CORE Generator軟件GUI工具提供,該工具允許用戶定制波特率和端點配置,并支持流量控制、重發送壓縮、門鈴和消息接發等擴展功能。這樣,您便可創建一個靈活、可擴展的定制SRIO端點IP,對自己的應用進行優化。
Virtex-5 FPGA計算資源
用于SRIO的Xilinx端點IP可確保在使用SRIO協議的鏈路雙方間建立高速連接。在最小的Virtex-5器件中,IP僅占用不到20%的可用邏輯資源,因此可確保用戶設計使用大多數邏輯/存儲器/I/O,集中實現系統應用。讓我們一起看一下Virtex-5器件資源。
邏輯模塊
Virtex-5邏輯架構帶有基于65nm工藝的六輸入查找表(LUT),可提供最高的FPGA容量。進位邏輯經過改進后,該器件的性能比之前的器件高出30%。由于所需LUT減少,該器件的功耗明顯降低,且具備高度優化的對稱布線架構。
存儲器
Virtex-5存儲器解決方案包括LUT RAM、Block RAM及與大型存儲器進行接口的存儲器控制器。Block RAM結構包括預制FIFO邏輯,即可用于外部存儲器的嵌入式檢錯和糾錯(ECC)邏輯。另外,Xilinx可通過存儲器接口生成器(MIG)工具向系統設計中的例化存儲器控制器模塊提供綜合設計資源。這樣,您便可利用經過硬件驗證的解決方案,并將精力集中于設計中的其他關鍵部位。
并行和串行I/O
SelectIO技術幾乎可在設計中實現客戶所需的任何并行源同步接口。使用SelectIO接口,可方便地針對40多種不同的電氣標準創建符合行業標準的各類接口,也可創建專用接口。SelectIO接口提供的最大速率為700Mbps(單端)和1.25Gbps(差分)。
所有Virtex-5 LXT FPGA都裝有一個GTP收發器,運行速度介于100Mbps到3.2Gbps之間。另外,GTP收發器在業界屬于最低功率MGT之一,每個收發器的功率小于100mW。引入用來簡化設計的成熟設計技術和方法后,高速串行設計的流程變得簡單快捷。
另外,通過新設計工具(RocketIO收發器向導與IBERT)和新硅片性能(TX和RX均衡與內置偽隨機位序列(PRBS)生成器和檢查器),可以開發移植架構的各種功能和優勢,從并行I/O標準到30多種串行標準及新興的串行技術。
DSP模塊
每個DSP48E Slice可提供550MHz的性能水平,允許您創建要求單精度浮點性能的各類應用,如多媒體、視頻和圖像應用以及數字通信。這擴展了器件的功能,使其優于之前的器件,同時還提供了功率優勢,動態功耗的降低幅度超過了40%。Virtex-5 FPGA中還增加了DSP48E Slice的數量,這些模塊相對于可用邏輯資源及存儲器的比率從而得到了優化。
集成I/O模塊
所有Virtex-5 LXT FPGA器件都具備一個端點模塊,用來實現PCIe功能。通過這種硬IP端點模塊,只需簡單地重新進行配置即可不費吹灰之力輕松地從x1擴展至x2和x4或x8。該模塊(x1、x4和x8鏈路)已通過嚴格的PCI-SIG兼容性和協同工作能力測試,用戶可放心用于PCIe。
另外,所有Virtex-5 LXT FPGA器件均裝有三態以太網媒體訪問控制器(TEMAC),速度可達10/100/1,000Mbps。該模塊可提供專用以太網功能,再結合Virtex-5 LXT RocketIO收發器和SelectIO技術,可方便您與許多網絡器件進行連接。
利用針對PCIe和以太網的這兩種模塊,可以創建一系列定制包處理和網絡產品,這些產品可大幅降低資源利用率和功耗。通過使用Xilinx FPGA中提供的這些各式資源,可以輕松創建并部署智能解決方案。
讓我們看一下利用SRIO和DSP技術的一些系統設計示例。
SRIO嵌入式系統應用
可以考慮圍繞基于x86架構的CPU構建一個嵌入式系統。CPU架構已高度優化,可輕易滿足要求玩弄數字于股掌的各類應用。您可以輕松地在使用CPU資源的硬件和軟件中實現各類算法,以執行不需要進行大量乘法運算的電子郵件、數據庫管理以及文字處理等功能。性能以每秒鐘所產生的指令/運算為數百萬還是數十億來衡量,而效率通過完成特定運算所需的時間/周期來衡量。
需進行大量定點和浮點運算的高性能應用在處理數據時需花費較長時間。這方面的示例包括信號過濾、快速傅里葉變換、矢量乘法和搜索、圖像/視頻分析和格式轉換以及簡單的數字處理算法。在DSP中實現的高端信號處理架構可輕松執行這些任務,并可優化此類運算。這些DSP的性能以每秒鐘進行多少次乘法和累加運算來衡量。
您可以方便地設計使用CPU和DSP的嵌入式系統,以充分利用兩種處理技術。圖6表示使用FPGA、CPU和DSP架構的系統示例。
圖6:基于CPU的可擴展、高性能、嵌入式系統。 |
高端DSP中的主要數據互連為SRIO。x86 CPU中的主要數據互連為PCIe。如圖6所示,您可輕松部署FPGA以擴展DSP應用或對離散數據互連標準(如PCIe和SRIO)進行橋接。
在圖6所示系統中,PCIe系統由根聯合體芯片組托管。SRIO系統由DSP托管。32/64位PCIe地址空間(基址)可智能化地被映射至34/66位SRIO地址空間(基址)。PCIe應用可通過存儲器或I/O讀寫與根聯合體進行通信。這些事務會通過NRead/NWrite/SWrite輕松映射至SRIO空間。
在Xilinx FPGA中設計此類橋接功能很簡單,因為這些Xilinx端點功能模塊、PCIe和SRIO的后端接口都很相似。這樣,“包隊列”模塊便可執行從PCIe到SRIO或反方向的交叉任務,從而建立可穿越兩個協議域的包流。
SRIO DSP系統應用
在DSP處理為主要架構要求的應用中,系統架構可按圖7進行設計。
圖7:DSP密集型陣列。 |
基于Virtex-5 FPGA的DSP處理與系統中的其他DSP器件結合即可構成智能協處理解決方案。如果使用SRIO作為數據互連,整個DSP系統解決方案就可以方便地進行擴展。此類解決方案能夠適應未來的發展變化,提供了延伸性,而且受多種形狀因子的支持。在DSP密集型應用中,通過將相應處理任務卸載至x86架構中可實現快速數字分析或數據處理。使用Virtex-5 FPGA可輕易地連接PCIe子系統和SRIO架構,從而實現高效功能卸載。
SRIO基帶系統應用
現有3G網絡正在以較快的步伐邁向成熟,OEM也在為緩解特定容量和覆蓋率問題而部署新的形狀系數。要解決此類特殊問題,對市場趨勢做出評估,基于FPGA的DSP架構是理想選擇,該架構將SRIO用作數據層面標準。另外,早期DSP系統可快速升級,變為快速、低功耗FPGA DSP架構,從而獲得可擴展性優勢。
如圖8中的系統所示,您可以對Virtex-5 FPGA進行設計,以滿足現有對天線流量的線速率處理需求,還可通過SRIO提供與其他系統資源間的連接。現有早期DSP應用的固有并行連接速度較慢,因可應用于Virtex-5 FPGA的SRIO端點功能的存在,移植這些應用極為方便。
圖8:可擴展基帶上行鏈路/下行鏈路卡。 |
本文小結
SRIO正出現在大量新應用中,主要以有線和無線應用中的DSP為中心。在Xilinx器件中實現SRIO架構的主要優勢包括:
1. 整個SRIO端點解決方案的可用性;
2. 靈活性和可擴展性,便于使用同樣的硬件和軟件架構制成不同級別的產品;
3. 通過新GTP收發器和65nm技術實現了低功耗;
4. 通過CORE Generator軟件GUI工具輕松進行配置;
5. 與業界領先的供應商間的硬件協同工作能力經過了驗證,支持其器件上的SRIO連接;
6. 通過使用PCIe和TEMAC等集成I/O模塊,實現了系統集成,從而降低了總體系統成本。
另外,Virtex-5 FPGA所具備的DSP資源可在功耗、性能和帶寬方面滿足現有早期DSP系統的要求。更多優勢還體現在系統集成方面,諸如以太網MAC的功能模塊、用于PCIe的端點模塊、處理器IP模塊、存儲元件及控制器等等。另外,由于IP核的詳盡列表支持在FPGA中進行多種源整合,可以大大節省總體系統成本。
評論
查看更多