《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于3D-Mesh互連網(wǎng)絡(luò)的粗粒度邏輯陣列研究
基于3D-Mesh互連網(wǎng)絡(luò)的粗粒度邏輯陣列研究
2016年電子技術(shù)應(yīng)用第5期
趙宗國1,李 偉1,2,戴紫彬1,耿九光3
1.解放軍信息工程大學,河南 鄭州450000; 2.復(fù)旦大學 專用集成電路與系統(tǒng)國家重點實驗室,上海201203;3.71315部隊,河南 商丘476000
摘要: 提出了一種3D-Mesh拓撲互連網(wǎng)絡(luò)結(jié)構(gòu),其支持動態(tài)可重構(gòu)配置,數(shù)據(jù)路徑位寬為32 bit?;谠?D-Mesh拓撲互連網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計了一種擁有48個RPE(Reconfigurable Process Element)和16個RSE(Reconfigurable Storage Element)的異構(gòu)粗粒度邏輯陣列(Isomerism Coarse-Grained Reconfigurable Array,ICGRA)。基于COMS 55 nm工藝庫進行后端設(shè)計,ICGRA總面積為28.52 mm2。同時在300 MHz系統(tǒng)時鐘、1.08 V Vcc電壓、室溫條件下系統(tǒng)總功耗為2.88 W。其中3D-Mesh拓撲互連網(wǎng)絡(luò)面積占系統(tǒng)總面積的3.8%,功耗占系統(tǒng)總功耗的7%。與相關(guān)設(shè)計對比,該結(jié)構(gòu)動態(tài)重構(gòu)速率提高2倍~60倍。且采用該3D-Mesh拓撲網(wǎng)絡(luò)之后,運算單元利用率也大幅度提高。
中圖分類號: TP309.7
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.008
中文引用格式: 趙宗國,李偉,戴紫彬,等. 基于3D-Mesh互連網(wǎng)絡(luò)的粗粒度邏輯陣列研究[J].電子技術(shù)應(yīng)用,2016,42(5):27-31.
英文引用格式: Zhao Zongguo,Li Wei,Dai Zibin,et al. Research on 3D-Mesh topology interconnection network in the coarse grained reconfigurable cryptographic logic array[J].Application of Electronic Technique,2016,42(5):27-31.
Research on 3D-Mesh topology interconnection network in the coarse grained reconfigurable cryptographic logic array
Zhao Zongguo1,Li Wei1,2,Dai Zibin1,Geng Jiuguang3
1.PLA Information Engineering University,Zhengzhou 450000,China; 2.State Key Laboratory of Fudan University Special Integrated Circuit and System,Shanghai 201203,China; 3.The 71315 Army,Shangqiu 476000,China
Abstract: This paper presents a 3D-Mesh interconnection network structure with 32 bit data path, which can support dynamic reconfiguration. Based on the 3D-Mesh topology interconnection network structure, a new type of isomerism coarse-grained reconfigurable array with 48 RPE and 16 RSE is designed. Based on the 55 nm COMS process library to design, the total area of ICGRA is 28.52 mm2. At the same time, total power consumption of the system is 2.88 W@300 MHz & 1.08 V Vcc in the room temperature. The network area of 3D-Mesh topology is 3.8% of the total area of the system, and the power consumption is 7% of the total system power. In comparison with the related classes, the structure dynamic reconstruction rate is 2~60 times higher. After using the 3D-Mesh topological network, the utilization rate of the arithmetic unit is also improved greatly.
Key words : ICGRA;network on chip;3D-Mesh;reconfigurable

