自FPGA誕生以來,F(xiàn)PGA(現(xiàn)場可編程門陣列)就引起了人們的關注。在1980年代中期,Ross Freeman和他的同事從Zilog購買了該技術,并創(chuàng)建了Xilinx,目標是ASIC仿真和教育市場。(Zilog來自??松?,因為在1970年代人們已經(jīng)擔心石油將在30年后用盡,今天仍然如此)。同時,Altera以類似技術為核心成立。
FPGA是一種由電路編程的芯片。它被稱為“模擬”電路。這個模擬比實際電路運行的速度要慢,如果它是在ASIC中實現(xiàn)的話——它具有較慢的時鐘頻率并使用更多的功率,但是它可以每幾百毫秒重新編程一次。
制造ASIC的人們開始使用FPGA來仿真ASIC,然后再將其應用到掩模上并發(fā)送到工廠進行制造。英特爾,AMD和許多其他公司在制造之前使用FPGA來仿真其芯片。
觸動了電信行業(yè)的神經(jīng)
電信行業(yè)一直大量使用FPGA。電信標準不斷變化,建造電信設備非常困難,因此首先提供電信解決方案的公司往往會占領最大的市場份額。由于ASIC需要花費很長時間才能制造,因此FPGA提供了捷徑的機會。最初的電信設備版本開始采用FPGA,這引發(fā)了FPGA價格沖突。盡管FPGA的價格與ASIC仿真市場無關緊要,但電信芯片的價格卻很重要。許多年前,AT&T和朗訊制造了自己的FPGA,稱為ORCA(優(yōu)化的可重配置單元陣列),但就硅片的速度或尺寸而言,它們與Xilinx或Altera不具有競爭優(yōu)勢。
如今,華為已成為FPGA的最大客戶。中美之間最近的緊張關系可能始于美國的FPGA,這使得華為在兩年前世界上任何其他廠商都準備好開始競爭之前,就在提供5G電信設備方面擁有優(yōu)勢。
FPGA的價格觸及了神經(jīng)
早期,F(xiàn)PGA被用于SDRs(軟件定義的無線電),同時構建了可同時用于許多不同標準的通信的無線電,實質(zhì)上只有一部電話能說多種語言。這次,F(xiàn)PGA觸手可及。SDR技術的實施方式存在分歧。商業(yè)供應商開發(fā)了具有成本效益的解決方案,如今地球上的每個基站都具有SDR技術。另一方面,在國防界,SDRs是由大型國防承包商建造的,他們要保護的是利潤豐厚的傳統(tǒng)產(chǎn)品線。結果是基于FPGA的無線電產(chǎn)品的價格過高,以致美國國防市場的一部分對其使用產(chǎn)生了持續(xù)的過敏反應。
接下來,F(xiàn)PGA試圖在DSP(數(shù)字信號處理器)和嵌入式市場中發(fā)展。在角落里幾乎沒有硬微處理器的FPGA開始出現(xiàn)。銷售這些新的FPGA的壓力是如此之大,以至于如果客戶拒絕新的芯片系列,它們將被列入黑名單,有時甚至會拒絕服務幾個月。鑒于FPGA產(chǎn)品因其巨大的表面積和知識產(chǎn)權層而無法降低價格,因此,發(fā)展FPGA市場的壓力一直而且仍然是巨大的,F(xiàn)PGA公司征服新市場的失敗的規(guī)模也是如此。
在HPC和數(shù)據(jù)中心中觸及神經(jīng)
在過去的幾年中,F(xiàn)PGA試圖在HPC(高性能計算)和數(shù)據(jù)中心市場中發(fā)展。2017年,微軟宣布在數(shù)據(jù)中心中使用Altera FPGA,而英特爾則收購了Altera。2018年賽靈思公司宣布其“數(shù)據(jù)中心首先”戰(zhàn)略,賽靈思CEO在分析師面前宣布,賽靈思不是FPGA公司了。這可能是一種輕微的戲劇化,但從歷史上看是相關的。
在HPC和FPGA的數(shù)據(jù)中心使用中,當今的主要障礙是布局和布線 -運行將電路映射到FPGA元件的專有FPGA供應商軟件所花費的時間。在大型FPGA和快速CPU服務器上,布局和布線最多需要三天,甚至三天后,很多次軟件仍無法找到映射。
觸及石油和天然氣中的神經(jīng)
然而,在石油和天然氣的實施中,2007年左右有了一個利基市場。傳統(tǒng)計算機模擬地球上的鉆孔以發(fā)現(xiàn)石油所花費的時間比鉆探現(xiàn)場的實際建筑和鉆探本身更長。FPGA加速器的使用極大地改變了這種顛倒的時序。石油公司數(shù)據(jù)中心中的第一個FPGA,用于計算地震圖像,由Maxeler Technologies制造,并交付給Chevron。
在石油和天然氣中,F(xiàn)PGA的使用擴展了幾年,直到ASIC行業(yè)的壓力導致其恢復為標準CPU技術。如今,石油和天然氣中的預測和模擬仍然很重要,地震成像大多在CPU和GPU上完成,但FPGA的機會仍然存在。這提醒我們,“今天的新事物是明天的遺產(chǎn)”,當然,今天的新事物是AI,并且專注于數(shù)據(jù)。
盡管如此,F(xiàn)PGA仍然是一種快速上市的方式,一種獲得競爭優(yōu)勢的簡單方法以及許多任務關鍵情況的必不可少的技術-盡管與ASIC相比,每塊芯片價格昂貴。但是,與在CPU或GPU上運行軟件相比,在HPC和數(shù)據(jù)中心中,F(xiàn)PGA的運營成本大大降低。所需的FPGA更少,與CPU和GPU相比,所需的散熱更少。FPGA使得數(shù)據(jù)中心更小,從而使運營商感到不安,他們擔心自己的數(shù)據(jù)中心可能會縮小。
ASIC與FPGA
使用FPGA的另一種方法是補充ASIC。構建ASIC的目的是保持固定功能,同時增加FPGA,以為產(chǎn)品的最新更改或適應不同市場提供一定的靈活性。
現(xiàn)代FPGA集成了越來越多的硬件功能,并且變得越來越像ASIC,而ASIC有時會在其設計中添加一些FPGA結構,以進行調(diào)試,測試,現(xiàn)場修復以及根據(jù)需要添加少量功能的靈活性。
盡管如此,ASIC團隊一直在與FPGA概念抗爭。ASIC設計師問:“您想要什么功能?” 如果回答是“我還不知道”,他們就會不耐煩。
無人駕駛汽車產(chǎn)業(yè)就是這樣的新戰(zhàn)場。由于算法不斷變化,并且法律法規(guī)可能會在汽車駛入現(xiàn)場時發(fā)生變化,因此需要更新駕駛員,因此解決方案必須具有靈活性。FPGA的時鐘頻率較低,因此散熱片較小,因此物理尺寸比CPU和GPU小。更低的功耗和更小的尺寸使FPGA成為顯而易見的選擇。盡管如此,GPU更易于編程,并且不需要三天的布局和路線。
此外,能夠在車內(nèi)和云中(主要用于模擬和測試)運行相同的代碼是至關重要的,因此FPGAs必須先在云中可用,然后才能在車內(nèi)使用。由于這些原因,許多開發(fā)人員更喜歡GPU。
FPGA的發(fā)展
FPGA正在不斷發(fā)展?,F(xiàn)代接口正試圖使FPGA易于編程,更加模塊化,并與其他技術更加協(xié)作。FPGA支持AXI(高級可擴展接口)總線,這使它們更易于編程,但同時也帶來了極大的效率低下,并使FPGA的性能下降,最終使競爭力下降。學術工作,例如Eric Chung的關于FPGA動態(tài)網(wǎng)絡的論文,有助于解決路由問題,但是這種先進的思想尚未為業(yè)界所接受。
FPGA如何連接?對于具有大量數(shù)據(jù)流的HPC工作負載,您可以使用PCI Express并部署通信隱藏技術。但是,像NFV(網(wǎng)絡功能虛擬化)這樣的小型工作負載卻可以同時為大量用戶提供服務。通常,對于NFV和虛擬機加速,F(xiàn)PGA必須直接連接到CPU,可能使用緩存一致性作為一種通信機制,這是VMware最近調(diào)查的結果。當然,關鍵特性是能夠使FPGA崩潰而不使CPU崩潰,反之亦然。超標量技術公司正在從IBM大型機時代重新發(fā)現(xiàn)需求,從而將越來越多的復雜性帶入標準化平臺。
群眾也有機會。在提供FPGA平臺時,沒有ASIC開發(fā)預算且不了解最新芯片制造挑戰(zhàn)和解決方案的組織可以開發(fā)電路并在其產(chǎn)品中建立競爭優(yōu)勢,例如在物聯(lián)網(wǎng)(IoT)網(wǎng)絡邊緣、靠近傳感器、顯示器或僅在數(shù)據(jù)線上在線計算的新機會。
同時,F(xiàn)PGA公司正在垂直向上推堆棧,并將其推入CPU插槽,英特爾在該市場上占據(jù)主導地位,例如,包括針對NFV的特殊說明。數(shù)據(jù)中心中新CPU和FPGA進入的主要障礙不僅在于速度和成本,還在于所有可能的I / O設備的軟件和驅(qū)動程序的可用性。
使FPGA在數(shù)據(jù)中心中工作的關鍵是使它們易于使用—例如,使用自動工具來驅(qū)動FPGA的使用而不會產(chǎn)生布局和布線困難。微軟率先在超標量數(shù)據(jù)中心中使用FPGA來加速Bing,NFV和AI算法。Microsoft還構建了抽象,特定于域的語言和靈活的硬件基礎結構。在商業(yè)上,F(xiàn)PGA的主要問題是上市策略。
制造新芯片,然后開始考慮該軟件為時已晚。而如何通過使硬件適合該軟件來從現(xiàn)有軟件中獲取價值?這也帶來了重新思考FPGA架構的機會。但是,要提一個警告:硅產(chǎn)業(yè)吞噬了現(xiàn)金。構建ASICs是一種撲克游戲,多年來賭注不斷上升。這是一場贏家通吃的比賽,F(xiàn)PGAs之類的威脅在比賽初期就被消除了。
FPGA正在為硅項目帶來額外的不良風險。
利基技術
雖然軟件設計人員總是會說:“如果可以通過軟件完成,則將通過軟件來完成,” ASIC設計人員將說:“如果可以通過ASIC完成,則將通過ASIC完成?!?最有趣的是,“如果可以用軟件完成,那么您就不必與認為像FPGA的人打交道了?!?與制造ASIC所需的軍隊以及世界范圍內(nèi)的軟件程序員相比,F(xiàn)PGA擁有一個很小的社區(qū),其中包含許多有時是古怪的程序員。FPGA公司很小。FPGA社區(qū)很小。
英特爾正在推動FPGA的靈活性。它是遵循構建硬件以運行現(xiàn)有軟件的原則的最成功的公司。
fpga可以比cpu和gpu更快,但是從工業(yè)界和投資界得到的慘痛教訓是,在計算機存在的大部分時間里,速度并不重要,實時性也不重要。因此,僅僅為了速度而購買電腦是很少見的。它會發(fā)生,但它更多的是一個隨機事件,而不是一個建立業(yè)務的市場。此外,F(xiàn)PGA沒有標準的、開源的、令人愉快的編程模型——因此,對于在所有FPGA芯片上工作或可以輕松交叉編譯的FPGA程序,沒有一個標準的市場。Maxeler技術提供了一個高級解決方案來提供這樣的接口,但是廣泛的行業(yè)采用需要信任。要從早期采用者受益到惠及每個人,信任需要數(shù)據(jù)中心領域中現(xiàn)有供應商的一致和支持。
現(xiàn)實世界中的應用程序人員說:“我不在乎它是什么,只是給我一種方法去做我想做的事。” 尚未廣泛探索的FPGA可能有哪些應用領域?對于實時計算,有制造。對于無人機的計算機視覺,這是FPGA的重量和功耗優(yōu)勢。在衛(wèi)星上,進行硬件升級非常昂貴,因此FPGA提供了至關重要的長期靈活性。FPGA需要找到一種能產(chǎn)生諧振的產(chǎn)品,并且它們必須易于編程。不只是硬件或軟件,還包括生態(tài)系統(tǒng)。這是完整的解決方案。
超越當前市場范圍的一種方法是實時編譯和自動FPGA程序生成。這說起來容易做起來難,但是隨著AI撕毀應用程序空間的機會越來越大。如今,一切都由AI完成。甚至諸如石油和天然氣地震成像之類的傳統(tǒng)算法都采用了AI。需要科學和工程解決方案來處理AI塊。FPGA可能是一個很好的起點,可能首先是連接AI模塊,然后將它們合并到FPGA架構中,例如Xilinx的下一代芯片,而AI架構,CPU,100G接口和FPGA單元都在同一個7納米芯片中。
從另一個角度來看,隨著人工智能芯片產(chǎn)生和消耗大量數(shù)據(jù),fpga將需要滿足這個龐大的需求,并將輸出快速移走。隨著人工智能處理的新ASIC的出現(xiàn),fpga可以為人工智能芯片公司提供差異化。
預測
以下的發(fā)展在10年或25年前就能預測到嗎?雖然世界在變化,但預測似乎保持不變。
1.將會有成功的CPU+FPGA服務器芯片,或直接訪問CPU緩存層次的FPGA。有人說可以,有人說不可以。
2. SoC(片上系統(tǒng))FPGA芯片將不斷發(fā)展壯大,帶動醫(yī)療,下一代電信和汽車行業(yè)等。
3.開發(fā)人員將使用FPGA來做令人驚奇的事情并使世界變得更美好,但必須掩蓋內(nèi)部存在FPGA的事實。
4.將保留FPGA名稱,并構建稱為FPGA的芯片,但是內(nèi)部的一切將完全不同。
5.當我們放棄(數(shù)據(jù)流)優(yōu)化以使FPGA易于編程時,F(xiàn)PGA的性能將降低,因此它們將不再與CPU競爭,后者將始終易于編程。
6.將會有具有動態(tài)路由,不斷發(fā)展的互連以及運行時靈活的數(shù)據(jù)移動的FPGA。
7.放置和布線軟件以及FPGA頂部的完整軟件堆棧將是開源的。Yosys和Lattice FPGA已經(jīng)開始努力。
8.所有半導體架構都將與TPU,GPU,CPU,ASIC和FPGA組合成單個芯片。一些可能是每個整體的組合。其他將是每個部分的組合。
9.更多的芯片將專注于有限的應用空間,而更少的通用芯片。從某種意義上說,一切都變成了SoC。
最后評論
本文解決了多少個沖突,并且創(chuàng)建了多少個新沖突?從這個意義上講,沖突是對現(xiàn)有工作方式的挑戰(zhàn)。這種現(xiàn)有的做事方式可能會影響人們的思維方式,從而影響他們的行為方式。但是,也許更重要的是,這將影響我們的開發(fā)商如何謀生。