<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種面向多核DSP的小容量緊耦合快速共享數據池

一種面向多核DSP的小容量緊耦合快速共享數據池

作者: 時(shí)間:2009-04-02 來(lái)源:網(wǎng)絡(luò ) 收藏

除了這種對程序員透明的硬件同步機制之外,FSDP還支持基于軟件查詢(xún)的同步機制。即在每次改變信號燈狀態(tài)前,插入一段查詢(xún)“信號燈”狀態(tài)的例程,然后根據查詢(xún)的結果決定程序的流向。

4.4 消除讀訪(fǎng)問(wèn)沖突

在FSDP的共享模式下存在多DSP核同時(shí)讀一個(gè)存儲體的沖突。雖然利用仲裁邏輯配合隊列機制可以緩解沖突,但是,這種方式降低了FSDP的并行性。另外,可以采用存儲體復制或者采用多端口存儲體的方式。為此,本文進(jìn)行了對比實(shí)驗,結果表明,4個(gè)1KB大小的單端口SRAM在工作頻率和面積上都優(yōu)于4端口1KB的全定制SRAM模塊,而且單端口SRAM可以由EDA工具快速編譯生成,便于設計實(shí)現。因此,對于FSDP這類(lèi)小容量的,本文采用存儲體復制的方式解決訪(fǎng)問(wèn)沖突:將原來(lái)的每個(gè)存儲體換成4個(gè)同樣大小的單端口存儲體,構成具有4個(gè)虛擬端口的存儲體,如圖5所示。

在處理讀寫(xiě)訪(fǎng)問(wèn)時(shí),存控邏輯自動(dòng)進(jìn)行數據寫(xiě)復制和讀端口的分配工作,讀寫(xiě)過(guò)程中對用戶(hù)都是透明的。這種方式完全消除了多核的讀訪(fǎng)問(wèn)沖突,實(shí)現了最大的共享訪(fǎng)問(wèn)帶寬,提高了FSDP的并行性和實(shí)時(shí)性。



圖5 存儲體復制構成虛擬多端口存儲體

5. 性能分析

5.1 分析模型與設計實(shí)現

本文構建了整個(gè)SDSP的C語(yǔ)言模擬器SDSP-Sim。SDSP-Sim是一個(gè)時(shí)鐘精確的模擬器,能夠運行經(jīng)過(guò)編譯和手工分配的應用程序,報告程序運行的各種統計信息和計算結果。每個(gè)處理器核占用一個(gè)模擬進(jìn)程,RISC與DSP核之間采用進(jìn)程通信的方式傳輸控制信息。本文以MediaBench基準程序集為基礎,選擇了6組典型的多媒體類(lèi)與通信類(lèi)應用程序,用于評測FSDP的性能,如表1所示。為了滿(mǎn)足的并行計算需求,對于原來(lái)復雜度較低的一些測試程序,例如PEGWIT和JPEG_c,本文擴大了它們的數據集。對于MP3解碼程序MP3_d則將其擴展為兩路并行解碼器2MP3_d。由于SDSP的并行編譯器開(kāi)發(fā)工作還沒(méi)有完成,本文仍采用手工的方式對測試程序進(jìn)行并行化映射。

表1 用于性能評測的測試程序說(shuō)明

本文采用SMIC 0.13μm CMOS工藝庫對FSDP進(jìn)行了設計實(shí)現。其中各存儲體采用EDA工具生成的單端口SRAM。下表2給出了FSDP的各項設計指標。其中,“無(wú)阻塞讀延遲”是指在同步成功且沒(méi)有沖突的情況下,從DSP核發(fā)出讀請求到獲得返回數據之間的時(shí)間間隔。

表20.13μm CMOS工藝下四通道FSDP的各項性能指標

5.2 性能對比

對于多核處理器共享SPM的研究,前人的工作主要是針對SPM的編譯優(yōu)化和數據劃分算法的研究。文獻0介紹的VS-SPM(虛擬共享)原型結構與本文的FSDP有類(lèi)似之處,它根據SPM與處理器核的關(guān)系,將SPM分成本地SPM和遠程SPM,各個(gè)處理器核通過(guò)共享總線(xiàn)訪(fǎng)問(wèn)各SPM模塊。下表3對比了本文的FSDP與VS-SPM在結構上的差異。VS-SPM主要是針對編譯優(yōu)化和數據劃分算法優(yōu)化而設計的,其硬件優(yōu)化程度和訪(fǎng)問(wèn)速度都不及FSDP,而且沒(méi)有解決多個(gè)處理器核并行訪(fǎng)問(wèn)沖突的問(wèn)題,不支持核間數據的流水傳輸。

表3 FSDP與VS-SPM的結構對比

本文建立了VS-SPM的結構模型,將DSP核間同樣一批共享數據先后映射到VS-SPM和FSDP的存儲空間上,分別得到兩種結構下程序的執行時(shí)間TVS-SPM和TF-SDP,然后按照(1)式計算出FSDP相對VS-SPM的性能加速比。



圖6給出了6組測試程序的實(shí)驗結果。結果表明,通過(guò)FSDP在DSP核之間傳輸共享數據相比通過(guò)VS-SPM傳輸具有明顯的性能優(yōu)勢,6組程序的平均性能加速比達到了1.37。