0 引言

    目前,隨著PCI-E、USB3.0等高速接口協(xié)議的出現(xiàn),SoC接口的數(shù)據(jù)傳輸已經(jīng)可以達到幾吉比特每秒的速率,但是原始的SoC中單核密碼處理引擎幾十兆比特每秒的處理速度已經(jīng)遠遠不能滿足需求。許多研究機構(gòu)為解決密碼處理引擎處理速度慢的問題,提出了很多解決方案,其中可重構(gòu)多核密碼處理引擎的研究是現(xiàn)如今比較熱衷的一個方向,但是由于隨著處理引擎核心數(shù)目的增多,wdz1-t1.gif面積功耗密度急劇增大,限制了多核密碼處理引擎的處理速度,同時也限制了多核密碼處理引擎發(fā)展速度。

    為解決限制多核密碼處理引擎發(fā)展的問題,許多研究機構(gòu)開始轉(zhuǎn)向粗粒度可重構(gòu)邏輯陣列(Coarse-Grained Reconfigurable Array,CGRA)研究。如圖1所示,CGRA擁有通用處理器(GPPs)的靈活性和專用集成電路(ASICs)性能的折中。CGRA運算單元的粒度大多按照密碼算法的數(shù)據(jù)寬度確定,一般8 bit、16 bit、32 bit最為常見。CGRA中不需要大容量指令RAM存儲指令,不存在譯碼處理指令,因此CGRA便能夠省去大量的讀寫RAM功耗,在一定程度上極大地降低了功耗。并且CGRA中的硬件資源按照一定的調(diào)度適配算法進行適配,可以達到最高的硬件資源利用率與最優(yōu)的性能指標?,F(xiàn)在國內(nèi)外有許多類似的研究,例如:卡內(nèi)基梅隆大學提出了基于線性陣列的可重構(gòu)系統(tǒng)PipeRench[1];斯坦福大學開發(fā)了可重構(gòu)多媒體陣列協(xié)處理器REMARC(Reconfigurable Multimedia Array Coprocessor)[2];解放軍信息工程大學楊曉輝等人提出了基于二維陣列的可重構(gòu)密碼處理模型RCPA[3]等。這些處理架構(gòu)都是基于同構(gòu)處理單元設(shè)計,其拓撲互連架構(gòu)都是基于二維結(jié)構(gòu)拓撲互連的,這會導致適配時數(shù)據(jù)路徑擁堵、硬件資源利用率低等問題。

    若CGRA中可重構(gòu)處理單元采用異構(gòu)布局,會導致適配時不能連續(xù)適配,降低了適配靈活性。為解決異構(gòu)運算單元的影響,本文設(shè)計了一種基于3D-Mesh的異構(gòu)粗粒度可重構(gòu)邏輯陣列,其數(shù)據(jù)網(wǎng)絡(luò)吞吐率可以達到76.8 Gb/s?;谠揑CGRA適配AES算法性能可以達到3.8 Gb/s,適配SM3算法性能可以達到5.5 Gb/s。能夠很好地解決密碼SoC中高速接口速率高而處理引擎速率低的瓶頸。

1 3D-Mesh拓撲結(jié)構(gòu)

    為了更好地研究拓撲互連形式,本章首先討論了不同的拓撲互連方案與數(shù)據(jù)路徑組織方案,然后提出了一種快速3D-Mesh互連架構(gòu),接下來描述了3D架構(gòu)中雙層網(wǎng)絡(luò)的設(shè)計思想與原理,最后給出了粗粒度密碼邏輯陣列的總體結(jié)構(gòu)設(shè)計方案。

1.1 數(shù)據(jù)流組織方案研究

    在現(xiàn)有的研究中,Mesh拓撲由于其規(guī)整性與易擴展性被大量采用[4]。Tour拓撲結(jié)構(gòu)由于其具有更大的網(wǎng)絡(luò)連通性也廣受研究人員鐘愛[5]。

    采用以上兩種形式互連結(jié)構(gòu)的陣列中數(shù)據(jù)處理單元(PEs)采用異構(gòu)設(shè)計會嚴重影響硬件利用率。但是由于密碼運算流程的特殊性,需要設(shè)計大量的可重構(gòu)配置存儲部件S盒(SBox),為了縮小硬件面積,這些存儲部件多是用RAM實現(xiàn),但是就算這樣,其面積還是不可小覷。因此這部分硬件資源不能像其他普通處理單元那樣設(shè)置比較多的數(shù)目,因此本文設(shè)計了一種異構(gòu)粗粒度密碼邏輯陣列ICGRA。圖2為ICGRA的數(shù)據(jù)路徑流圖,圖中的可重構(gòu)處理單元(RPE)為密碼核心運算單元,其內(nèi)部是由4類基本的粗粒度密碼運算單元以Crossbar全互連的形式互連而成,可以完成密碼算法流程中的大部分計算性任務(wù)??芍貥?gòu)存儲單元(RSE)可以配置成基本數(shù)據(jù)存儲部件,存儲運算過程中的輪密鑰以及輪運算結(jié)果等數(shù)據(jù),還可以配置完成密碼算法中的S盒運算等查表類運算操作。

