FPGA研發(2) FPGA和他那些小夥伴們 (一) 架構組成。

         通常來講,“一個好漢三個幫”,一個完整的嵌入式系統中由單獨一個FPGA使用的情況較少。通常由多個器件組合完成,例如由一個FPGA+CPU來構成。通常爲一個FPGA+ARM,ARM負責軟件配置管理,界面輸入外設操作等操作,FPGA負責大數據量運算,可以看做CPU的專用協處理器來使用,也常會用於擴展外部接口。常用的有ARM+FPGA,DSP+FPGA,或者網絡處理器+FPGA等種種架構形式,這些架構形式構成整個高速嵌入式設備的處理形態。

     不得不說的是,隨着技術的進步,現在CPU中集成的單元也隨之增加,例如TI的“達芬奇”架構的處理器內部通常由ARM+DSP構成。同時異構的處理器形態業逐漸流行,如ARM9+ARM7的結構。這類一個主要處理系統(ARM9)外帶輔助處理系統(ARM7)的設計,同樣成爲現在處理器設計的流行方向。主處理系統運行嵌入式操作系統,而輔助處理單元則專注某一些的專用領域的處理。這些系統的應用減少了FPGA作爲CPU協處理單元的領域。因爲畢竟FPGA相比ARM等流行嵌入式處理器價格要相對較高。

     在這種情形下,FPGA的廠商似乎也感受到了壓力,不約而同推出了帶ARM硬核的FPGA,例如ALTERA的  和XILINX的ZYNQ和ALTERA的SOC FPGA。這是即是互相競爭的需要,也是同衆多CPU廠商一掰手腕的傑總。即使在這兩種在趨勢下,經典的處理器+FPGA的設計仍然可看做爲高性能嵌入式系統的典型配置。

      經典的處理器+FPGA的配置中有多種的架構形式,即多個處理器單元,可能是ARM,MIPS,或者DSP,FPGA也可能是多片的配置,具體架構形式於具體處理的業務相關和目標設備的定位也相關。因爲FPGA作爲簡單業務流大數據量的處理形態仍然是CPU無可比擬的優勢,FPGA內部可以開發大量業務數據並行,從而實現高速的數據處理。

     在實現高速處理方面,CPU的另一個發展趨勢是多核,多核處理器也能處理大數據量的業務的並行,例如業界TERILA已推出64核的多核處理器,採用MIPS處理器,通過二維MASH網絡連接在一起,形成NOC的結構。在性能上已經和現有的高速FPGA的處理能力上不相上下。但是多核處理器的不得不說的問題就是,同一業務流分配到多核處理上後,如需交互,例如訪問同一資源,就會造成讀寫的緩存一致的問題,解決的這一問題的天然思路是加鎖,即在變量訪問上加自旋鎖,但是帶來的問題就是處理性能的急劇下降。而FPGA無論並行處理和同一變量的訪問,都可以變成工程師的設計水平的問題,沒有原理性的挑戰。

       沒有一種器件可以滿足全人類的衆多需求,因此不用擔心FPGA沒有用武之地。必定是一系列產品的組合。下面主要介紹一下FPGA可以作爲現今熱門場景的幾種應用。

(1)網絡存儲產品,特別是現在的NAS,或者SAN設備上,其存儲的時間、接口、安全性等都要求較高,而FPGA無論處理性能還是擴展接口的能力都使其在這一領域大有作爲。現在高端FPGA單片就可以擴展32個或者更多4G或者8G的FC接口。並且其協議處理相對的固定,也使FPGA在這一領域有大量的可能應用。

(2)高速網絡設備,現在高速網絡設備10G、40/100G以太網設備領域,同樣FPGA也是關鍵的處理部件。特別是IPv6的商用化及大數據對於基礎設施的高要求,都使這一領域的處理應用會逐漸廣泛,這一領域通常是高速網絡處理器(NP)+FPGA的典型架構。

(3)4G等通信設備,對於新一代通信基站的信號處理,FPGA+DSP陣列的架構就是絕配。特別是在專用處理芯片面世之前,這樣的架構可以保證新一代通信基礎設施的迅速研發和部署。

      沒有完美的架構,只有合適的組合,各種芯片和架構都是爲應用服務,互相的滲透是趨勢,也是必然。FPGA相對處理器的可編程領域,仍然屬於小衆(雖然人數也不少)。但是正像一則笑話所說:大腿雖然比根命根子粗,但決沒有命子重要。這算開個玩笑。FPGA的實現爲以後的芯片化留下了許多可能和想象空間,從而在應用大量爆發時通過芯片化來大幅降低成本,這這也正是其他可編程器件所不能比擬的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章