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