wdz1-t2.gif

    由于S盒等查表類運算操作在密碼流程中所占比例為25%左右,因此本文設(shè)計的ICGRA中RPE與RSE交錯設(shè)置,并且RPE的數(shù)量是RSE的兩倍。這樣能夠達到最大的硬件資源利用效率。

1.2 拓撲邏輯研究

    在現(xiàn)有的研究中,粗粒度密碼邏輯陣列中Mesh拓撲結(jié)構(gòu)大多是基于2維坐標的,Mesh網(wǎng)絡(luò)中運算單元進行異構(gòu)設(shè)計,必須考慮解決以下問題:

    (1)布線通道占用運算單元,降低硬件資源利用率。如圖3所示,如果首先在L2列進行運算單元的適配,接下來需要L4列硬件資源(假設(shè)L3與L4是異構(gòu)單元),此時就必須占用L3的布線通道,導致L3的部分運算單元無法使用。

wdz1-t3.gif

    (2)增大適配軟件與適配算法的設(shè)計困難性。由于各列相鄰的運算單元是不同的,所以適配軟件所看到的可用資源就是不同的,因此設(shè)計軟件和算法時就增加了極大的困難性。

    為了解決以上兩個方面的問題,本文提出了一種3D-Mesh拓撲互連架構(gòu)。如圖3所示,設(shè)置了上下兩層Mesh互連網(wǎng)絡(luò),兩層網(wǎng)絡(luò)在特定的數(shù)據(jù)節(jié)點可以進行數(shù)據(jù)交互。本文設(shè)計的雙層網(wǎng)絡(luò)中,下層網(wǎng)絡(luò)為異構(gòu)Mesh網(wǎng)絡(luò),內(nèi)部包含運算單元、布線通道、配置單元以及數(shù)據(jù)方向轉(zhuǎn)換單元;上層沒有運算單元,并且其數(shù)據(jù)方向轉(zhuǎn)換單元與配置單元數(shù)量為下層網(wǎng)絡(luò)的50%。這樣設(shè)計可以最大程度提高網(wǎng)絡(luò)內(nèi)部異構(gòu)單元的利用率。

    采用該3D拓撲互連架構(gòu),L1與L3、L2與L4之間都存在快速數(shù)據(jù)交互通道,如果將L1數(shù)據(jù)交換到L3,可以采用頂層數(shù)據(jù)交互通道,不影響L2資源的正常使用,極大地提高了硬件資源的利用率;其次所有的布線通道在適配軟件看來是完全相同的可用資源,即適配軟件和適配算法設(shè)計的過程中,資源相當于同構(gòu)存在,降低了軟件的設(shè)計困難性。

1.3 網(wǎng)絡(luò)微結(jié)構(gòu)研究

    圖4所示是本文設(shè)計的3D-Mesh拓撲架構(gòu)網(wǎng)絡(luò)微結(jié)構(gòu)。該拓撲網(wǎng)絡(luò)共有兩層,底層是標準的Mesh拓撲網(wǎng)絡(luò)結(jié)構(gòu),如圖4(a)所示,內(nèi)部有數(shù)據(jù)方向轉(zhuǎn)換單元和數(shù)據(jù)計算單元。上層是數(shù)據(jù)通道層,如圖4(b)所示,有隔行或列的快速數(shù)據(jù)交換通道,能夠完成數(shù)據(jù)的快速交換且不占用計算單元周邊的數(shù)據(jù)交換通道。

    兩層網(wǎng)絡(luò)可以靠雙層網(wǎng)絡(luò)連接點電路進行數(shù)據(jù)交換,如圖4(c)所示。底層對應(yīng)位置的CB結(jié)構(gòu)增加一個輸出端口,通過雙層網(wǎng)絡(luò)連接點連接至對應(yīng)頂層CB一個輸入端口。頂層CB輸出的數(shù)據(jù)通過雙層網(wǎng)絡(luò)連接點接至RPE(或RSE)的數(shù)據(jù)層數(shù)據(jù)選擇器的輸入端,選擇之后再進入RPE(或RSE)。因此每一個RPE(或RSE)數(shù)據(jù)輸入來源雖然增加了,但是其輸入端口并沒有增多。設(shè)計適配軟件和適配算法時,僅是增加了可利用的數(shù)據(jù)通路資源,并不會增加設(shè)計復(fù)雜度。

