面向?qū)ΨQ體系結(jié)構(gòu)的FPGA仿真模型研究
2 仿真系統(tǒng)執(zhí)行模式
2.1 多核/眾核體系結(jié)構(gòu)仿真系統(tǒng)執(zhí)行模式
對(duì)稱多核處理器中處理單元之間的耦合度不同,使得對(duì)應(yīng)的仿真系統(tǒng)的執(zhí)行模式也不一樣。多核/眾核體系結(jié)構(gòu)通常采用粗粒度耦合執(zhí)行的方式。如圖2(a)所示.多個(gè)處理單元之間相互比較獨(dú)立,其同步和通信通常處于任務(wù)級(jí),即多個(gè)處理單元間的通信和同步的次數(shù)遠(yuǎn)小于它們執(zhí)行的指令數(shù)。圖中PUi和PUj之間有一次通信,PUi、PUj和PUk之間有一次同步。對(duì)應(yīng)的仿真系統(tǒng)的執(zhí)行模式如圖2(b)所示,VAU先對(duì)PUi進(jìn)行仿真,執(zhí)行到與通信點(diǎn)時(shí),將PUi的執(zhí)行信息導(dǎo)入BS,然后VAU對(duì)PUi進(jìn)行仿真,執(zhí)行到與通信點(diǎn)時(shí),將PUj的執(zhí)行信息導(dǎo)入BS,將PUi的執(zhí)行信息由BS導(dǎo)入VMU,對(duì)PUi的后續(xù)行為進(jìn)行仿真,以此類推,如圖2所示,箭頭每穿過(guò)中線一次,表示計(jì)算頁(yè)切換一次仿真對(duì)象,指向下的箭頭表示VMU的信息導(dǎo)入BS,指向上的箭頭表示BS中的信息導(dǎo)出至VMU。為了減少現(xiàn)場(chǎng)切換的次數(shù),對(duì)兩個(gè)PU通信時(shí)的執(zhí)行過(guò)程進(jìn)行優(yōu)化,如圖2(c)所示,VAU仿真PUi執(zhí)行至通信點(diǎn)時(shí),切換至PUj進(jìn)行仿真,只有在PUj遇到其他同步或通信時(shí),才進(jìn)行現(xiàn)場(chǎng)切換,否則VAU一直對(duì)PUj進(jìn)行仿真,直至PUj執(zhí)行結(jié)束。PUj執(zhí)行到與通信點(diǎn)時(shí),PUj將通信數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)緩沖,并寫入PUi對(duì)應(yīng)的存儲(chǔ)空間,如圖2(c)中虛線所示。本文引用地址:http://m.butianyuan.cn/article/191432.htm
2.2 SIMD體系結(jié)構(gòu)仿真系統(tǒng)執(zhí)行模式
SIMD體系結(jié)構(gòu)的處理單元之間是緊密耦合的,所有處理單元的執(zhí)行過(guò)程都是嚴(yán)格同步的,即同一時(shí)鐘周期內(nèi)每個(gè)處理單元都對(duì)不同的數(shù)據(jù)進(jìn)行完全同樣的操作,如圖3(a)所示。
在SIMD體系結(jié)構(gòu)仿真系統(tǒng)中,必須在邏輯上保持這種完全同步的執(zhí)行模式。本文采用的方式是,一條指令流出之后,讓它在指令流水線中保持n個(gè)時(shí)鐘周期(可以在連續(xù)的n個(gè)時(shí)鐘內(nèi)都發(fā)射同一條指令),VAU在這n個(gè)周期內(nèi)分別對(duì)各處理單元對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理。若將n個(gè)時(shí)鐘周期看作系統(tǒng)的工作周期,則n個(gè)數(shù)據(jù)是在同一工作周期內(nèi)被處理,如圖3(b)所示。這樣則在邏輯上保持SIMD的執(zhí)行模式。
3 仿真系統(tǒng)評(píng)估
本文的目標(biāo)系統(tǒng)如圖4(a)所示。它由多個(gè)計(jì)算節(jié)點(diǎn)以Torus片上網(wǎng)絡(luò)連接構(gòu)成,其計(jì)算節(jié)點(diǎn)數(shù)目可以根據(jù)應(yīng)用需求進(jìn)行擴(kuò)展。對(duì)應(yīng)的仿真系統(tǒng)如圖4(b)所示。在仿真系統(tǒng)中,采用一個(gè)虛擬計(jì)算節(jié)點(diǎn)(VAU)代替目標(biāo)系統(tǒng)中的p個(gè)計(jì)算節(jié)點(diǎn),圖4(b)以p=4為例,展示了仿真系統(tǒng)的結(jié)構(gòu)。目標(biāo)系統(tǒng)中p個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算操作都由VAU以圖2的工作模式完成。VAU中包含一個(gè)現(xiàn)場(chǎng)保存存儲(chǔ)器(context backup),用于保存目標(biāo)系統(tǒng)中p個(gè)計(jì)算節(jié)點(diǎn)的中間結(jié)果。contextbackup的容量為每個(gè)計(jì)算節(jié)點(diǎn)中本地存儲(chǔ)器容量的p倍,這樣,context backup就有足夠的能力存儲(chǔ)p個(gè)計(jì)算節(jié)點(diǎn)的中間結(jié)果,從而減少與外部存儲(chǔ)器的數(shù)據(jù)交換,減少VAU的停頓時(shí)間。
評(píng)論