最近幾年,F(xiàn)PGA這個概念越來越多地出現(xiàn)。例如,比特幣挖礦,就有使用基于FPGA的礦機。
還有,之前微軟表示,將在數(shù)據(jù)中心里,使用FPGA“代替”CPU,等等。
國際上很多大的芯片廠商如英特爾、紫光、浪潮等企業(yè)均已開始布局FPGA。

那么FPGA究竟是什么,它又有著怎樣的魔力?
FPGA即現(xiàn)場可編程門陣列,又稱為“萬能芯片”,它是在PLA、PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。
它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設計一個數(shù)字系統(tǒng)。
相對于 CPU、GPU、ASIC(專用芯片)等傳統(tǒng)的芯片來講,F(xiàn)PGA有著怎樣的優(yōu)勢呢?
自誕生以來,F(xiàn)PGA就與 ASIC 糾纏不清,我們首先來看看他們兩個的對比。
FPGA 相比 ASIC 的優(yōu)勢:硬件可編程
來看看什么是ASIC?
早期要實現(xiàn)一個收音機的功能,需要電容、電阻、三極管等等一系列分立的元器件來搭建一個復雜的電路,這種集成電路,不僅占用面積大,分立的元器件使用量也比較多。
如果把這些分立的元器件集成到一個芯片中,在這個芯片的外圍只需要少量的電阻、電容等配合就能實現(xiàn)完整的收音機功能,這就是ASIC芯片。
ASIC芯片將數(shù)量龐大的分立元器件集成到芯片內(nèi)部,電路板面積更小,集成度更高,電路的可靠性也變強。
ASIC在研發(fā)的過程中可能會存在這樣的問題,如果其中某些功能設計得不是很合理,就需要更改設計并提交給芯片制造廠家制造樣片,可能需要幾個月的時間。整個過程耗時長、費用高。
FPGA是一大堆預制的門和觸發(fā)器,具有可編程互連的特性??梢允褂眠@些基本模塊配置成你想要的任何邏輯功能。如果有錯誤,可以在幾秒鐘內(nèi)重新編程,而不需要數(shù)月才能知道結(jié)果。
再看看FPGA 相比 CPU、GPU 的優(yōu)勢:高吞吐、低延遲
高吞吐
FPGA 上的收發(fā)器可以直接接上 40 Gbps 甚至 100 Gbps 的網(wǎng)線,以線速處理任意大小的數(shù)據(jù)包;而 CPU 需要從網(wǎng)卡把數(shù)據(jù)包收上來才能處理,很多網(wǎng)卡是不能線速處理 64 字節(jié)的小數(shù)據(jù)包的。
例如FPGA云服務,利用云服務的方式將只有大型公司才能長期支付使用的FPGA服務推廣到了更多企業(yè)。
企業(yè)可以通過FPGA云服務器進行FPGA硬件編程,可將性能提升至通用CPU服務器的30倍以上。
低延遲
網(wǎng)卡把數(shù)據(jù)包收到 CPU,CPU 再發(fā)給網(wǎng)卡,即使使用 DPDK 這樣高性能的數(shù)據(jù)包處理框架,延遲也有 4~5 微秒。
更嚴重的問題是,通用 CPU 的延遲不夠穩(wěn)定,例如當負載較高時,轉(zhuǎn)發(fā)延遲可能升到幾十微秒甚至更高。
這對其他的硬件設備來說很難實現(xiàn),即使是高質(zhì)量的 CPU 也會有 50 微秒的延遲,但到了 FPGA 身上,這個時間會被縮短到 1 微秒。
比如,這個優(yōu)勢在噴氣式戰(zhàn)斗機的自動操作和高頻算法交易中將會大放異彩。

當 FPGA 變得易于編程、縮短編譯期且提高浮點計算能效時,GPU 很有可能被取代。
因其得天獨厚的優(yōu)勢,隨著人工智能時代的到來,F(xiàn)PGA 將在芯片領域大展身手。
馬云曾說過在人工智能時代,通信將只占20%,物聯(lián)網(wǎng)占80%,所有東西都會帶芯片,由此可見,芯片的需求量將會大大增加。
未來,F(xiàn)PGA有望成為芯片領域的主角。