wdz1-t4.gif

    在進行陣列設(shè)計時,充分考慮了其易擴展性,底層Mesh網(wǎng)絡(luò)設(shè)計時進行了方向無差別設(shè)計,即底層網(wǎng)絡(luò)中任意一個數(shù)據(jù)節(jié)點(除陣列邊緣)可以與其上、下、左、右任意方向的相鄰節(jié)點進行數(shù)據(jù)交互。特別設(shè)計了如圖4(d)所示的SB(Switch Box)數(shù)據(jù)方向轉(zhuǎn)換節(jié)點,可完成任意方向輸入數(shù)據(jù)向其它3個方向進行數(shù)據(jù)分配的功能。

1.4 陣列架構(gòu)研究

    基于前文設(shè)計的3D-Mesh網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計了如圖5所示的粗粒度密碼邏輯陣列結(jié)構(gòu)。為了充分發(fā)揮3D-Mesh網(wǎng)絡(luò)結(jié)構(gòu)的靈活性以及其計算單元的性能優(yōu)勢。必須有一個合理的粗粒度陣列架構(gòu)支撐。

wdz1-t5.gif

    (1)動態(tài)配置信息切換機制

    在設(shè)計粗粒度密碼邏輯陣列架構(gòu)的過程中,設(shè)計了分頁式的配置信息存儲結(jié)構(gòu):Conf.reg0和Conf.reg1,可支持配置信息動態(tài)切換。兩頁配置存儲結(jié)構(gòu)中的配置信息互不影響,在一頁配置信息應(yīng)用時,另一頁可以更換。根據(jù)適配算法由主控制器MCU動態(tài)選擇所需要的配置頁面,并將其內(nèi)部配置信息寫入到3D-Mesh網(wǎng)絡(luò)結(jié)構(gòu)中,完成硬件結(jié)構(gòu)動態(tài)重組。

    (2)分離式節(jié)點控制網(wǎng)絡(luò)

    由于3D-Mesh拓撲網(wǎng)絡(luò)中的數(shù)據(jù)方向控制節(jié)點分立于網(wǎng)絡(luò)中,通過配置可以完成數(shù)據(jù)方向的改變,但是密碼算法的典型特征就是輪運算形式。通常一輪運算中硬件結(jié)構(gòu)是不需要改變的,且循環(huán)迭代多輪,如何實現(xiàn)輪數(shù)控制,這在3D-Mesh數(shù)據(jù)網(wǎng)絡(luò)中是不能完成的?;诖耍疚臑?D-Mesh數(shù)據(jù)網(wǎng)絡(luò)上層特別設(shè)計了一層分立式節(jié)點控制網(wǎng)絡(luò)。其可以完成輪數(shù)計數(shù)、比較、判斷等控制性操作。由于該層控制結(jié)構(gòu)獨立于數(shù)據(jù)網(wǎng)絡(luò),并且分立式設(shè)置,因此更大地增加了數(shù)據(jù)網(wǎng)絡(luò)的靈活性。

2 路由算法研究

    本文設(shè)計時,對提出的3D-Mesh網(wǎng)絡(luò)理論上進行了合理性分析與論證。但要想能夠發(fā)揮架構(gòu)的性能,還需要一種合理的適配路由機制?;诖耍疚尼槍μ岢龅?D-Mesh拓撲網(wǎng)絡(luò),設(shè)計了一種硬件資源尋路適配算法,如表1所示。

