《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 可重構陣列處理器中分布式Cache設計
可重構陣列處理器中分布式Cache設計
2018年電子技術應用第12期
蔣 林1,劉 陽2,山 蕊1,劉 鵬1,耿玉榮2
1.西安郵電大學 電子工程學院,陜西 西安710121;2.西安郵電大學 計算機學院,陜西 西安710121
摘要: 隨著片上集成的處理器核數日益增多,可重構陣列處理器中的“存儲墻”問題日益加劇,而傳統采用多級共享Cache硬件設計復雜度高,并行訪問度有限,難以滿足可重構陣列處理器的訪存需求。設計了一種本地優先、全局共享的“物理分布、邏輯統一”分布式Cache結構,該結構硬件開銷小,并行訪問性高。通過Xilinx公司的Virtex-6系列xc6vlx550T開發板對設計進行測試,實驗結果表明,該結構相比于同類結構,平均延遲減少最高達30%,硬件開銷僅為Cache容量的5%,最高可提供10.512 GB/s的訪存帶寬。
中圖分類號: TP302
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181095
中文引用格式: 蔣林,劉陽,山蕊,等. 可重構陣列處理器中分布式Cache設計[J].電子技術應用,2018,44(12):9-12,16.
英文引用格式: Jiang Lin,Liu Yang,Shan Rui,et al. Design of the distributed Cache for reconfigurable array processor[J]. Application of Electronic Technique,2018,44(12):9-12,16.
Design of the distributed Cache for reconfigurable array processor
Jiang Lin1,Liu Yang2,Shan Rui1,Liu Peng1,Geng Yurong2
1.School of Electronic Engineering,Xi′an University of Posts and Telecommunications,Xi′an 710121,China; 2.School of Computer,Xi′an University of Posts and Telecommunications,Xi′an 710121,China
Abstract: With the increasing number of processor cores integrated on-chip, the problem of “storage walls” in reconfigurable array processors is increasing. Traditionally, the use of multi-level shared Cache hardware design has high complexity and limited parallel access, and it is difficult to meet the memory requirements of reconfigurable array processors. This paper designs a local-priority, global-shared“physical distribution, unified logic” distributed Cache structure. The hardware overhead of this structure is small and parallel access is high. The Xilinx Virtex-6 series xc6vlx550T development board was used to test the design. The experimental results show that the average delay of proposed architecture is reduced by up to 30% compared with the similar structure, and the hardware overhead is only 5% of the Cache capacity. The maximum memory access bandwidth is 10.512 GB/s.
Key words : array processor;reconfigurable;storage structure;distributed Cache;parallelism

0 引言

    隨著電路技術飛速發展,人工智能等新應用層出不窮,可重構陣列處理器[1-2]兼顧通用處理器(General Purpose Processor,GPP)[3]靈活性和專用集成電路(Application Specific Integrated Circuit,ASIC)[4]計算能力,因而逐漸成為目前密集型應用領域的研究熱點。可重構陣列器中海量的訪存數據使得目前存儲帶寬嚴重不足[5],故研究存儲結構解決帶寬嚴重不足問題是提升整個系統性能的關鍵。

    為了解決以上問題,設計人員普遍采用Cache技術,其中文獻[6]中CGRA的硬件平臺中,存儲結構采用數據共享Cache,此結構數據并行性差;CONG J等人提出的FPCA結構通過增加一級共享Cache的容量來提高命中率[7],文獻[8]同樣采用片上大容量共享Cache來進行訪存,這種大容量的Cache結構不但使得整個系統的面積增加且訪存的并行性依舊不高。以上多個處理器核對單一Cache空間的共享使得競爭突出[9],延遲有所增加。GALANIS M D等人在其提出的可重構數據通路中,存儲結構采用共享一級Cache和共享二級Cache來提高訪存速度[10];多倫多大學SWANSON S等人提出的WaveScalar數據流結構中,片上存儲單元只采用一級共享數據Cache和指令Cache[11];SOUZA J D等人提出的動態自適應處理器中,存儲單元依舊采用兩級共享Cache來實現,其中一級Cache分為數據和指令Cache[12]。文獻[13]片上采用分布式buffer設計來提高數據存取效率,但是與外存的交互依舊采用共享Cache技術來實現。以上多級共享Cache的結構沒有考慮數據的局部性特點以及并行性要求,使得訪存的并行性差,吞吐量得到很大的限制。

    針對可重構陣列處理器訪存數據量很大、數據并行性要求高且數據全局重用少、局部性明顯的特點,本文提出一種“物理分布、邏輯統一”的分布式Cache結構。其中可重構陣列處理器對本地Cache以及遠程Cache都具有讀寫訪問權限,本地Cache優先級高,遠程Cache訪問通過高效的行列交叉開關進行目的地索引,在與外存進行交互時,設計輪詢仲裁機制仲裁出一路信號后通過路由器進行數據傳輸,最后通過Xilinx公司的Virtex-6系列xc6vlx550T開發板對設計進行測試,實驗結果表明,該結構在保持簡潔性和擴展性的同時,最高能夠提供10.512 GB/s的訪存帶寬,滿足可重構陣列處理器訪存的需求。

