《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計(jì)應(yīng)用 > 面向?qū)ΨQ體系結(jié)構(gòu)的FPGA仿真模型研究
面向?qū)ΨQ體系結(jié)構(gòu)的FPGA仿真模型研究
電子設(shè)計(jì)工程
何 義 文 梅 任 巨 楊乾明 伍 楠 張春元
摘要: 本文提出了面向?qū)ΨQ多核體系結(jié)構(gòu)的FPGA仿真模型,以及基于該模型的多核/眾核,、SIMD體系結(jié)構(gòu)的執(zhí)行模式,。相對于軟硬件聯(lián)合仿真方法,該仿真模型減少了軟硬件協(xié)同邏輯并避免了設(shè)計(jì)復(fù)雜的軟件劃分算法,。實(shí)驗(yàn)結(jié)果表明,,面向?qū)ΨQ多核體系結(jié)構(gòu)的FPGA仿真模型能有效地減少仿真系統(tǒng)FPGA資源的需求,增大FPGA的仿真規(guī)模,,并且其帶來的仿真時間增量是可接受的,。但該仿真模型主要是面向?qū)ΨQ體系結(jié)構(gòu),而不適用于異構(gòu)多核系統(tǒng)等非對稱結(jié)構(gòu),。
關(guān)鍵詞: 仿真模型 FPGA
Abstract:
Key words :

     隨著元器件制造工藝的不斷進(jìn)步,單片上可集成的晶體管數(shù)急劇增加。納米工藝將使單芯片中晶體管密度達(dá)到每平方厘米包含百億至千億,。2010年已出現(xiàn)集成度超過10億支晶體管的高性能CPU(Intel的Polaris),,2020年將達(dá)到70億。因此,,單片多核,、眾核等體系結(jié)構(gòu)以其豐富的計(jì)算資源,且處理器核或計(jì)算簇的數(shù)量根據(jù)應(yīng)用計(jì)算量和并行度的需求可擴(kuò)展的特性,,成為體系結(jié)構(gòu)研究領(lǐng)域的一個重要方向,。
    在芯片設(shè)計(jì)中,需要花費(fèi)極大的人力和物力用于測試和驗(yàn)證,,而其中還有很大一部分測試工作必須等到芯片樣片出產(chǎn)后才能進(jìn)行,,這嚴(yán)重影響了芯片的開發(fā)周期和設(shè)計(jì)成本。軟件模擬器可以對各種規(guī)模的處理器進(jìn)行時鐘精確模擬,,但其模擬精度受限于建模的精度,,且隨著系統(tǒng)規(guī)模的增大和建模精度的提高,軟件模擬的時間急劇增加直至不可接受,。FPGA仿真為芯片設(shè)計(jì)的測試和驗(yàn)證提供了一個很好的解決方案,,它具有建造運(yùn)行和成品幾乎一樣快的工作原型硬件的能力,同時又具備可編程和快速可重構(gòu)的靈活性,,能夠更加精準(zhǔn)地模擬系統(tǒng)仿存,、I/O等行為,因此FPGA仿真能極大降低芯片研發(fā)的固有風(fēng)險,,縮短產(chǎn)品的開發(fā)周期,。將被仿真的體系結(jié)構(gòu)稱為目標(biāo)系統(tǒng),將由FPGA構(gòu)成的仿真平臺則稱為仿真系統(tǒng),。在仿真系統(tǒng)的設(shè)計(jì)中,,其仿真規(guī)模嚴(yán)重受限于FPGA芯片的容量,在面向多核,、眾核這類具有高擴(kuò)展性的體系結(jié)構(gòu)仿真時,,問題更為明顯。若采用更大容量的FPGA或利用多片F(xiàn)PGA仿真,,將面臨FPGA開發(fā)板重設(shè)計(jì)和多片F(xiàn)PGA互連通信等問題,。隨著研究的深入,系統(tǒng)會越來越復(fù)雜,,這會造成研究成本和設(shè)計(jì)復(fù)雜度越來越高,。因此,如何最大化片上資源的利用率,,增大FPGA的仿真規(guī)模成為處理器設(shè)計(jì)和體系結(jié)構(gòu)研究中的一個重要問題,。
    本文提出了一種面向?qū)ΨQ體系結(jié)構(gòu)的FPGA仿真模型,,該模型的核心設(shè)計(jì)思想是:分時復(fù)用仿真系統(tǒng)中的一個單元來仿真目標(biāo)系統(tǒng)中多個對稱單元的行為,從而利用較少的硬件資源完成系統(tǒng)仿真,,提高FPGA的利用率,。