wdz1-b1.gif

    在使用算法1進行算法適配時,如果數(shù)據(jù)需要隔行或列跳轉(zhuǎn),如圖6中所示,從R1直接跳至R3。此時有兩條可用選擇路徑,其中路徑A為:R1→C1→C2→C3→R3;另一條路徑B為:R1→C1→C4→C5→C3→R3。雖然路徑B經(jīng)過4個CB節(jié)點,而路徑A只經(jīng)過3個CB節(jié)點,但是路由算法還是會選擇路徑B。因為路徑A中C1、C2、C3都是直接與RPE(或RSE)相連接的CB節(jié)點,其路徑長度為3,路徑B中只有C1和C3是直接與RPE(或RSE)相連接的CB節(jié)點,其路徑長度為2,所以從此處看來路徑B相比于A為最短路徑。

wdz1-t6.gif

3 性能分析與對比

    表2描述了本文設(shè)計的3D-Mesh拓撲結(jié)構(gòu)與相關(guān)的文獻中的Mesh(或Tours)拓撲結(jié)構(gòu)在粗粒度邏輯陣列中應(yīng)用的對比。由于拓撲邏輯結(jié)構(gòu)不同,尋找相同的對照點是非常困難的。表2中展示了一些相似的關(guān)鍵性能參數(shù)。由于不同設(shè)計所采用的工藝不同,且針對領(lǐng)域和功能單元數(shù)量不同,設(shè)計總面積沒有可比性。但是通過表中數(shù)據(jù)可以看出,本文設(shè)計的3D-Mesh互連網(wǎng)絡(luò)所占整個ICGRA面積的3.8%,比文獻[7]中2D-Mesh的7%節(jié)省一半。功耗評估結(jié)果顯示,互連網(wǎng)絡(luò)占ICGRA總功耗的2.8%,相比同類設(shè)計,網(wǎng)絡(luò)功耗所占比例也大幅度降低。在300 MHz系統(tǒng)時鐘主頻下,對網(wǎng)絡(luò)數(shù)據(jù)吞吐率進行了評估,可以達到76.8 Gb/s。因為本文中采用了動態(tài)重構(gòu)設(shè)計,可以支持系統(tǒng)運行時重構(gòu),且重構(gòu)僅用5個系統(tǒng)時鐘周期左右,是文獻[5]動態(tài)重構(gòu)速度的2倍,是文獻[6]重構(gòu)速度的60倍。

wdz1-b2.gif

4 總結(jié)

    本文針對粗粒度可重構(gòu)邏輯陣列提出了一種3D-Mesh拓撲網(wǎng)絡(luò)結(jié)構(gòu),通過與相關(guān)設(shè)計進行對比,可以看出該ICGRA具有更高的數(shù)據(jù)吞吐率和更低的功耗,且其支持動態(tài)可重構(gòu)配置,配置速率相比于同類設(shè)計提高2倍~60倍。在SoC系統(tǒng)設(shè)計中,非常適合內(nèi)部嵌入該ICGRA,打破了密碼SoC中接口速率快而處理引擎速率低下的瓶頸。

參考文獻

[1] GOLDSTEIN S C.PipeRench:A coprocessor for streaming multimedia acceleration[C].Proc.of the 26th Annual Int’l Symp.on Conputer Architecture,IEEE CS Press,Los Atlamtos,Calif.2000.

[2] MIYAMORI T,OLUKOTUN K.REMARC:Recongurable multimedia array coprocessor[C].IEICE Trans,Information System,1999:389-397.

[3] 楊曉輝.面向分組密碼處理的可重構(gòu)設(shè)計技術(shù)研究[D].鄭州:解放軍信息工程大學,2007.

[4] Kunjan Patel.SYSCORE:A coarse grained reconfigurable array architecture for low energy biosignal processing[J].IEEE International Symposium on Field-Programmable Custom Computing Machines,2011:109-112.

[5] PHAM P H.An on-chip network fabric supporting coarse-grained processor array[J].IEEE T ransactions on very large scale integration(VLSI) systems,2013:178-182.

[6] ROSSI D,CAMPI F,SPOLZINO S,et al.A heterogeneous digital signal processor for dynamically reconfigurable computing[J].IEEE J.Solid-State Circuits,2010,45(8):1615-1626.

[7] TRUONG D N,CHENG W H,MOHSENIN T,et al.A 167-Processor computational platform in 65 nm CMOS[J].Solid-State Circuits,IEEE Journal of,2009,44(4):1130-1144.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。