圖6FSDP相對VS-SPM的性能加速比

在引入FSDP之前,異構主要通過(guò)共享L2 Cache傳輸DSP核間的共享數據。為了評測FSDP對系統性能的加速作用,本文比較了下列三種數據映射方式下異構多核DSP的計算性能:

僅用L2 Cache:DSP核間的共享數據全部通過(guò)L2傳輸;

僅用FSDP:DSP核間的共享數據全部通過(guò)FSDP傳輸;

FSDP + L2:將DSP核間的不規則共享數據映射到FSDP的地址空間,其余的共享數據流仍通過(guò)L2傳輸。

利用SDSP-Sim軟件模擬器分別得到上述三種映射方式下程序的執行時(shí)間,然后以第一種映射方式下的執行時(shí)間為基準,計算出另外兩種方式的性能加速比,結果如圖7所示:



圖7三種數據映射方式下系統的計算性能對比

實(shí)驗結果表明,在FSDP + L2 Cache方式下,程序的性能是最高的。6組程序的平均性能加速比為1.13。本文分析認為:

對于核間共享數據包含大量細粒度數據和不規則數據流的應用程序(例如PEGWIT和RASTA),僅用FSDP相比僅通過(guò)L2 Cache傳輸共享數據具有更高的計算性能;

對于核間共享數據量較大和數據流分布比較密集的應用程序(例如2MP3_d和MPEG2_e),僅用FSDP傳輸共享數據的計算性能較低,這是因為FSDP對共享數據的分塊處理使得同步開(kāi)銷(xiāo)在執行時(shí)間中的比例增大,影響了總執行時(shí)間;

FSDP與共享數據Cache結合使用進(jìn)一步提高了多核DSP的片內數據重用性,減少了對片外數據的長(cháng)延遲訪(fǎng)問(wèn),因而能夠獲得最佳的計算性能。其中,對于需要緊耦合共享的小容量數據或者非常不規則的短數據流,優(yōu)先選擇通過(guò)FSDP傳輸,減少通過(guò)共享Cache的長(cháng)延遲訪(fǎng)問(wèn)開(kāi)銷(xiāo);反之,對于大塊數據的共享或者規則數據流的傳輸,則宜采用共享Cache的方式,降低數據頻繁分塊的同步開(kāi)銷(xiāo)。

5.3 擴展性分析

在消除了FSDP的訪(fǎng)問(wèn)沖突之后,所有DSP核可以同時(shí)訪(fǎng)問(wèn)不同的存儲體。理論上來(lái)看,FSDP的訪(fǎng)問(wèn)帶寬可以隨著(zhù)DSP核數量的增長(cháng)而線(xiàn)性增長(cháng),具有良好的可擴展性。為此,我們進(jìn)行了分析與實(shí)驗。定義B為FSDP的有效訪(fǎng)問(wèn)帶寬,即在考慮訪(fǎng)存延遲和工作頻率的情況下所有DSP核訪(fǎng)問(wèn)FSDP的實(shí)際存儲帶寬;N表示DSP核的數量。本文在N=1~8的情況下分別對FSDP進(jìn)行了單獨的設計實(shí)現,得到了B與N的關(guān)系,如圖8所示。



圖8FSDP有效訪(fǎng)問(wèn)帶寬與DSP核數量的關(guān)系

由實(shí)驗結果可見(jiàn),當N小于5時(shí), B快速增長(cháng),與N呈近似的線(xiàn)性關(guān)系。隨著(zhù)N的進(jìn)一步增大,DSP核與存儲體之間的控制邏輯開(kāi)銷(xiāo)、互連總線(xiàn)和交叉開(kāi)關(guān)端口數量以O(N2)量級增長(cháng),FSDP的工作頻率開(kāi)始下降,訪(fǎng)問(wèn)延遲越來(lái)越大,FSDP的有效訪(fǎng)問(wèn)帶寬增長(cháng)十分緩慢。因此,FSDP更適合于5核以?xún)鹊亩嗪薉SP。當DSP核數量超過(guò)8核以上時(shí),我們將以4核為一個(gè)超節點(diǎn)進(jìn)行結構擴展。超節點(diǎn)內部采用FSDP實(shí)現緊耦合的數據傳輸,超節點(diǎn)之間通過(guò)片上網(wǎng)絡(luò )(NoC)或者其他結構進(jìn)行數據傳輸。

7結束語(yǔ)

相比傳統的Cache結構,便箋式存儲器具有更靈活的結構、簡(jiǎn)潔的控制邏輯、更低的訪(fǎng)問(wèn)延遲和方便的數據管理等諸多優(yōu)勢。本文針對多核DSP架構設計的快速共享數據緩沖池FSDP結合了便箋式存儲器的結構特點(diǎn)和結構的編程需要,采用軟/硬件聯(lián)合的設計方法,為多核DSP之間傳輸細粒度共享數據提供了一個(gè)緊耦合的快速通路,相比共享二級Cache和DMA傳輸方式具有更好的傳輸效率,是一種新型而實(shí)用的、可擴展多核共享存儲結構。今后,我們將深入研究面向多核處理器的高性能共享存儲結構,增強片上存儲的可擴展性和可重構能力,進(jìn)一步提高多核SoC的存儲帶寬。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>