1 對稱多核體系結(jié)構(gòu)FPGA仿真模型
   
對稱多核如SMP(Symmetry Multi-Processor)體系結(jié)構(gòu)中,通常包含多個對稱的處理器核或計(jì)算核心,,這里統(tǒng)稱為計(jì)算核,。計(jì)算核占據(jù)了多核體系結(jié)構(gòu)的主要硬件開銷,且對稱多核體系結(jié)構(gòu)的硬件仿真平臺FPGA資源消耗隨計(jì)算核數(shù)目成線性增加,。這里提出的對稱多核體系結(jié)構(gòu)FPGA仿真模型,,解耦合計(jì)算核數(shù)目與系統(tǒng)硬件開銷的線性關(guān)系,其核心設(shè)計(jì)思想是:在構(gòu)建仿真系統(tǒng)時,,使用一個與目標(biāo)系統(tǒng)中單個計(jì)算核等同的處理單元,,稱為虛擬計(jì)算單元VAU(Virtual Arithmetic Unit)代替所有的對稱計(jì)算核,通過分時復(fù)用VAU實(shí)現(xiàn)一個計(jì)算單元虛擬多個計(jì)算核的行為,。
    圖l中的左圖是當(dāng)前具有對稱結(jié)構(gòu)的多核體系結(jié)構(gòu)模型抽象,,n個對稱的計(jì)算核通過特定的互連結(jié)構(gòu)連接,其連接關(guān)系由目標(biāo)處理器的工作模式?jīng)Q定,;右圖是本文提出的仿真模型,。可以看出,,仿真系統(tǒng)中采用一個VAU代替了目標(biāo)系統(tǒng)中所有對稱的處理單元PU,。在對目標(biāo)系統(tǒng)進(jìn)行仿真時,計(jì)算頁控制器VAUC(VAU Controller)控制1個VAU分時復(fù)用的方式工作,,虛擬多個PU并行執(zhí)行,。分時的粒度與處理單元之間的耦合度相關(guān)。虛擬計(jì)算單元將目標(biāo)系統(tǒng)中并行執(zhí)行模式轉(zhuǎn)變?yōu)榇袌?zhí)行的方式進(jìn)行仿真,,以時間換取空間,,減少系統(tǒng)中計(jì)算資源的消耗。BS(Backup Storage)用于存儲VAU虛擬各PU執(zhí)行時的中間結(jié)果,。



2 仿真系統(tǒng)執(zhí)行模式
2.1 多核/眾核體系結(jié)構(gòu)仿真系統(tǒng)執(zhí)行模式

    對稱多核處理器中處理單元之間的耦合度不同,,使得對應(yīng)的仿真系統(tǒng)的執(zhí)行模式也不一樣。多核/眾核體系結(jié)構(gòu)通常采用粗粒度耦合執(zhí)行的方式,。如圖2(a)所示.多個處理單元之間相互比較獨(dú)立,,其同步和通信通常處于任務(wù)級,即多個處理單元間的通信和同步的次數(shù)遠(yuǎn)小于它們執(zhí)行的指令數(shù),。圖中PUi和PUj之間有一次通信,,PUi、PUj和PUk之間有一次同步,。對應(yīng)的仿真系統(tǒng)的執(zhí)行模式如圖2(b)所示,,VAU先對PUi進(jìn)行仿真,,執(zhí)行到與通信點(diǎn)時,將PUi的執(zhí)行信息導(dǎo)入BS,,然后VAU對PUi進(jìn)行仿真,,執(zhí)行到與通信點(diǎn)時,將PUj的執(zhí)行信息導(dǎo)入BS,,將PUi的執(zhí)行信息由BS導(dǎo)入VMU,對PUi的后續(xù)行為進(jìn)行仿真,,以此類推,,如圖2所示,箭頭每穿過中線一次,,表示計(jì)算頁切換一次仿真對象,,指向下的箭頭表示VMU的信息導(dǎo)入BS,指向上的箭頭表示BS中的信息導(dǎo)出至VMU,。為了減少現(xiàn)場切換的次數(shù),,對兩個PU通信時的執(zhí)行過程進(jìn)行優(yōu)化,如圖2(c)所示,,VAU仿真PUi執(zhí)行至通信點(diǎn)時,,切換至PUj進(jìn)行仿真,只有在PUj遇到其他同步或通信時,,才進(jìn)行現(xiàn)場切換,,否則VAU一直對PUj進(jìn)行仿真,直至PUj執(zhí)行結(jié)束,。PUj執(zhí)行到與通信點(diǎn)時,,PUj將通信數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)緩沖,并寫入PUi對應(yīng)的存儲空間,,如圖2(c)中虛線所示,。


