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