趙宗國,李 偉,2,戴紫彬,耿九光
(1.解放軍信息工程大學,河南 鄭州 450000;2.復旦大學 專用集成電路與系統(tǒng)國家重點實驗室,上海 201203;3.71315部隊,河南 商丘476000)
基于3D-Mesh互連網(wǎng)絡的粗粒度邏輯陣列研究*
趙宗國1,李偉1,2,戴紫彬1,耿九光3
(1.解放軍信息工程大學,河南 鄭州 450000;2.復旦大學 專用集成電路與系統(tǒng)國家重點實驗室,上海 201203;3.71315部隊,河南 商丘476000)
提出了一種3D-Mesh拓撲互連網(wǎng)絡結構,其支持動態(tài)可重構配置,數(shù)據(jù)路徑位寬為32 bit。基于該3D-Mesh拓撲互連網(wǎng)絡結構,設計了一種擁有48個 RPE(Reconfigurable Process Element)和 16個 RSE(Reconfigurable Storage Element)的異構粗粒度邏輯陣列(Isomerism Coarse-Grained Reconfigurable Array,ICGRA)?;贑OMS 55 nm工藝庫進行后端設計,ICGRA總面積為28.52mm2。同時在 300 MHz系統(tǒng)時鐘、1.08 V Vcc電壓、室溫條件下系統(tǒng)總功耗為2.88 W。其中3D-Mesh拓撲互連網(wǎng)絡面積占系統(tǒng)總面積的3.8%,功耗占系統(tǒng)總功耗的7%。與相關設計對比,該結構動態(tài)重構速率提高2倍~60倍。且采用該3D-Mesh拓撲網(wǎng)絡之后,運算單元利用率也大幅度提高。
粗粒度邏輯陣列;片上網(wǎng)絡;3D-Mesh;可重構
目前,隨著PCI-E、USB3.0等高速接口協(xié)議的出現(xiàn),SoC接口的數(shù)據(jù)傳輸已經(jīng)可以達到幾吉比特每秒的速率,但是原始的SoC中單核密碼處理引擎幾十兆比特每秒的處理速度已經(jīng)遠遠不能滿足需求。許多研究機構為解決密碼處理引擎處理速度慢的問題,提出了很多解決方案,其中可重構多核密碼處理引擎的研究是現(xiàn)如今比較熱衷的一個方向,但是由于隨著處理引擎核心數(shù)目的增多,面積功耗密度急劇增大,限制了多核密碼處理引擎的處理速度,同時也限制了多核密碼處理引擎發(fā)展速度。
圖1 GPP、CGRA和ASIC靈活性趨勢
為解決限制多核密碼處理引擎發(fā)展的問題,許多研究機構開始轉向粗粒度可重構邏輯陣列(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)基梅隆大學提出了基于線性陣列的可重構系統(tǒng) PipeRench[1];斯坦福大學開發(fā)了可重構多媒體陣列協(xié)處理器 REMARC(Reconfigurable Multimedia Array Coprocessor)[2];解放軍信息工程大學楊曉輝等人提出了基于二維陣列的可重構密碼處理模型RCPA[3]等。這些處理架構都是基于同構處理單元設計,其拓撲互連架構都是基于二維結構拓撲互連的,這會導致適配時數(shù)據(jù)路徑擁堵、硬件資源利用率低等問題。
若CGRA中可重構處理單元采用異構布局,會導致適配時不能連續(xù)適配,降低了適配靈活性。為解決異構運算單元的影響,本文設計了一種基于 3D-Mesh的異構粗粒度可重構邏輯陣列,其數(shù)據(jù)網(wǎng)絡吞吐率可以達到76.8 Gb/s?;谠揑CGRA適配AES算法性能可以達到3.8 Gb/s,適配SM3算法性能可以達到5.5 Gb/s。能夠很好地解決密碼SoC中高速接口速率高而處理引擎速率低的瓶頸。
為了更好地研究拓撲互連形式,本章首先討論了不同的拓撲互連方案與數(shù)據(jù)路徑組織方案,然后提出了一種快速3D-Mesh互連架構,接下來描述了3D架構中雙層網(wǎng)絡的設計思想與原理,最后給出了粗粒度密碼邏輯陣列的總體結構設計方案。
1.1數(shù)據(jù)流組織方案研究
在現(xiàn)有的研究中,Mesh拓撲由于其規(guī)整性與易擴展性被大量采用[4]。Tour拓撲結構由于其具有更大的網(wǎng)絡連通性也廣受研究人員鐘愛[5]。
采用以上兩種形式互連結構的陣列中數(shù)據(jù)處理單元(PEs)采用異構設計會嚴重影響硬件利用率。但是由于密碼運算流程的特殊性,需要設計大量的可重構配置存儲部件 S盒(SBox),為了縮小硬件面積,這些存儲部件多是用RAM實現(xiàn),但是就算這樣,其面積還是不可小覷。因此這部分硬件資源不能像其他普通處理單元那樣設置比較多的數(shù)目,因此本文設計了一種異構粗粒度密碼邏輯陣列ICGRA。圖2為ICGRA的數(shù)據(jù)路徑流圖,圖中的可重構處理單元(RPE)為密碼核心運算單元,其內(nèi)部是由4類基本的粗粒度密碼運算單元以Crossbar全互連的形式互連而成,可以完成密碼算法流程中的大部分計算性任務??芍貥嫶鎯卧≧SE)可以配置成基本數(shù)據(jù)存儲部件,存儲運算過程中的輪密鑰以及輪運算結果等數(shù)據(jù),還可以配置完成密碼算法中的S盒運算等查表類運算操作。
圖2 ICGRA數(shù)據(jù)路徑組織結構
由于S盒等查表類運算操作在密碼流程中所占比例為25%左右,因此本文設計的ICGRA中RPE與RSE交錯設置,并且RPE的數(shù)量是RSE的兩倍。這樣能夠達到最大的硬件資源利用效率。
1.2拓撲邏輯研究
在現(xiàn)有的研究中,粗粒度密碼邏輯陣列中Mesh拓撲結構大多是基于 2維坐標的,Mesh網(wǎng)絡中運算單元進行異構設計,必須考慮解決以下問題:
(1)布線通道占用運算單元,降低硬件資源利用率。如圖3所示,如果首先在L2列進行運算單元的適配,接下來需要L4列硬件資源(假設L3與L4是異構單元),此時就必須占用L3的布線通道,導致L3的部分運算單元無法使用。
圖3 3D-Mesh拓撲架構
(2)增大適配軟件與適配算法的設計困難性。由于各列相鄰的運算單元是不同的,所以適配軟件所看到的可用資源就是不同的,因此設計軟件和算法時就增加了極大的困難性。
為了解決以上兩個方面的問題,本文提出了一種3D-Mesh拓撲互連架構。如圖3所示,設置了上下兩層Mesh互連網(wǎng)絡,兩層網(wǎng)絡在特定的數(shù)據(jù)節(jié)點可以進行數(shù)據(jù)交互。本文設計的雙層網(wǎng)絡中,下層網(wǎng)絡為異構Mesh網(wǎng)絡,內(nèi)部包含運算單元、布線通道、配置單元以及數(shù)據(jù)方向轉換單元;上層沒有運算單元,并且其數(shù)據(jù)方向轉換單元與配置單元數(shù)量為下層網(wǎng)絡的50%。這樣設計可以最大程度提高網(wǎng)絡內(nèi)部異構單元的利用率。
采用該3D拓撲互連架構,L1與 L3、L2與L4之間都存在快速數(shù)據(jù)交互通道,如果將L1數(shù)據(jù)交換到L3,可以采用頂層數(shù)據(jù)交互通道,不影響L2資源的正常使用,極大地提高了硬件資源的利用率;其次所有的布線通道在適配軟件看來是完全相同的可用資源,即適配軟件和適配算法設計的過程中,資源相當于同構存在,降低了軟件的設計困難性。
1.3網(wǎng)絡微結構研究
圖4所示是本文設計的3D-Mesh拓撲架構網(wǎng)絡微結構。該拓撲網(wǎng)絡共有兩層,底層是標準的Mesh拓撲網(wǎng)絡結構,如圖4(a)所示,內(nèi)部有數(shù)據(jù)方向轉換單元和數(shù)據(jù)計算單元。上層是數(shù)據(jù)通道層,如圖4(b)所示,有隔行或列的快速數(shù)據(jù)交換通道,能夠完成數(shù)據(jù)的快速交換且不占用計算單元周邊的數(shù)據(jù)交換通道。
兩層網(wǎng)絡可以靠雙層網(wǎng)絡連接點電路進行數(shù)據(jù)交換,如圖4(c)所示。底層對應位置的CB結構增加一個輸出端口,通過雙層網(wǎng)絡連接點連接至對應頂層CB一個輸入端口。頂層CB輸出的數(shù)據(jù)通過雙層網(wǎng)絡連接點接至RPE(或RSE)的數(shù)據(jù)層數(shù)據(jù)選擇器的輸入端,選擇之后再進入RPE(或RSE)。因此每一個RPE(或RSE)數(shù)據(jù)輸入來源雖然增加了,但是其輸入端口并沒有增多。設計適配軟件和適配算法時,僅是增加了可利用的數(shù)據(jù)通路資源,并不會增加設計復雜度。
圖4 3D-Mesh拓撲網(wǎng)絡微架構
在進行陣列設計時,充分考慮了其易擴展性,底層Mesh網(wǎng)絡設計時進行了方向無差別設計,即底層網(wǎng)絡中任意一個數(shù)據(jù)節(jié)點(除陣列邊緣)可以與其上、下、左、右任意方向的相鄰節(jié)點進行數(shù)據(jù)交互。特別設計了如圖4(d)所示的SB(Switch Box)數(shù)據(jù)方向轉換節(jié)點,可完成任意方向輸入數(shù)據(jù)向其它3個方向進行數(shù)據(jù)分配的功能。
1.4陣列架構研究
基于前文設計的3D-Mesh網(wǎng)絡結構,設計了如圖5所示的粗粒度密碼邏輯陣列結構。為了充分發(fā)揮3DMesh網(wǎng)絡結構的靈活性以及其計算單元的性能優(yōu)勢。必須有一個合理的粗粒度陣列架構支撐。
圖5 粗粒度可重構陣列架構
(1)動態(tài)配置信息切換機制
在設計粗粒度密碼邏輯陣列架構的過程中,設計了分頁式的配置信息存儲結構:Conf.reg0和 Conf.reg1,可支持配置信息動態(tài)切換。兩頁配置存儲結構中的配置信息互不影響,在一頁配置信息應用時,另一頁可以更換。根據(jù)適配算法由主控制器MCU動態(tài)選擇所需要的配置頁面,并將其內(nèi)部配置信息寫入到 3D-Mesh網(wǎng)絡結構中,完成硬件結構動態(tài)重組。
(2)分離式節(jié)點控制網(wǎng)絡
由于3D-Mesh拓撲網(wǎng)絡中的數(shù)據(jù)方向控制節(jié)點分立于網(wǎng)絡中,通過配置可以完成數(shù)據(jù)方向的改變,但是密碼算法的典型特征就是輪運算形式。通常一輪運算中硬件結構是不需要改變的,且循環(huán)迭代多輪,如何實現(xiàn)輪數(shù)控制,這在3D-Mesh數(shù)據(jù)網(wǎng)絡中是不能完成的?;诖耍疚臑?D-Mesh數(shù)據(jù)網(wǎng)絡上層特別設計了一層分立式節(jié)點控制網(wǎng)絡。其可以完成輪數(shù)計數(shù)、比較、判斷等控制性操作。由于該層控制結構獨立于數(shù)據(jù)網(wǎng)絡,并且分立式設置,因此更大地增加了數(shù)據(jù)網(wǎng)絡的靈活性。
本文設計時,對提出的3D-Mesh網(wǎng)絡理論上進行了合理性分析與論證。但要想能夠發(fā)揮架構的性能,還需要一種合理的適配路由機制?;诖耍疚尼槍μ岢龅?D-Mesh拓撲網(wǎng)絡,設計了一種硬件資源尋路適配算法,如表1所示。
在使用算法1進行算法適配時,如果數(shù)據(jù)需要隔行或列跳轉,如圖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為最短路徑。
表1 就近資源尋路算法
圖6 尋路算法路徑長度計算示意圖
表2描述了本文設計的 3D-Mesh拓撲結構與相關的文獻中的Mesh(或Tours)拓撲結構在粗粒度邏輯陣列中應用的對比。由于拓撲邏輯結構不同,尋找相同的對照點是非常困難的。表2中展示了一些相似的關鍵性能參數(shù)。由于不同設計所采用的工藝不同,且針對領域和功能單元數(shù)量不同,設計總面積沒有可比性。但是通過表中數(shù)據(jù)可以看出,本文設計的 3D-Mesh互連網(wǎng)絡所占整個 ICGRA面積的3.8%,比文獻[7]中 2D-Mesh的7%節(jié)省一半。功耗評估結果顯示,互連網(wǎng)絡占 ICGRA總功耗的2.8%,相比同類設計,網(wǎng)絡功耗所占比例也大幅度降低。在300 MHz系統(tǒng)時鐘主頻下,對網(wǎng)絡數(shù)據(jù)吞吐率進行了評估,可以達到76.8 Gb/s。因為本文中采用了動態(tài)重構設計,可以支持系統(tǒng)運行時重構,且重構僅用5個系統(tǒng)時鐘周期左右,是文獻[5]動態(tài)重構速度的2倍,是文獻[6]重構速度的60倍。
表2 相關性能參數(shù)節(jié)點對比
本文針對粗粒度可重構邏輯陣列提出了一種3DMesh拓撲網(wǎng)絡結構,通過與相關設計進行對比,可以看出該 ICGRA具有更高的數(shù)據(jù)吞吐率和更低的功耗,且其支持動態(tài)可重構配置,配置速率相比于同類設計提高2倍~60倍。在SoC系統(tǒng)設計中,非常適合內(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]楊曉輝.面向分組密碼處理的可重構設計技術研究[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 coarsegrained 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.
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)
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.52mm2.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.
ICGRA;network on chip;3D-Mesh;reconfigurable
TP309.7
A
10.16157/j.issn.0258-7998.2016.05.008
國家自然科學基金(61404175)
2015-10-11)
趙宗國(1990-),男,碩士研究生,主要研究方向:安全專用芯片設計。
李偉(1983-),男,講師,主要研究方向:專用集成電路設計。
戴紫彬(1966-),男,教授,博士生導師,主要研究方向:專用集成電路設計、芯片可重構設計。
中文引用格式:趙宗國,李偉,戴紫彬,等.基于 3D-Mesh互連網(wǎng)絡的粗粒度邏輯陣列研究[J].電子技術應用,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.