Gpdsp中多層次協(xié)同與共享的存儲裝置和訪存方法
【技術領域】
[0001]本發(fā)明涉及通用計算數(shù)字信號處理器(General-Purpose Digital SignalProcessor,GPDSP)技術領域,尤其涉及一種GPDSP中多層次協(xié)同與共享的存儲裝置和訪存方法。
【背景技術】
[0002]隨著集成電路工藝發(fā)展越來越接近晶體管的物理極限,單純依靠提高主頻來提升微處理器性能的方法將面臨著無法逾越的功耗墻問題,因而微處理器轉而向單片集成多核的方向發(fā)展。GPDSP作為一種高性能多核通用數(shù)字信號處理器,能高效地實現(xiàn)各類嵌入式應用和通用科學計算應用領域中大量數(shù)字信號處理,特別是對高數(shù)據(jù)密集性、并行性、局部性特點的一類應用,其具有很高的峰值計算性能。GPDSP片上集成了大量的具有較高峰值運算能力的DSP內核,由于需要很高的數(shù)據(jù)訪存帶寬才能發(fā)揮峰值運算效能,因而也面臨著存儲墻問題。
[0003]目前的多核微處理器存儲系統(tǒng)中,通常是采用多級緩存結構來緩解對片外訪存帶寬的壓力,例如采用每個DSP內核擁有私有的一級指令和數(shù)據(jù)緩存Cache、共享的或私有的二級或三級緩存Cache的結構,捕獲更多的時空局部性,以盡量減小存儲器的平均訪問延遲。在多核結構中,隨著晶體管尺寸的縮小和芯片面積的增大,片上緩存容量越來越大,使得存儲緩存布局從單核的集中式向分布式轉化,但這種分布式緩存共享存儲架構具有以下特點:
O由于同一微處理器核到不同存儲體的距離存在的巨大差異,導致產生不同的數(shù)據(jù)訪問延遲;
2)多個微處理器核對同一地址空間的訪問可能具有不同的延遲;
3)多核微處理器中,各內核通過片上網絡互連,訪存延遲除了訪問距離長短,還取決于片上互連網絡的帶寬速度,因而訪存延遲長,且存在不確定性;
4)共享存儲器成為數(shù)據(jù)訪問瓶頸,需要復雜的硬件結構維護多核多層次緩存的數(shù)據(jù)一致性,影響了多核共享存儲的可伸縮性。
[0004]綜上所述,目前的分布式共享存儲器不利于GPDSP實時高效地完成數(shù)字信號處理,難以發(fā)揮其峰值運算性能。
【發(fā)明內容】
[0005]本發(fā)明要解決的技術問題就在于:針對現(xiàn)有技術存在的技術問題,本發(fā)明提供一種結構簡單緊湊、能夠實現(xiàn)GPDSP中單核內數(shù)據(jù)高效訪存以及核間數(shù)據(jù)高效共享,且硬件開銷小的GPDSP中多層次協(xié)同與共享的存儲裝置和訪存方法。
[0006]為解決上述技術問題,本發(fā)明提出的技術方案為:
一種面向GPDSP的多層次協(xié)同與共享存儲裝置,包括多個DSP核以及用于緩存片外存儲數(shù)據(jù)的全局共享緩存單元,各DSP核分別通過片上網絡連接所述全局共享緩存單元;每個所述DSP核均包括并行的標量存儲單元、向量陣列存儲單元,各所述DSP核通過各自的標量存儲單元、向量陣列存儲單元進行核內數(shù)據(jù)訪存,以及各所述DSP核通過所述全局共享緩存單元共享數(shù)據(jù)。
[0007]作為本發(fā)明裝置的進一步改進:還包括用于將各DSP核間數(shù)據(jù)進行同步的硬件同步單元,所述硬件同步單元與所述片上網絡連接。
[0008]作為本發(fā)明裝置的進一步改進:所述硬件同步單元包括多個相同結構的同步子體,每個同步子體包括依次連接的第二輸入緩沖模塊、仲裁調度模塊、同步鎖實例槽模塊以及返回數(shù)據(jù)選擇與緩存模塊;所述第二輸入緩沖模塊用于緩存同步請求,并發(fā)送至仲裁調度模塊進行仲裁,所述仲裁調度模塊將同步請求中用于保持訪存數(shù)據(jù)不被修改的同步鎖請求發(fā)送至同步鎖實例槽模塊進行處理、將同步請求中用于保持訪存順序的同步柵欄請求發(fā)送至同步柵欄實例槽模塊進行處理,返回數(shù)據(jù)選擇與緩存模塊接收所述同步鎖實例槽模塊、同步柵欄實例槽模塊的輸出請求,選擇最終輸出請求并緩沖未選擇的請求。
[0009]作為本發(fā)明裝置的進一步改進:所述全局共享緩存單元包括多個相同結構的Cache子體控制器,每個Cache子體控制器包括請求輸入緩沖模塊、第一訪存流水線、第二訪存流水線、輸出緩沖模塊、數(shù)據(jù)返回緩存模塊以及返回數(shù)據(jù)選擇模塊;所述第一輸入緩沖模塊接收多個訪問請求,并根據(jù)訪問請求類型發(fā)送至第一訪存流水線、第二訪存流水線進行處理或直接發(fā)送至輸出緩沖模塊,所述數(shù)據(jù)返回緩存模塊接收返回的數(shù)據(jù)并按照數(shù)據(jù)類型將接收到的所述返回數(shù)據(jù)輸出至對應的緩沖,通過返回數(shù)據(jù)選擇模塊選擇最終的返回數(shù)據(jù)。
[0010]作為本發(fā)明裝置的進一步改進:所述向量陣列存儲單元為全局編址的向量陣列存儲器;所述標量存儲單元配置為私有一級Cache或全局編址的標量存儲器;當所述標量存儲單元配置為私有一級Cache時,所述標量存儲單元通過所述全局共享緩存單元訪問片外存儲數(shù)據(jù);當所述標量存儲單元配置為全局編址的標量存儲器時,所述標量存儲單元通過片上網絡執(zhí)行與其余地址標量存儲單元之間標量訪存操作、DMA讀請求以及DMA寫請求的并行訪問。
作為本發(fā)明裝置的進一步改進:所述標量存儲單元包括依次連接的標量譯碼與地址計算模塊、標量訪存控制器、標量存儲體;所述標量譯碼與地址計算模塊用于對標量訪存指令進行譯碼,并根據(jù)譯碼得到的尋址方式計算得到訪存地址;所述標量訪存控制器用于根據(jù)訪存地址發(fā)送訪存請求;所述標量存儲體用于根據(jù)訪存請求設置為一級數(shù)據(jù)存儲體或SRAM。
[0011]作為本發(fā)明裝置的進一步改進:所述向量陣列存儲單元包括依次連接的向量譯碼與地址計算模塊、向量訪存控制單元以及存儲陣列,所述向量譯碼與地址計算模塊對向量訪存指令進行譯碼,并根據(jù)譯碼得到的尋址方式計算得到訪存地址,通過向量訪存控制單元根據(jù)訪存地址控制兩個向量讀寫請求、DMA讀請求、DMA寫請求并行訪問存儲陣列。
[0012]一種利用上述多層次協(xié)同與共享存儲裝置的訪存方法,步驟包括:
I)將各DSP核的所述向量陣列存儲單元進行全局編址,若訪存數(shù)據(jù)為多核共享數(shù)據(jù),配置各DSP核的所述標量存儲單元為全局編址的標量存儲器,轉入執(zhí)行步驟3);若訪存數(shù)據(jù)為單核私有數(shù)據(jù),配置各DSP核的所述標量存儲單元為私有一級Cache,轉入執(zhí)行步驟
2); 2)各DSP核的所述向量陣列存儲單元通過片上網絡進行數(shù)據(jù)交換,各DSP核的所述標量存儲單元通過全局共享緩存單元對片外存儲器數(shù)據(jù)進行訪問;
3)各DSP核的所述標量存儲單元通過片上網絡與其他DSP核的標量存儲單元進行數(shù)據(jù)交換。
[0013]作為本發(fā)明方法的進一步改進,所述步驟2)中還包括使私有一級Cache與全局共享緩存單元數(shù)據(jù)一致性的配置步驟,具體實施方法為:采用將私有一級Cache與全局共享緩存單元均配置為寫回的第一配置方式、或采用將私有一級Cache配置為寫旁路的第二配置方式、或采用將全局共享緩存單元配置為寫旁路的第三配置方式、或采用將私有一級Cache與全局共享緩存單元均配置為寫旁路的第四配置方式;
所述第一配置方式為根據(jù)訪存的先后順序,將待訪問數(shù)據(jù)塊依次在私有一級Cache、全局共享緩存單元中缺失,并在調入待訪問數(shù)據(jù)塊后依次緩存進全局共享緩存單元、私有一級Cache ;所述第二配置方式為將待訪問數(shù)據(jù)塊直接寫入全局共享緩存單元中;所述第三配置方式為將待訪問數(shù)據(jù)塊僅在私有一級Cache中緩存;所述第四配置方式為將待訪問數(shù)據(jù)塊直接寫入片外存儲器。
[0014]作為本發(fā)明方法的進一步改進,所述步驟3)還包括多核共享數(shù)據(jù)同步步驟,具體實施方法為:當目標DSP核的標量存儲單元通過片上網絡訪問共享存儲空間時,先訪問硬件同步單元,通過硬件同步單元對所操作的目標數(shù)據(jù)空間進行施加同步鎖,使目標DSP核外的其他DSP核不能修改所述目標數(shù)據(jù)空間。
[0015]與現(xiàn)有技術相比,本發(fā)明裝置的優(yōu)點在于:
1)本發(fā)明多層次協(xié)同與共享存儲裝置通過全局共享緩存單元緩存片外存儲空間數(shù)據(jù),可以有效實現(xiàn)片外數(shù)據(jù)與單核DSP核間的數(shù)據(jù)傳輸延遲,滿足高速實時數(shù)據(jù)信號處理的需要;同時在每個DSP核內設置并行的標量存儲單元、向量陣列存儲單元,使得每個單核運算時可直接訪問本地標量存儲單元、向量陣列存儲單元,避免了 Cache訪問缺失時由于分布式存儲結構延遲不確定造成對計算性能的影響;
2)本發(fā)明多層次協(xié)同與共享存儲裝置中每個DSP核內標量存儲單元、向量陣列存儲單元為并行,通過訪存并行的體系結構使得可根據(jù)用戶需求動態(tài)的實現(xiàn)緊耦合或松耦合模式,當標量計算單元空閑時,將標量存儲單元訪問的數(shù)據(jù)發(fā)送給向量運算單元,實現(xiàn)標量存儲單元與向量陣列存儲單元的緊耦合,從而充分利用標量存儲單元的訪存帶寬、提高單核向量的運算效率。
[0016]3)本發(fā)明多層次協(xié)同與共享存儲裝置中,進一步單