2.2 SIMD體系結(jié)構(gòu)仿真系統(tǒng)執(zhí)行模式
    SIMD體系結(jié)構(gòu)的處理單元之間是緊密耦合的,所有處理單元的執(zhí)行過程都是嚴(yán)格同步的,,即同一時鐘周期內(nèi)每個處理單元都對不同的數(shù)據(jù)進(jìn)行完全同樣的操作,,如圖3(a)所示。


    在SIMD體系結(jié)構(gòu)仿真系統(tǒng)中,,必須在邏輯上保持這種完全同步的執(zhí)行模式,。本文采用的方式是,一條指令流出之后,,讓它在指令流水線中保持n個時鐘周期(可以在連續(xù)的n個時鐘內(nèi)都發(fā)射同一條指令),,VAU在這n個周期內(nèi)分別對各處理單元對應(yīng)的數(shù)據(jù)進(jìn)行處理。若將n個時鐘周期看作系統(tǒng)的工作周期,,則n個數(shù)據(jù)是在同一工作周期內(nèi)被處理,,如圖3(b)所示,。這樣則在邏輯上保持SIMD的執(zhí)行模式。

3 仿真系統(tǒng)評估
   
本文的目標(biāo)系統(tǒng)如圖4(a)所示,。它由多個計(jì)算節(jié)點(diǎn)以Torus片上網(wǎng)絡(luò)連接構(gòu)成,,其計(jì)算節(jié)點(diǎn)數(shù)目可以根據(jù)應(yīng)用需求進(jìn)行擴(kuò)展。對應(yīng)的仿真系統(tǒng)如圖4(b)所示,。在仿真系統(tǒng)中,,采用一個虛擬計(jì)算節(jié)點(diǎn)(VAU)代替目標(biāo)系統(tǒng)中的p個計(jì)算節(jié)點(diǎn),圖4(b)以p=4為例,,展示了仿真系統(tǒng)的結(jié)構(gòu),。目標(biāo)系統(tǒng)中p個計(jì)算節(jié)點(diǎn)的計(jì)算操作都由VAU以圖2的工作模式完成。VAU中包含一個現(xiàn)場保存存儲器(context backup),,用于保存目標(biāo)系統(tǒng)中p個計(jì)算節(jié)點(diǎn)的中間結(jié)果,。contextbackup的容量為每個計(jì)算節(jié)點(diǎn)中本地存儲器容量的p倍,這樣,,context backup就有足夠的能力存儲p個計(jì)算節(jié)點(diǎn)的中間結(jié)果,,從而減少與外部存儲器的數(shù)據(jù)交換,減少VAU的停頓時間,。


    采用FPGA EP2S180(擁有143 520 ALUT,,相當(dāng)于18萬邏輯門)實(shí)現(xiàn)了多種結(jié)構(gòu)(計(jì)算節(jié)點(diǎn)的數(shù)目不同)的目標(biāo)系統(tǒng)和基于仿真模型的仿真系統(tǒng),并利用相應(yīng)的硬件綜合工具Quartus分析仿真系統(tǒng)的FPGA資源開銷,。系統(tǒng)采用包含1個cluster的MASA流處理器作為計(jì)算節(jié)點(diǎn),。為更好地驗(yàn)證仿真模型,流處理器中采用功能裁剪的cluster,,如圖4所示,,cluster中僅包含3個計(jì)算單元和1個I/O單元,并相應(yīng)降低指令和數(shù)據(jù)存儲器的容量,。在仿真系統(tǒng)中,,VAU中的processor為流處理器中的核心計(jì)算部件,context backup代替了片上存儲部件,,其容量為SRF的p倍,。該實(shí)驗(yàn)的目的是分析所提出的仿真模型對仿真系統(tǒng)的硬件資源消耗和仿真速度的影響。
