從今年開始,計(jì)算機(jī)協(xié)會(huì)(ACM)第20屆FPGA國際研討會(huì)將舉辦未來研討:FPGA在20年后會(huì)是什么樣。來自供應(yīng)商、用戶和學(xué)術(shù)團(tuán)體的各界專家將參加這一活動(dòng),盡可能對未來做出確定性的最終預(yù)言。
通過總結(jié)最佳工程,七名演講人將回顧可編程器件過去20年的歷史,總結(jié)出趨勢線,在此基礎(chǔ)上,進(jìn)行推演。專家們將從三個(gè)主要領(lǐng)域?yàn)镕PGA未來勾畫出草圖:工藝技術(shù)、體系結(jié)構(gòu),以及用于對器件編程的隱喻和工具。
工藝技術(shù)
微電子技術(shù)過去二十年的發(fā)展將勾畫出FPGA的未來。演講人普遍認(rèn)為,到2032年,推動(dòng)這種發(fā)展的主要因素毫無疑問仍然是CMOS的尺度演進(jìn)。
Xilinx CTO兼資深副總裁Ivo Bolsens認(rèn)為:“硅片的發(fā)展仍將持續(xù)25年或者30年。在2030之前,我認(rèn)為這一領(lǐng)域不會(huì)有新材料出現(xiàn)?!?/p>
Altera CTO兼研發(fā)資深副總裁Misha Burich提出了研討話題,他有相似的觀點(diǎn),從量子晶體管到DNA,羅列了很多吸引人的技術(shù),但是,他沒有打算進(jìn)行深入的討論。他繼續(xù)發(fā)表言論,認(rèn)為Altera的工藝發(fā)展將持續(xù)到2026年以后。Burich評論說:“自此之后,仍然可以使用摩爾定律作為標(biāo)準(zhǔn)?!?/p>
那么,摩爾定律底揭示了什么呢?Burich認(rèn)為:“在2032年,我們會(huì)推出1.8-nm工藝,具有3-nm特征尺寸和metal-1間距。這意味著,我們可以在一個(gè)管芯上實(shí)現(xiàn)8千8百70億個(gè)晶體管?!盉urich預(yù)計(jì),這類FPGA要比今天的器件吞吐量高出250倍。但是,CTO提醒說,對于硅片,3 nm只有13個(gè)原子間隔。即使采用了原子級工藝控制技術(shù),與目前很多電路設(shè)計(jì)的容限相比,簡單的量化舉例,一個(gè)12個(gè)原子長的溝道和一個(gè)14個(gè)原子長的溝道,在晶體管上都會(huì)有很大的變化。雖然更小的晶體管速度會(huì)更快,但是互聯(lián)會(huì)非常慢,需要重新審視電路拓?fù)涞膫鹘y(tǒng)觀點(diǎn),實(shí)際上,這需要突破基于單元的設(shè)計(jì)方法。
倫敦皇家學(xué)院電氣和電子工程系主任Peter Cheung在這一問題上闡述了一些面臨的實(shí)際困境。Cheung預(yù)言說:“如果您想在2032年設(shè)計(jì)一款每個(gè)晶體管都能夠正常工作的芯片,那么,您的產(chǎn)出是零。實(shí)際上,工藝變化會(huì)使得每一個(gè)芯片在物理上都是獨(dú)一無二的。而且,在制造結(jié)束時(shí),這種差別仍然會(huì)存在?!?/p>
Cheung提醒說:“這就帶來了問題。我們已經(jīng)知道,隨著時(shí)間的推移,很多機(jī)制,包括,缺陷電荷、熱載流子效應(yīng)、阻抗提高以及離子擴(kuò)散等,會(huì)明顯的劣化電路。這些效應(yīng)目前對于芯片的工作影響是不明顯的,但是,在20年內(nèi)會(huì)變得越來越明顯?!?/p>
在某種程度上,Cheung認(rèn)為這是可編程邏輯的一種機(jī)遇。他建議,可編程器件不僅僅是實(shí)現(xiàn)系統(tǒng)的一種方法,在2032年,每一個(gè)系統(tǒng)級器件都是可編程的:在運(yùn)行時(shí),芯片會(huì)將其仍然在運(yùn)轉(zhuǎn)的資源配置到工作系統(tǒng)中。Cheung評論說:“有鑒于此,我們認(rèn)為可重新配置能力會(huì)有新機(jī)遇。它們包括器件專用微調(diào)功能;自測試、特性測試和診斷;失效預(yù)測;進(jìn)行重新配置,從失效中恢復(fù);避免最差情況下的設(shè)計(jì);以及隨時(shí)間變化的損耗均衡等,這都延長了芯片的使用壽命?!?/p>
有幾個(gè)演講人還介紹了其他的關(guān)鍵工藝尺度問題:片外I/O帶寬并沒有隨著芯片內(nèi)部性能的提高而增強(qiáng)。Bolsens認(rèn)為:“3D的應(yīng)用會(huì)在一定程度上解決互聯(lián)帶寬問題。但是,3D自己也會(huì)帶來新問題。我們會(huì)看到,2.5D越來越復(fù)雜,包括無源和內(nèi)插存儲(chǔ)器等,實(shí)際上,快速2.5D并不會(huì)很快消失。全3D仍然還需要十幾年的時(shí)間才能成熟。”
而更保守的Burich警告說,除了技術(shù)問題,3D還面臨很多的業(yè)務(wù)關(guān)系問題。他警告說:“可能需要十幾年的時(shí)間才能解決這些問題?!?/p>
體系結(jié)構(gòu)
多年以來,工藝技術(shù)和應(yīng)用需求推動(dòng)了FPGA體系結(jié)構(gòu)實(shí)質(zhì)性的變化。以前,工藝還只是專注于小晶體管的數(shù)量,應(yīng)用則專注于膠合邏輯,F(xiàn)PGA大會(huì)在異構(gòu)器件是否優(yōu)于同構(gòu)邏輯單元方面展開了激烈的爭論。今天,這方面的爭論看起來結(jié)束了,但是,演講人指出,實(shí)際并非如此。
Burich指出:“今天,F(xiàn)PGA內(nèi)部只有40%是邏輯架構(gòu)?!彼忉屨f,管芯的其他部分包括RAM、算術(shù)硬件、I/O、高速晶體管、協(xié)議引擎,有時(shí)候還有CPU內(nèi)核和總線,以及一些支持電路等。Burich聲稱:“到2032年,所有的芯片都是異構(gòu)的?!睂?shí)際上,他認(rèn)為,大規(guī)模IC體系結(jié)構(gòu)是趨同的。最終,所有的看起來都是專用芯片系統(tǒng)(SoC),而有些芯片能夠部分重新配置,具有實(shí)質(zhì)性的不同。
異構(gòu)體系結(jié)構(gòu)雖然很成功,但是有一個(gè)值得注意的例外。Bob Blainey是IBM匯編和下一代系統(tǒng)軟件特聘研究員,發(fā)表言論認(rèn)為,他的世界是服務(wù)器計(jì)算,而不是硅片。他描述了未來,大部分服務(wù)器都內(nèi)置在垂直3D IC管芯堆疊中,服務(wù)器本身只是堆疊的一個(gè)管芯,也會(huì)包括本地存儲(chǔ)器、互聯(lián)和規(guī)模很大的同構(gòu)FPGA。
Blainey解釋說,這類FPGA將成為服務(wù)器的虛擬資源:一種受保護(hù)的虛擬架構(gòu),在這種架構(gòu)上,系統(tǒng)軟件可以動(dòng)態(tài)建立可共享的加速器。這類器件實(shí)際上匯集了大量可動(dòng)態(tài)重新配置的邏輯門,由基于硬件的系統(tǒng)管理程序進(jìn)行管理,對邏輯門的建立、拆除、共享和安全進(jìn)行控制。
這兩類完全不同的體系結(jié)構(gòu)之間也有其微妙之處。總體上,考慮SoC替代的設(shè)計(jì)人員,例如,移動(dòng)設(shè)備和嵌入式計(jì)算領(lǐng)域的設(shè)計(jì)人員,傾向于認(rèn)為未來的FPGA是關(guān)鍵位置具有邏輯架構(gòu)的ASSP。認(rèn)為在FPGA架構(gòu)中直接實(shí)現(xiàn)軟件的設(shè)計(jì)人員傾向于未來是同構(gòu)架構(gòu),具有很大的I/O帶寬。正如FPGA大會(huì)將要發(fā)表的論文所述,還有一些團(tuán)隊(duì)嘗試怎樣實(shí)現(xiàn)硬核IP資源,例如,在可綜合處理陣列中實(shí)現(xiàn)存儲(chǔ)器模塊和DSP流水線,在軟件用戶中實(shí)現(xiàn)異構(gòu)價(jià)值。
設(shè)計(jì)隱喻和工具
雖然在體系結(jié)構(gòu)上有各種不同的觀點(diǎn),但是在設(shè)計(jì)人員用于表達(dá)系統(tǒng)所使用的工具以及隱喻上卻有比較一致的看法。這種一致性的起點(diǎn)是,寄存器傳送級(RTL)作為表達(dá)系統(tǒng)的一種方法,已經(jīng)不夠用了。Tabula總裁兼CTO Steve Teig認(rèn)為:“當(dāng)需要對FPGA編程時(shí),RTL用起來很差。而C語言更差。雖然從串行轉(zhuǎn)向并行執(zhí)行是非常底層的工作。Haskell等功能語言要好一些,但是,我認(rèn)為λ-calculus仍然不是最好的抽象表達(dá)方式,這是一種大部分功能語言都以其為基礎(chǔ)的算術(shù)抽象語言。”
Blainey也同意這種看法。他預(yù)測,以后將廣泛的采用顯式并發(fā)語言,通過庫和編譯器將軟件轉(zhuǎn)換為FPGA結(jié)構(gòu)。此外,會(huì)有很多功能語言編程精英來解決這類問題。Altera的Burich和Xilinx的Bolsens都認(rèn)為,今后更多的設(shè)計(jì)會(huì)定位于顯式并行命令式語言,例如,OpenCL (圖2)等,他們都宣稱他們的公司正在從事這方面的工作。
圖2. 將OpenCL代碼編譯到FPGA的并行結(jié)構(gòu)中
其他演講人描述了完全不同的FPGA設(shè)計(jì)概念。Shep Siegel是Atomic Rules公司的創(chuàng)始人兼CTO,描述了一種可重用平臺,每一種FPGA實(shí)現(xiàn)都包括具有可動(dòng)態(tài)重新定位功能的庫。Siegel認(rèn)為:“還是需要RTL,但是,同步設(shè)計(jì)的概念只是一種隱喻。我們將擴(kuò)展全局異步本地同步的(GALS)概念。而我們所關(guān)注的是彈性流水線和延時(shí)不敏感設(shè)計(jì),我們使用時(shí)間戳來維持系統(tǒng)同步?!?/p>
Maxeler技術(shù)公司主席Michael Flynn和斯坦福教授Emeritus表達(dá)了相似的觀點(diǎn)。采用高性能計(jì)算加速器,F(xiàn)lynn的團(tuán)隊(duì)將算法簡化為數(shù)據(jù)流圖形。Flynn解釋說:“他們采用Java描述圖形中的節(jié)點(diǎn),建立非常長的流水線,復(fù)制到矢量處理陣列中,直到填滿硅片?!?/p>
Flynn說:“在20年內(nèi),所有技術(shù)都將是基于陣列的,只是受到軟件的限制。一個(gè)最大的難題是必須改變編程模型。軟件開發(fā)在過去20年的發(fā)展一直沒有處理好并行問題?!?/p>
Bolsens還介紹了系統(tǒng)軟件面臨的另一難題——在20年內(nèi)將成為高級程序員的這一代會(huì)喜歡什么。我們已經(jīng)過時(shí)了。如果您注意一下一個(gè)16年的老程序員,您會(huì)發(fā)現(xiàn)他們安心于異構(gòu)的環(huán)境——Java、Perl、Python,等等。他們會(huì)選擇一種庫、應(yīng)用程序或者他們能找到的一類代碼。
缺少的環(huán)節(jié)
幾名演講人還介紹了目前的技術(shù)以及2032未來技術(shù)之間一些未能解決的關(guān)鍵問題——從系統(tǒng)非常抽象的視圖到器件編程文件等。
Bolsens說:“必須通過研究填補(bǔ)軟件和硬件設(shè)計(jì)之間的空白?!盉lainey還介紹了可綜合加速器的問題,他認(rèn)為這是未來服務(wù)器堆疊中動(dòng)態(tài)重新編程難以解決的問題。Flynn列舉數(shù)字說明了這一觀點(diǎn):“今天,我們的布局布線需要運(yùn)行數(shù)十個(gè)小時(shí)。那么,到2032年,是不是要運(yùn)行一個(gè)月?供應(yīng)商應(yīng)該把這些工具置入到云中?!?/p>
Cheung的概念是通過常數(shù)可重新配置功能保持硅片工作,而且還假定了某類動(dòng)態(tài)重新編譯功能,進(jìn)一步發(fā)展了這種觀點(diǎn)。他認(rèn)為:“我們將看到所有這些東西連接起來,這樣,有足夠的資源來管理重新配置問題?!彼挠^點(diǎn)是,每一電子系統(tǒng)中都會(huì)有機(jī)械智能功能,云不再是服務(wù)器的遠(yuǎn)程堆疊,而是擴(kuò)展到互聯(lián)設(shè)備群中。這種觀點(diǎn)在支持泛在計(jì)算之前就有了,但是,Cheung認(rèn)為處理亞2-nm技術(shù)必須要采用這種觀點(diǎn)。
總結(jié)
總之,研討發(fā)言人認(rèn)為并不會(huì)出現(xiàn)對摩爾定律尺度發(fā)展革命性的偏離。但是,在怎樣處理大量的晶體管上存在爭議,怎樣解決尺度帶來的新問題。我們應(yīng)該構(gòu)建越來越專用的異構(gòu)混合硬件功能模塊和可配置模塊?還是,研究大量邏輯門,提高本地邏輯門速率,開發(fā)大規(guī)模塊架構(gòu),以實(shí)現(xiàn)虛擬加速器?或者,需要可重新配置互聯(lián)專業(yè)知識來保持功能固定芯片不變,從而提高產(chǎn)量,在這一領(lǐng)域繼續(xù)發(fā)展?
我們會(huì)怎樣考慮我們正在建立的系統(tǒng)?幾乎可以肯定的是,RTL不會(huì)成為主要隱喻。但是,在過去,我們表達(dá)系統(tǒng)所使用的語言有一個(gè)不好的趨勢,總是按照剛畢業(yè)的這些人的喜好進(jìn)行編程。我們能否構(gòu)想,在ad-hoc腳本語言中將復(fù)雜系統(tǒng)作為任意混合異步任務(wù)來實(shí)現(xiàn)?軟件為主的團(tuán)隊(duì)是否需要更簡潔的解決方案來設(shè)計(jì)2032年的系統(tǒng)? 敬請關(guān)注。
評論