- 相關(guān)推薦
理解HyperFlex架構如何支持實(shí)現下一代高性能系統
高性能文件系統 (High Performance File System ,HPFS),HPFS是Microsoft的LAN Manager中的文件系統,同時(shí)也是IBM的LAN Server和OS/2產(chǎn)品。在OS/2中,它就是HPFS,但是在LAN Manager和LAN Server產(chǎn)品中,它是HPFS386,這是HPFS的改進(jìn)版本。HPFS提供了DOS文件系統中的文件分配表(FAT)所沒(méi)有的長(cháng)文件名和性能增強特性。另外,HPSF還能訪(fǎng)問(wèn)較大的硬盤(pán)驅動(dòng)器,提供更多的組織特性并改善了文件系統的安全特性。HPFS386增加了對HPFS文件系統的32位訪(fǎng)問(wèn),另外還增加了容錯和安全性功能。
下一代高性能系統對帶寬的需求越來(lái)越大。為滿(mǎn)足這一需求,促使設計人員使用各種方法來(lái)優(yōu)化其設計,提高時(shí)鐘頻率。雖然傳統的FPGA內核體系結構支持這些優(yōu)化,但是,所能夠提高的頻率有限。與傳統的方法不同,Stratix10 FPGA和SoC使用HyperFlex新體系結構,內核時(shí)鐘頻率可達到前一代高性能FPGA的兩倍。
一、傳統FPGA架構的困惑
為滿(mǎn)足下一代高性能系統越來(lái)越高的帶寬要求,FPGA供應商一直在對其器件體系結構逐步進(jìn)行改進(jìn)。即使是采用了先進(jìn)的體系結構,設計人員通常會(huì )使用非常寬的片內總線(xiàn)實(shí)現其設計。實(shí)際上,512、1024或者2048位寬的片內總線(xiàn)的應用越來(lái)越普遍了。
這一方法雖然提高了FPGA內核的數據吞吐量,但是寬總線(xiàn)占用了大量的架構資源,功耗也大。而且,隨著(zhù)FPGA資源不斷被填滿(mǎn),布線(xiàn)資源會(huì )出現擁塞,內核時(shí)鐘頻率會(huì )受限。
提高帶寬的另一方法是在使用最先進(jìn)工藝節點(diǎn)制造的FPGA中實(shí)現設計,期望能夠受益干最新技術(shù)較高的晶體管開(kāi)關(guān)速率。但是,隨著(zhù)工藝尺寸的不斷減小,邏輯單元之間的互聯(lián)延時(shí)成為FPGA中總延時(shí)的主要因素,這限制了進(jìn)一步提高晶體管開(kāi)關(guān)速率;旧,傳統的FPGA體系結構無(wú)法滿(mǎn)足未來(lái)的性能需求。
二、高性能系統對帶寬的需求
光傳送網(wǎng)(OTN)、固網(wǎng)、軍事和高性能計算應用對帶寬的需求越來(lái)越大。傳送大量數據的需求導致FPGA中的數據通路寬度越來(lái)越寬。通過(guò)布線(xiàn)體系結構傳送的數據量與所使用的走線(xiàn)數量和走線(xiàn)速度(fMAX)有關(guān)。能夠使用的走線(xiàn)數量取決于技術(shù);與器件大小以及所采用技術(shù)的最小走線(xiàn)間距有關(guān)。
布線(xiàn)體系結構使用分層(例如,邏輯陣列模塊(LAB)中的本地布線(xiàn),以及水平和垂直互聯(lián)導線(xiàn)的全局布線(xiàn))和優(yōu)化方法,提高了走線(xiàn)效率。但是,提高走線(xiàn)數量會(huì )增大芯片面積,也增大了功耗。走線(xiàn)速度與技術(shù)有關(guān)(走線(xiàn)上的RC延時(shí)),受到FPGA體系結構和設計實(shí)現的影響。例如,對設計進(jìn)行流水線(xiàn)處理會(huì )提高時(shí)鐘速率,而不會(huì )增加走線(xiàn)數量,在同樣的資源情況下,提高了帶寬。
三、高性能系統對效率的需求
當設計人員對設計進(jìn)行流水線(xiàn)處理以提高性能時(shí),他們會(huì )在設計中增加寄存器。傳統的構建寄存器查找表(LUT)對的方法意味著(zhù)要犧牲邏輯以實(shí)現更多的流水線(xiàn)寄存器,所有現有FPGA內核體系結構中都有這些寄存器查找表對。采用傳統體系結構中的流水線(xiàn)需要信號輸入邏輯模塊然后再輸出,帶來(lái)了延時(shí)成本。結果是流水線(xiàn)方法的效果逐漸變差,特別是布線(xiàn)延時(shí)是總延時(shí)的主要因素。圖1顯示了采用傳統流水線(xiàn)之前和之后的實(shí)例,由于增加寄存器帶來(lái)的輸入和輸出走線(xiàn)導致延時(shí)增大。
四、高性能系統對提高時(shí)鐘的需求
隨著(zhù)時(shí)鐘速率的提高,時(shí)鐘偏移也越來(lái)越重要了。傳統的FPGA內核體系結構重點(diǎn)放在平衡時(shí)鐘樹(shù)上,這能夠減小確定性偏移。這一方法對于500MHz以下的設計能夠很好的工作,但是要突破500MHz瓶頸,速度達到1GHz,那么則需要下一代時(shí)鐘解決方案。解決方案必須將時(shí)鐘本地化以減小本地差異和偏移,還能夠提供靈活的網(wǎng)絡(luò ),用于高性能設計中常用的大量的時(shí)鐘。
五、HyperFlex體系結構
為克服上述這些挑戰,Altera的Stratix 10 FPGA和SoC引入了全新的內核體系結構,即HyperFlex體系結構。創(chuàng )新的HyperFlex體系結構所實(shí)現的性能是以前無(wú)法想象的:內核性能是前一代高性能FPGA的兩倍。為發(fā)揮HyperFlex體系結構的優(yōu)勢,用戶(hù)可以使用熟悉的方法:寄存器時(shí)序重排、流水線(xiàn)和設計優(yōu)化。這些方法能夠加速傳統體系結構上的設計。但是,與HyperFlex體系結構相結合后,結果是,設計能夠以極快的速度運行,內核時(shí)鐘速率提升至高達1GHz。
Stratix10器件重新設計了內核體系結構,包括了更多的寄存器,即超級寄存器,分布在內核架構的各個(gè)地方。每一互聯(lián)布線(xiàn)段以及所有功能模塊的輸入上都有這些寄存器。超級寄存器提供了精細粒度解決方案,解決了怎樣提高帶寬和面積以及功效等問(wèn)題。由于能夠輕松的訪(fǎng)問(wèn)更多的寄存器,用戶(hù)可以對寄存器時(shí)序重排,以消除關(guān)鍵通路,對寄存器進(jìn)行流水線(xiàn)處理,去掉布線(xiàn)延時(shí),優(yōu)化用戶(hù)的設計,實(shí)現理想性能。當采用超級寄存器實(shí)現這些方法時(shí),所有FPGA邏輯資源都能夠用于實(shí)現邏輯功能,而不是犧牲用作直通單元以連接傳統的LUT寄存器。
為能夠跟上內核架構的高性能,重新設計了FPGA內核中的專(zhuān)用功能模塊――例如,M20K存儲器和浮點(diǎn)數字信號處理(DSP)模塊,以支持時(shí)鐘速率高達1GHz的操作。
為方便超級寄存器的使用,Quartus II軟件包括了超感知設計流程,提供:
布局布線(xiàn)后性能優(yōu)化,加速了時(shí)序收斂。
超感知綜合和布局布線(xiàn),提高了流水線(xiàn)效率。
快速前向編譯,提供了性能增強選擇。
為滿(mǎn)足對靈活的時(shí)鐘網(wǎng)絡(luò )的需求,Stratix 10 FPGA和SoC包括了可編程時(shí)鐘樹(shù)綜合功能。這一類(lèi)似ASIC時(shí)鐘幫助降低了偏移和不確定性,而且可以智能的使能時(shí)鐘網(wǎng)絡(luò )分支,降低了功耗。
Stratix 10 FPGA和SoC使用了Intel的14nm三柵極(FinFET)工藝技術(shù)。HyperFlex新體系結構與業(yè)界領(lǐng)先的FinFET工藝技術(shù)相結合,與前一代高性能FPGA相比,Stratix10器件的內核性能提高了兩倍。
六、超級寄存器
從90 nm Stratix II FPGA開(kāi)始,Altera就開(kāi)始率先采用6輸入LUT降低關(guān)鍵通路深度。在28nm Stratix VFPGA,Altera引入了時(shí)間借用鎖存功能,對時(shí)鐘和數據信號自動(dòng)進(jìn)行微小的時(shí)序重排處理。
對于14nm Stratix 10器件,Altera引入了全新的“寄存器無(wú)處不在”內核體系結構,這一體系結構布滿(mǎn)了可旁路的時(shí)序重排和流水線(xiàn)寄存器。這一方法斷開(kāi)了自適應邏輯模組(ALM)本身功能寄存器之間的關(guān)聯(lián),使用了超級寄存器對關(guān)鍵通路進(jìn)行時(shí)序重排和流水線(xiàn)處理,從而提高了設計效率。
HyperFlex體系結構可用于對高性能設計進(jìn)行時(shí)序重排和流水線(xiàn)處理。所有布線(xiàn)段都有可選超級寄存器,構建到可編程布線(xiàn)復用器中,使得布線(xiàn)段能夠被寄存或者進(jìn)行組合處理。如圖2所示,這些超級寄存器分布在內核架構的各個(gè)地方。在每一水平和垂直布線(xiàn)段的交叉點(diǎn)上,以小方塊表示超級寄存器。
采用這一體系結構,不再需要使用ALM來(lái)找到流水線(xiàn)寄存器。器件中的每一水平和垂直互聯(lián)線(xiàn)都含有超級寄存器,通過(guò)配置FPGA可以關(guān)斷或者打開(kāi)它們。
超級寄存器是簡(jiǎn)單的一路輸入一路輸出可旁路寄存器,輸入上沒(méi)有布線(xiàn)復用器。用戶(hù)可以通過(guò)配置比特來(lái)控制這些寄存器。其成本不高,不會(huì )明顯增加器件的硅片面積。由于超級寄存器在內核架構中無(wú)處不在,因此,設計人員不會(huì )受限于設計中寄存器的數量?梢愿鶕枰獙λ鼈儠r(shí)序重排和流水線(xiàn)處理,不會(huì )占用額外的LAB資源。在很多情況下,使用布線(xiàn)中的超級寄存器來(lái)實(shí)現寄存器,而不是僅為了使用ALM的寄存器而部分占用ALM,因此,使用了較少的LAB資源。
七、HyperFlex的優(yōu)點(diǎn)
由于互聯(lián)布線(xiàn)體系結構中含有超級寄存器,因此可以在布局布線(xiàn)之后優(yōu)化時(shí)序,這不會(huì )改變設計的布線(xiàn)。Quartus II軟件在時(shí)序重排操作過(guò)程中,能夠很容易找到并使用超級寄存器。圖3對比了傳統的布線(xiàn)復用器和HyperFlex布線(xiàn)復用器,以及所包含的超級寄存器。
超級寄存器支持用戶(hù)充分發(fā)揮增強性能的傳統方法的優(yōu)勢――時(shí)序重排、流水線(xiàn)和優(yōu)化,以更新更好的方式實(shí)現。使用超級寄存器而不是ALM寄存器來(lái)實(shí)現時(shí),這些方法被稱(chēng)為超級時(shí)序重排、超級流水線(xiàn)和超級優(yōu)化。表1總結了當順序使用這些方法時(shí)所提高的性能,其3個(gè)步驟使用HyperFlex體系結構提高了性能。
八、超級時(shí)序重排
在傳統的體系結構中,軟件通過(guò)找到附近未使用的ALM寄存器,使其含在電路中,進(jìn)行時(shí)序重排。這一時(shí)序重排方法受限于A(yíng)LM寄存器布局的粒度:
未使用的ALM所處的位置不一定方便,導致設計中出現額外的延時(shí)。
通過(guò)ALM連接至寄存器有布線(xiàn)延時(shí)開(kāi)銷(xiāo)。
如果軟件嘗試對寬總線(xiàn)(512位、1024位,或者更寬)時(shí)序重排,那么時(shí)序重排需要大量的其他邏輯單元。
確定時(shí)序重排寄存器最佳位置所需要的算法比較難。
圖4顯示了傳統體系結構時(shí)序重排之前和之后的布線(xiàn)實(shí)例。
在HyperFlex內核新體系結構中,使用了超級寄存器來(lái)實(shí)現精細粒度超級時(shí)序重排。Quartus II軟件通過(guò)將寄存器移出邏輯單元,放到互聯(lián)中對通路時(shí)序重排。每一布線(xiàn)段上都有超級寄存器,因此,有很多可以使用的寄存器位置,方便了進(jìn)行優(yōu)化。
采用超級寄存器,時(shí)序重排粒度非常精細;每一段布線(xiàn)的延時(shí),只有幾十皮秒。在傳統體系結構中,當嘗試確定時(shí)序重排寄存器位置時(shí)需要有所折中,如圖4所示,而這在HyperFlex體系結構中是不需要的。因此,在超級時(shí)序重排期間,可以很好的分開(kāi)幾納秒長(cháng)的通路,如圖5所示。
超級時(shí)序重排不會(huì )影響已有的LAB和ALM,意味著(zhù)不需要漸進(jìn)式布局或者布線(xiàn),對編譯時(shí)間沒(méi)有很大的影響。對寄存器時(shí)序重排,布局布線(xiàn)之后,寄存器位置被推入到布線(xiàn)中能夠自然達到平衡的最終位置(見(jiàn)圖5)。
在傳統體系結構中,對于需要成百上千個(gè)額外的ALM才能達到時(shí)序重排而且通常需要大量重新布線(xiàn)的寬數據總線(xiàn)而言,這一特性具有很大的優(yōu)勢。
九、超級流水線(xiàn)
傳統的流水線(xiàn)受困于和傳統時(shí)序重排遇到的同樣的難題,缺少寄存器粒度降低了優(yōu)化的效率。
由于在設計開(kāi)始時(shí)并不知道需要的流水線(xiàn)級數量以及其最優(yōu)位置,因此,傳統的流水線(xiàn)本質(zhì)上是一個(gè)迭代過(guò)程。所以,當流水線(xiàn)解決方案嘗試滿(mǎn)足性能目標時(shí),必須對設計進(jìn)行多次布局布線(xiàn)。圖6顯示了傳統流水線(xiàn)處理之前和之后的簡(jiǎn)單實(shí)例。
當使用HyperFlex體系結構時(shí),用戶(hù)可以使用超級寄存器,根據需要進(jìn)行流水線(xiàn)處理,而且不會(huì )增大設計容量。這一過(guò)程稱(chēng)為超級流水線(xiàn)。在很多情況下,使用大量寄存器的設計由于不需要“孤立”寄存器,因此,實(shí)現設計所需要的ALM數量減少了。
由于流水線(xiàn)的低成本,用戶(hù)可以盡量使用這一方法,特別是在數據通路和前饋邏輯中。圖7顯示了一個(gè)超級流水線(xiàn)的實(shí)例。
由于軟件能夠將寄存器移動(dòng)到互聯(lián)中,自動(dòng)對邏輯時(shí)序重排,因此,用戶(hù)只需要設定時(shí)鐘域輸入或者子設計引腳邏輯上所需要的流水線(xiàn)寄存器數量。Quartus II軟件能夠根據需要,在布局布線(xiàn)之后將寄存器移動(dòng)到布線(xiàn)中,解決了傳統體系結構中存在的流水線(xiàn)多次迭代問(wèn)題。當知識產(chǎn)權(IP)庫面向多個(gè)時(shí)鐘頻率(fMAX)時(shí),在RTL中把寄存器放到一起也方便了對邏輯進(jìn)行參數賦值。
十、超級優(yōu)化
完成了超級時(shí)序重排和超級流水線(xiàn)之后,設計的某些部分的性能會(huì )非常好,而其他部分可能成為瓶頸,很難再提高性能。這些瓶頸可能是長(cháng)反饋環(huán)或者復雜狀態(tài)機等電路,需要在每一時(shí)鐘周期進(jìn)行評估。
提高設計性能一種常用的方法是優(yōu)化設計中的某些部分。例如,具有長(cháng)反饋環(huán)的設計會(huì )受限于最大頻率(fMAX)。重新設計電路,預先計算可能的反饋值,使用短反饋環(huán)在其中進(jìn)行選擇,以提高頻率。采用超級寄存器,這一過(guò)程能夠實(shí)現的速率要高于傳統的體系結構,這是因為可以使用超級時(shí)序重排和超級流水線(xiàn)優(yōu)化預計算通路。圖8顯示了一個(gè)超級優(yōu)化的實(shí)例;進(jìn)行香農分解(或者布爾因數分解)以縮短環(huán)路,從而提高最大頻率。一般而言,可以在控制環(huán)上進(jìn)行這類(lèi)優(yōu)化,獲得的性能增益要遠遠超出實(shí)現因數分解所需要的額外邏輯帶來(lái)的面積成本代價(jià)。
十一、靈活的高速可編程時(shí)鐘樹(shù)綜合
高性能FPGA設計中的時(shí)鐘給設計人員帶來(lái)了很大的挑戰。傳統的FPGA有固定的全局時(shí)鐘樹(shù)網(wǎng)絡(luò ),設計用于支持大扇出、芯片級全局時(shí)鐘域。但是,在GHz性能,時(shí)鐘樹(shù)對靈活性的要求非常高。設計人員希望針對性能均衡和時(shí)鐘交叉建立時(shí)移時(shí)鐘,為速率匹配和系統電源管理生成動(dòng)態(tài)選通時(shí)鐘。
為滿(mǎn)足這些需求,HyperFlex體系結構含有全新的時(shí)鐘結構,包括了經(jīng)過(guò)預先布線(xiàn)的時(shí)鐘通路,設計的時(shí)鐘區域在其上進(jìn)行綜合(常見(jiàn)于A(yíng)SIC時(shí)鐘樹(shù)綜合)。這一結構能夠前所未有的靈活的建立小規模本地時(shí)鐘域。這還可以讓軟件管理偏移;利用好偏移,需要時(shí)降低偏移。此外,需要時(shí),可以使用這一時(shí)鐘結構來(lái)綜合傳統的全局和局部均衡H樹(shù)時(shí)鐘,以便后向兼容。
Quartus II軟件管理可編程時(shí)鐘樹(shù)綜合;在布局布線(xiàn)期間,它以集成方式來(lái)綜合時(shí)鐘樹(shù)。
十二、更高的功效和效能
Stratix 10 FPGA和SoC的功耗比前幾代系列有很大的進(jìn)步,主要是因為使用了Intel的14nm三柵極(FinFET)工藝技術(shù)來(lái)制造器件。而且,HyperFlex體系結構也極大的降低了功耗。性能越來(lái)越高的HyperFlex體系結構實(shí)現了1024比特數據通路,時(shí)鐘速率達到350MHz,512比特數據通路的時(shí)鐘速率達到700MHz。結果,適配到器件中的設計只占用了一半的器件。這種變化對動(dòng)態(tài)功耗的影響不大,但是靜態(tài)功耗降低了一半,使用更小的器件,大幅度降低了成本;蛘,設計人員可以自由的發(fā)揮性能優(yōu)勢,部分用于提高時(shí)鐘速率,剩余的部分性能用于通過(guò)降低內核電源供電電壓或者使用速率等級較慢的器件來(lái)降低功耗。
不僅僅是通過(guò)提升內核的運行時(shí)鐘速率,HyperFlex體系結構能夠提供更多的性能優(yōu)勢;很容易實(shí)現時(shí)序收斂,提高設計團隊的效能,縮短產(chǎn)品面市時(shí)間。
【理解HyperFlex架構如何支持實(shí)現下一代高性能系統】相關(guān)文章:
支持多系統網(wǎng)絡(luò )批量安裝的服務(wù)器實(shí)現03-08
如何實(shí)現金融系統聯(lián)網(wǎng)監控03-22
支持語(yǔ)音的教師上課點(diǎn)名系統的設計與實(shí)現DEPHI+SQL03-08
無(wú)線(xiàn)巡更系統技術(shù)的實(shí)現03-18
利用Directshow進(jìn)行流媒體播放架構的研究與實(shí)現03-08
組件機制與操作系統的實(shí)現03-18