3.1 資源消耗分析
   
圖5是目標(biāo)系統(tǒng)和仿真系統(tǒng)的FPGA資源消耗統(tǒng)計(jì),。由于布局布線的需求,,F(xiàn)PGA芯片的資源使用率最高通常只能達(dá)到70%~80%。圖5中“×”標(biāo)識表示當(dāng)前配置超出EP2S180的仿真能力,??梢钥闯觯诓徊捎梅抡鎯?yōu)化技術(shù)時,,EP2S180可仿真的最大規(guī)模目標(biāo)系統(tǒng)為24個計(jì)算節(jié)點(diǎn),?;诒疚牡姆抡婺P停?dāng)p值等于4時,,EP2S180的仿真能力提高至64個節(jié)點(diǎn),;當(dāng)p值等于8時,其仿真能力提高至96個節(jié)點(diǎn),。當(dāng)p值增大時,,其仿真能力可進(jìn)一步提升。實(shí)驗(yàn)結(jié)果表明,,本文提出的仿真模型能夠增大FPGA芯片可仿真系統(tǒng)的規(guī)模,。


3.2 仿真速度分析
   
本文采用矩陣乘運(yùn)算,分別在8,、16、32個節(jié)點(diǎn)的目標(biāo)系統(tǒng)和仿真系統(tǒng)上執(zhí)行,,測試二者的仿真速度,。目標(biāo)系統(tǒng)和仿真系統(tǒng)的工作頻率為75 MHz。圖6展示了二者的執(zhí)行時間,。


    可以看出,,仿真系統(tǒng)的執(zhí)行時間大于目標(biāo)系統(tǒng)。其時間增量主要是由于仿真系統(tǒng)將目標(biāo)系統(tǒng)中多個processor并行處理的任務(wù)移植到一個VAU上串行執(zhí)行造成,。仿真系統(tǒng)沒有改變目標(biāo)系統(tǒng)的數(shù)據(jù)傳輸路徑和模式,,因此,數(shù)據(jù)傳輸?shù)臅r間并沒有增加,。另外,,由于VAU虛擬的p個pro-cessor共享了存儲空間,仿真系統(tǒng)中消除了p個processor之間的數(shù)據(jù)傳輸時間,。雖然仿真系統(tǒng)相對于目標(biāo)系統(tǒng)執(zhí)行時間有所增加,,但其時間增量處于秒級。相對于緩慢的軟件模擬器,,并綜合考慮仿真模型對FPGA仿真規(guī)模帶來的好處,,因此認(rèn)為該仿真模型帶來的仿真時間增量是可以接受的。

4 結(jié)束語
   
本文提出了面向?qū)ΨQ多核體系結(jié)構(gòu)的FPGA仿真模型,,以及基于該模型的多核/眾核,、SIMD體系結(jié)構(gòu)的執(zhí)行模式。相對于軟硬件聯(lián)合仿真方法,,該仿真模型減少了軟硬件協(xié)同邏輯并避免了設(shè)計(jì)復(fù)雜的軟件劃分算法,。實(shí)驗(yàn)結(jié)果表明,面向?qū)ΨQ多核體系結(jié)構(gòu)的FPGA仿真模型能有效地減少仿真系統(tǒng)FPGA資源的需求,,增大FPGA的仿真規(guī)模,,并且其帶來的仿真時間增量是可接受的,。但該仿真模型主要是面向?qū)ΨQ體系結(jié)構(gòu),而不適用于異構(gòu)多核系統(tǒng)等非對稱結(jié)構(gòu),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。