1 可重構陣列處理器分布式Cache結構

    本文采用的可重構陣列結構,是由4×4個PE組成的一個陣列處理器簇(Processing Element Group,PEG),每個PE的訪存數據位寬為32位,其分布式Cache結構如圖1所示,由高速緩存器(Cache)、輪詢仲裁器以及網絡適配器組成。其中每個PE都有一個本地Cache,共16個,這16個Cache結構物理分布、邏輯統一。每個PE通過高效的行列交叉開關不僅可以訪問本地Cache,也可以對遠程Cache進行操作。在無沖突的情況下,當PE訪問本地Cache時,優先級最高,一旦本地Cache命中,立即將數據返回給請求PE,若不命中,則需要通過輪詢仲裁器仲裁出一路信號通過虛通道路由器VCR0901與外存進行通信;當PE訪問遠程Cache時,需通過行列交叉開關對目的PE進行索引,從而完成對遠程Cache的操作。在本地與遠程操作沖突的情況下,優先進行本地訪問,其次將遠程請求進行正確反饋。可重構陣列處理器的分布Cache結構可使16個PE同時對本地Cache進行讀寫操作,在無沖突訪問時,分布式Cache結構的訪存帶寬達到峰值。

wdz3-t1.gif

1.1 高速緩存器的設計

    高速緩存器主要由命中判斷單元(judge)、標志寄存單元(tag_index)、狀態寄存單元(state)、寫替換策略單元(wr_strategy)以及Cache數據存儲單元(Cache_data)組成,如圖2所示。

wdz3-t2.gif

    (1)判斷單元:該單元主要用于接受來自PE的讀寫信號,根據地址信息讀取標志寄存單元的標志位信息,然后在判斷單元內進行比較,輸出讀寫是否命中信息;

    (2)標志寄存單元:該單元主要用于寄存數據的標志位以及索引信息,并根據Cache數據存儲單元的信息進行實時更新;

    (3)狀態寄存單元:該單元主要用于寄存數據的臟位以及有效位信息,并根據Cache數據存儲單元的信息進行實時更新;

    (4)寫替換策略單元:該單元采用最近最少用策略提供需替換的Cache行,并根據狀態寄存單元信息判讀是否需將數據寫回外存;

    (5)Cache數據存儲單元:該單元主要采用寫回策略通過路由與外存進行交互。

1.2 輪詢仲裁器的設計

    當分布式Cache不命中時,發送讀或寫訪問信號給仲裁器,仲裁器通過輪詢機制仲裁出一組信號輸出給網絡適配器,輪詢仲裁器的結構圖如圖3所示。

wdz3-t3.gif

1.3 網絡適配器的設計

    網絡適配器是PE與外存之間通信的網絡接口,按照路由器格式對通信信息進行打包與解包操作,包格式如圖4所示。

wdz3-t4.gif

    網絡適配器由寫數據模塊以及讀數據模塊組成,頂層結構如圖5所示。

wdz3-t5.gif

