用RISC-V提升FPGA的可用性!今年FPGA技術(shù)大會,英特爾帶來的創(chuàng)新思考還有哪些?
關(guān)于芯片行業(yè),有一個靈魂拷問:什么是推動芯片發(fā)展的最根本動力?這個問題看起來是個送分題,答案絕大部分人都會脫口而出:摩爾定律。
每隔18-24個月,芯片上的晶體管數(shù)量就會增加一倍。但是“晶體管數(shù)量本身并沒有太多意義,有意義的是如何把這些多出來的晶體管用起來”,芯片大神Jim Keller曾經(jīng)這樣說過。所以,晶體管數(shù)量的變化,其實反映著功耗、性能、面積、成本的變化。明確了這一點,就可以衍生出很多相關(guān)的推論,比如晶體管數(shù)量如果不變,芯片面積就會縮小一半、或者功耗縮減一半;面積如果不變,性能就會提升一倍,價格會降低一半,等等。
但是,很多人也都在考慮另外一個問題:摩爾定律究竟描述的是表象,還是本質(zhì)?上世紀六七十年代,戈登摩爾提出這個“定律”的時候,其實是在總結(jié)和描述芯片發(fā)展的規(guī)律。他的本意,并不是用這個規(guī)律來指導整個產(chǎn)業(yè)的發(fā)展。與其說摩爾定律像個指揮千軍萬馬的將軍,它更像是一面旗幟,代表了人們對于芯片產(chǎn)業(yè)不斷發(fā)展的信心。
那么,究竟什么是推動芯片發(fā)展的根本動力?
從本質(zhì)上來看,是需求。供需關(guān)系是經(jīng)濟學里最基礎(chǔ)的概念,芯片行業(yè)幾乎所有大大小小的創(chuàng)新與進步,其實都是基于需求的驅(qū)動。拿FPGA來舉例,我們一直說它是延續(xù)摩爾定律最好的例子。并不是因為FPGA在盲目增加晶體管數(shù)量,而是它根據(jù)不同的需求,很好的把這些額外的晶體管利用起來了。
FPGA從最早期的邏輯驗證芯片,發(fā)展到網(wǎng)絡(luò)通信設(shè)備中的重要組成部分,再發(fā)展到今天數(shù)據(jù)中心里的核心單元,這個過程就是在不斷發(fā)現(xiàn)需求、滿足需求、創(chuàng)造需求的循環(huán)。
2021年12月7號-10號,英特爾舉行了2021英特爾FPGA技術(shù)大會,并且分享了很多FPGA技術(shù)與產(chǎn)品的最新進展。從這次的活動里,我們就能非常清楚的看到,需求如何改變了FPGA芯片發(fā)展的軌跡。我們接下來就一個一個地說。
1、FPGA的新作用
提到FPGA的用途,很多人還停留在原型驗證和硬件仿真上,這未免有些一葉障目了。撥開眼前這片樹葉,你會發(fā)現(xiàn)FPGA已經(jīng)用在太多地方了。用英特爾公司副總裁,F(xiàn)PGA和電源產(chǎn)品事業(yè)部、數(shù)據(jù)中心和人工智能事業(yè)部、可編程解決方案事業(yè)部總經(jīng)理Patrick Dorsey的話說,F(xiàn)PGA可以用來加速云、端、及其中間的全部應用。
這就是FPGA的現(xiàn)狀,遠遠不止原型驗證,也遠不止網(wǎng)絡(luò)通信,而是作為高吞吐量、高能耗比的硬件加速單元,去加速你能想到的所有應用。當然,F(xiàn)PGA只是整個鏈條中的一個環(huán)節(jié)。如果從更高的高度往下看,英特爾的另外一句很有名的口號,就很好的概括了所有需求:“移動更快、存儲更多、處理一切。Move fast,Store more,Process everything?!?/span>
為了滿足這樣的需求,必然不能通過一種架構(gòu)、一種產(chǎn)品、一種方案來實現(xiàn)。我們需要芯片、需要板卡、需要IP、需要開發(fā)軟件,也需要健康的生態(tài),這些都是FPGA不斷進化的方向。
2、Agilex FPGA的新提升
如果穿越回N年前(N大于等于5),給當時的工程師說FPGA現(xiàn)在長這樣,估計絕大部分人都會驚掉下巴。特別是Agilex FPGA,更是和傳統(tǒng)的FPGA架構(gòu)有著巨大差別。
Agilex這個名稱源于Agile(敏捷)和Flexible(靈活)的合二為一。相比于其他指標,比如性能、功耗、成本,Agile+Fexible這兩點才是業(yè)界對現(xiàn)代FPGA的最迫切需求。
也就是說,人們不僅需要一個高吞吐量、高帶寬、高邏輯單元的性能猛獸,更需要一個靈活性強、適用性廣,開發(fā)簡單高效的器件。只有這樣,才能更好的履行“硬件加速器”的職責,才能符合前面說的大方向:移動更快、存儲更多、處理一切。
從架構(gòu)和技術(shù)的角度詳細分析Agilex的改進與提升,總結(jié)起來主要有6個主要方面:
1、全新的芯片布局
2、新一代HyperFlex寄存器架構(gòu)
3、多樣的時序優(yōu)化方法
4、英特爾10納米SuperFin工藝
5、系統(tǒng)級3D芯片
6、更靈活的DSP和布線微架構(gòu)
舉例來說,Agilex的芯片布局進行了大修,把通用I/O、存儲器I/O、SRAM等等單元都移到了芯片的上下兩端。原本這些單元都在芯片中間按列分布,這會把芯片分割成很多個小的設(shè)計區(qū)域,容易造成布線擁堵和延時。Agilex的新型芯片布局,就從根本上規(guī)避了這些問題,從而加速設(shè)計的時序收斂。
另外一個例子就是Agilex的HyperFlex寄存器架構(gòu)。這種結(jié)構(gòu)從Stratix10 FPGA里首次獲得采用,到Agilex已經(jīng)發(fā)展到了第二代。事實上,HyperFlex的想法是非常理想的,也就是在FPGA的布線資源上插入很多小寄存器,可以將時序路徑分割成更小的部分,從而極大提升系統(tǒng)的工作頻率。
但是,這種方案實施起來會遇到很多問題,比如HyperFlex寄存器本身會引入額外的延時,每個小寄存器的扇出數(shù)量,也會對系統(tǒng)性能造成負面影響。另外加入了這么多額外的單元,又對設(shè)計軟件的自動化算法提出了挑戰(zhàn)。其實,這些問題很多都在Stratix10里真實存在。
也就是說,HyperFlex的思路沒錯,但是實施方式出現(xiàn)了問題。所以,Agilex改進了Stratix10里第一代HyperFlex的設(shè)計缺陷,從原本更寬的多扇出設(shè)計,改成了現(xiàn)在更窄的少扇出設(shè)計,同時簡化了HyperFlex寄存器本身的設(shè)計,減少了旁路延時。FPGA的基本組成單元ALM,也進行了重新設(shè)計,單獨增加了額外的輸出端口,可以直連HyperFlex寄存器。這些優(yōu)化設(shè)計,都讓Agilex的性能取得了大幅提升。根據(jù)英特爾的數(shù)據(jù),僅是HyperFlex相關(guān)的改進,就將延時降低了超過20%。
當然,還值得一提的是Agilex的制造工藝。它采用了英特爾的10納米SuperFin工藝。它比英特爾的基礎(chǔ)10納米工藝取得了進一步提升。相比14納米的Stratix10,Agilex更是取得了平均50%的性能提升、以及高達40%的功耗降低。
和賽靈思的7納米旗艦產(chǎn)品Versal相比,Agilex也可以取得1.42倍的性能提升,以及超過30瓦的功耗降低。
那么,什么是驅(qū)動這些提升的根本動力?就是數(shù)據(jù)中心對算力的需求、是邊緣計算對延時的需求、是各種數(shù)據(jù)和應用對存儲容量、數(shù)據(jù)傳輸速度的需求。
歸根到底,都是各種需求。于是,F(xiàn)PGA上集成了更多晶體管、更多IP、更強大的收發(fā)器,原本的架構(gòu)不夠用,就設(shè)計新的架構(gòu),更好的利用這些多出來的晶體管。
所有這些,又會進一步延續(xù)摩爾定律的發(fā)展。
3、如何編程FPGA
還想簡單說說FPGA的編程方法?;赗TL的設(shè)計仍然是開發(fā)FPGA的主流手段,但是更多高層次開發(fā)方法也在不斷發(fā)展。
Quartus軟件變的越來越智能,它不再把所有芯片一視同仁,也不再把芯片上的所有位置和部分一視同仁,而是根據(jù)大量的測試數(shù)據(jù),分區(qū)域進行功耗和時序的優(yōu)化。把更長的時序路徑,放在更快的區(qū)域,把不那么長的路徑,放在稍微慢一點的位置,從而實現(xiàn)整體的優(yōu)化提升。
這些技術(shù)進步,說起來就寥寥幾句,但實現(xiàn)起來又何其復雜。只有能用起來的芯片,才有價值。EDA軟件一直是FPGA廠商“皇冠上的明珠”,因為它的使命就是讓芯片更好用。
為了提升可用性,英特爾又把RISC-V放到了FPGA里,提出了名叫Nios V的軟核處理器。它有5級流水線和AXI4接口,比之前的NiosII處理器性能提升了5倍。但更重要的是,用戶可以直接基于RISC-V生態(tài)進行軟件開發(fā),而不需要額外學習Nios了,這才是Nios V的最大意義。
4、結(jié)語
現(xiàn)在或許是從事FPGA行業(yè)最好的時代,不管是FPGA芯片本身,還是FPGA的應用,都有太多新的機會。我們完全不必糾結(jié)摩爾定律是否已經(jīng)臨近終結(jié),只要需求還在,技術(shù)的進步就不會停息。
英特爾FPGA線上技術(shù)大會(12月7~10)正在進行,歡迎前往英特爾FPGA技術(shù)大會官網(wǎng)注冊報名。