《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于3D-Mesh互連網(wǎng)絡(luò)的粗粒度邏輯陣列研究
基于3D-Mesh互連網(wǎng)絡(luò)的粗粒度邏輯陣列研究
2016年電子技術(shù)應(yīng)用第5期
趙宗國(guó)1,,李 偉1,,2,戴紫彬1,,耿九光3
1.解放軍信息工程大學(xué),,河南 鄭州450000,; 2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,,上海201203;3.71315部隊(duì),,河南 商丘476000
摘要: 提出了一種3D-Mesh拓?fù)浠ミB網(wǎng)絡(luò)結(jié)構(gòu),,其支持動(dòng)態(tài)可重構(gòu)配置,數(shù)據(jù)路徑位寬為32 bit,?;谠?D-Mesh拓?fù)浠ミB網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了一種擁有48個(gè)RPE(Reconfigurable Process Element)和16個(gè)RSE(Reconfigurable Storage Element)的異構(gòu)粗粒度邏輯陣列(Isomerism Coarse-Grained Reconfigurable Array,,ICGRA),。基于COMS 55 nm工藝庫(kù)進(jìn)行后端設(shè)計(jì),,ICGRA總面積為28.52 mm2,。同時(shí)在300 MHz系統(tǒng)時(shí)鐘、1.08 V Vcc電壓,、室溫條件下系統(tǒng)總功耗為2.88 W,。其中3D-Mesh拓?fù)浠ミB網(wǎng)絡(luò)面積占系統(tǒng)總面積的3.8%,功耗占系統(tǒng)總功耗的7%,。與相關(guān)設(shè)計(jì)對(duì)比,,該結(jié)構(gòu)動(dòng)態(tài)重構(gòu)速率提高2倍~60倍。且采用該3D-Mesh拓?fù)渚W(wǎng)絡(luò)之后,,運(yùn)算單元利用率也大幅度提高,。
中圖分類號(hào): TP309.7
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.008
中文引用格式: 趙宗國(guó),李偉,,戴紫彬,,等. 基于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)可以達(dá)到幾吉比特每秒的速率,但是原始的SoC中單核密碼處理引擎幾十兆比特每秒的處理速度已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足需求,。許多研究機(jī)構(gòu)為解決密碼處理引擎處理速度慢的問題,,提出了很多解決方案,其中可重構(gòu)多核密碼處理引擎的研究是現(xiàn)如今比較熱衷的一個(gè)方向,,但是由于隨著處理引擎核心數(shù)目的增多,,wdz1-t1.gif面積功耗密度急劇增大,限制了多核密碼處理引擎的處理速度,,同時(shí)也限制了多核密碼處理引擎發(fā)展速度,。

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

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

1 3D-Mesh拓?fù)浣Y(jié)構(gòu)

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

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

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

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

wdz1-t2.gif

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

1.2 拓?fù)溥壿嬔芯?/strong>

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

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

wdz1-t3.gif

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

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

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

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

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

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

wdz1-t4.gif

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

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

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

wdz1-t5.gif

    (1)動(dòng)態(tài)配置信息切換機(jī)制

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

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

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

2 路由算法研究

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

wdz1-b1.gif

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

wdz1-t6.gif

3 性能分析與對(duì)比

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

wdz1-b2.gif

4 總結(jié)

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

參考文獻(xiàn)

[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è)計(jì)技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),,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)載,。