2 基于分布式Cache的并行訪問策略

    對于可重構陣列處理器來說,簇內的信息交互通過行列交叉開關來定位,簇間的信息交互在輪詢仲裁之后通過路由器來傳輸。

    PE的讀訪問過程如圖6所示,當PE發出讀請求時,通過地址信息判斷是否讀本地Cache,其中讀本地Cache優先級最高。若讀遠程Cache,則通過行列交叉開關來定位簇內PE的位置;將讀地址與Cache中標志位進行比較,如果讀命中,則通過行列交叉開關直接將讀數據返回給請求PE;如果讀不命中且命中行無效,則通過路由將外存的數據塊搬移到Cache中,再進行讀數據操作;如果讀不命中且命中行有效,則根據最近最久用替換算法以及寫回策略來進行主存數據塊的搬移,最后再通過交叉開關將讀數據返回給請求PE。可重構陣列處理器中16個PE可同時對Cache進行以上讀操作。PE的寫訪問過程與讀訪問操作類似,如圖7所示。

wdz3-t6.gif

wdz3-t7.gif

3 仿真與性能分析

3.1 設計仿真

    基于分布式Cache的訪問策略對高速緩沖單元、輪詢仲裁器以及網絡適配器進行RTL級設計,通過編寫幾種典型訪問情況下的測試激勵,使用Questsim進行功能仿真后,與可重構陣列處理器虛通道路由器、輕核處理器以及Xilinx定制存儲器IP互連,通過Xilinx的Virtex-6系列xc6vlx550T開發板對設計進行硬件測試,具體參數如表1所示。

wdz3-b1.gif

    圖8給出了本地與遠程訪問時無沖突下典型情況數據訪問的最小延遲周期數;圖9給出了本地與遠程訪問沖突時的典型情況數據訪問的最小延遲周期數。

wdz3-t8.gif

wdz3-t9.gif

    從圖8可以看出,在完全沒有競爭的情況下,訪問遠程Cache比本地Cache延遲1個時鐘周期數。由圖9可知,當本地與遠程同時訪問本地Cache時,由于本地Cache優先級高,故先響應本地Cache請求,遠程請求將在延遲4個時鐘周期之后進行響應。

3.2 性能分析

    通過Xilinx ISE14.7對設計進行綜合,器件選用xc6vlx550T綜合后,分布式Cache實現方案最大工作頻率可以達到164.249 MHz,具體器件資源占用情況如表2所示。

wdz3-b2.gif

    文獻[14]設計了一種共享Cache以及分布式Cache結構,并給出了共享Cache和分布式Cache中本地Cache以及遠程Cache的平均訪問延遲,表3是本文與文獻[14]結構的平均訪問延遲對比結果。

wdz3-b3.gif

    從表3可知,本文最壞情況下(即沖突時的遠程訪問)的平均訪問延遲與共享Cache相比,仍舊有所降低;訪問本地Cache時,本文的訪問延遲稍有增加,是由于在不命中時,路由器的訪問延遲較大引起的;在訪問遠程Cache時,平均訪問延遲明顯較低,相比于文獻[14]減少了30%。

    本文中分布式Cache的主要硬件開銷可通過(T+S)×N×W×P計算得到[15],其中,T、S分別表示標志位和狀態位所占的位數;N表示Cache的組數;W表示Cache的相聯度;P表示處理器核數。每個處理器核所對應的Cache的硬件開銷按上式計算為1.6 KB,只占片上Cache容量的5%。

4 結論

    針對可重構陣列處理器訪存量大以及訪存全局重用少、局部性明顯的特點,設計并實現了一種分布式Cache結構,其中Cache采用兩路組相聯的地址映射策略以及最近最少用的替換算法,利用局部高效交叉開關以及路由實現Cache共享以提高訪存的并行性,減少延遲。通過Xilinx公司的FPGA開發板進行驗證,實驗結果表明,在無沖突情況下,16個PE同時發送讀寫請求,此時帶寬達到峰值10.512 GB/s,硬件開銷很小,僅為片上Cache容量的5%,在滿足可重構陣列處理器訪存要求的同時,保證了結構的可擴展性。

參考文獻

[1] 魏少軍,劉雷波,尹首一.可重構計算處理器技術[J].中國科學:信息科學,2012(12):1559-1576.

[2] 周理.高效可重構陣列計算:體系結構,設計方法與程序映射技術研究[D].長沙:國防科學技術大學,2014.

[3] SCHMIDHUBER J.Deep learning in neural networks:an overview.[J].Neural Networks the Official Journal of the International Neural Network Society,2014,61:85.

[4] HAN X,ZHOU D,WANG S,et al.CNN-MERP:An FPGA-based memory-efficient reconfigurable processor for forward and backward propagation of convolutional neural networks[C].IEEE,International Conference on Computer Design.IEEE,2016:320-327.

[5] ROMANOV A Y,ROMANOVA I I.Use of irregular topologies for the synthesis of networks-on-chip[C].IEEE,International Conference on Electronics and Nanotechnology.IEEE,2011:445-449.

[6] YIN S,YAO X,LIU D,et al.Memory-aware loop mapping on coarse-grained reconfigurable architectures[J].IEEE Transactions on Very Large Scale Integration Systems,2016,24(5):1895-1908.

[7] CONG J,HUANG H,MA C,et al.A fully pipelined and dynamically composable architecture of CGRA[C].IEEE,International Symposium on Field-ProgrammableCustom Computing Machines.IEEE,2014:9-16.

[8] LIANG S,YIN S,LIU L,et al.A coarse-grained reconfig-urable architecture for compute-intensive mapreduce acceleration[J].IEEE Computer Architecture Letters,2016,PP(99):1-1.

[9] 李崇民,王海,李兆麟.CMP中Cache一致性協議的驗證[J].電子技術應用,2005,31(12):1-4.

[10] GALANIS M D,THEODORIDIS G,TRAGOUDAS S,et al.A reconfigurable coarse-graindata-pathfor accelerating computational intensive kernels[J].Journal of Circuits Systems & Computers,2005,14(4):877-893.

[11] SWANSON S,SCHWERIN A,MERCALDI M,et al.The wave scalararchitecture[J].ACM Transactions on Computer Systems,2007,25(2):1-54.

[12] SOUZA J D,CARRO L,RUTZIG M B,et al.A reconfig-urable heterogeneous multicore with a homogeneous ISA[C].Design,Automation & Test in Europe Conference & Exhibition.IEEE,2016:1598-1603.

[13] DU Z,LIU S,FASTHUBER R,et al.An accelerator for high efficient vision processing[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2017,36(2):227-240.

[14] BECKMANN B M,MARTY M R,WOOD D A.ASR:adaptive selective replication for CMP Caches[C].IEEE/ACM International Symposium on Microarchitecture.IEEE Computer Society,2006:443-454.

[15] 趙小雨,吳俊敏,隋秀峰,等.CMP中基于目錄的協作Cache設計方案[J].計算機工程,2010,36(21):283-285.



作者信息:

蔣  林1,劉  陽2,山  蕊1,劉  鵬1,耿玉榮2

(1.西安郵電大學 電子工程學院,陜西 西安710121;2.西安郵電大學 計算機學院,陜西 西安710121)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国内精品久久久人妻中文字幕| 非洲人zoxxxx另类| 欧美成人a人片| 国产mv在线天堂mv免费观看| www.人人干| 欧美理论电影在线| 国产日韩综合一区二区性色AV | 免费人妻精品一区二区三区| 97av麻豆蜜桃一区二区| 无遮挡1000部拍拍拍免费凤凰| 免费无码不卡视频在线观看| 2019天天干| 巨胸喷奶水视频www免费视频| 亚洲日韩精品欧美一区二区| 韩国理论三级在线观看视频| 国内一级一级毛片a免费| 久久这里只精品热免费99| 精品日本一区二区三区在线观看| 国产高清在线视频| 两个人看www免费视频| 欧美精品久久一区二区三区| 啊用力太猛了啊好深视频| 精品久久久久久蜜臂a∨| 悠悠在线观看精品视频| 亚洲欧美日本a∨在线观看| 美女免费视频黄的| 国产精品看高国产精品不卡| 久久久久亚洲AV片无码 | 五月婷婷在线免费观看| 色8久久人人97超碰香蕉987| 国色天香精品一卡2卡3卡| 亚洲av无码久久精品蜜桃| 狠狠综合久久综合88亚洲| 国产激情无码视频在线播放性色| 中国毛片免费观看| 欧美日韩国产高清视频| 国产一级理论免费版| 91精品国产亚洲爽啪在线影院| 日本簧片在线观看| 亚洲综合色丁香婷婷六月图片 | 免费国产污网站在线观看|