《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 面向密碼邏輯陣列的可編程控制網(wǎng)絡設計與實現(xiàn)
面向密碼邏輯陣列的可編程控制網(wǎng)絡設計與實現(xiàn)
2017年電子技術應用第10期
劉 露1,徐金甫1,李 偉1,2,楊宇航1
1.解放軍信息工程大學,河南 鄭州450001;2.復旦大學 專用集成電路與系統(tǒng)國家重點實驗室,上海201203
摘要: 為解決粗粒度密碼邏輯陣列控制開銷大、控制效率低的問題,在研究主流陣列處理架構下三層控制模型的基礎上,提出了一種陣列的四層控制模型,并設計了對應的可編程控制網(wǎng)絡。在規(guī)模為4×4的可編程控制網(wǎng)絡上實現(xiàn)了對AES、A5-1等對稱算法的控制流映射。在65 nm CMOS 工藝下,DC綜合結果顯示總面積為13 712 μm2,折合等效與非門數(shù)0.95萬,占陣列面積0.37%。映射AES和A5-1控制流最高頻率分別為1 389 MHz和1 190 MHz,達到面積小、速度快的應用需求。將四層控制模型與三層控制模型進行六個不同性能對比,前者整體性能遠超后者,且能滿足任意網(wǎng)絡互連結構陣列的高效控制需求。
中圖分類號: TP332.3
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.171048
中文引用格式: 劉露,徐金甫,李偉,等. 面向密碼邏輯陣列的可編程控制網(wǎng)絡設計與實現(xiàn)[J].電子技術應用,2017,43(10):39-43.
英文引用格式: Liu Lu,Xu Jinfu,Li Wei,et al. Design and implementation of a programmable control network for cryptographic logic array[J].Application of Electronic Technique,2017,43(10):39-43.
Design and implementation of a programmable control network for cryptographic logic array
Liu Lu1,Xu Jinfu1,Li Wei1,2,Yang Yuhang1
1.The PLA Information Engineering University,Zhengzhou 450001,China; 2.State Key Laboratory of Fudan University Specific Integrated Circuit and System,Shanghai 201203,China
Abstract: In order to solve the problem that the coarse-grained cryptographic logic array control overhead is large and the control efficiency is low, this paper propose an array of four layer control model based on the study of the three layer control model of some main array processing architectures, and achieve efficient control of the AES, A5-1 and other symmetric algorithms on the scale of 4×4 programmable control network. The synthesis result of DC shows that the total area is 13 712 μm2 under the 65 nm CMOS process, which is equivalent to the number of 0.95 million NAND gates, accounting for 0.37% of the array area. The highest frequency of AES and A5-1 control flow reaches 1 389 MHz and 1 190 MHz, respectively, which can meet the application requirements of small area and fast speed. Comparing the four layer control model and the three layer control model in six performances, the overall performance of the former is much better than the latter, and it can meet the requirements of efficient control of any network interconnection structure array.
Key words : coarse-grained cryptographic logic array;four layer control model;programmable control network;efficient control

0 引言

    網(wǎng)絡帶寬的增長和網(wǎng)絡安全協(xié)議的多樣化,導致密碼應用不斷擴大及對密碼設備性能要求不斷提高。對于運算密集型的密碼算法,數(shù)據(jù)流驅動的粗粒度密碼邏輯陣列(Coarse-Grained Cryptographic Logic Array,CGCLA)結構可充分利用其數(shù)據(jù)并行性和算法流水的特性,達到密碼運算速度快、靈活性高等性能要求。然而面對如此靈活高效的可重構數(shù)據(jù)通路,若陣列控制器控制效率低,延遲和面積大,則控制時間開銷與數(shù)據(jù)路徑時間開銷相當,因此控制路徑可能成為關鍵路徑,將導致成本高、擴展性差等問題,所以高效率的控制器將成為CGCLA發(fā)揮其良好性能的關鍵。

    本文對3種主流可重構處理架構的控制模式進行研究,發(fā)現(xiàn)ADRES架構的控制器存在面積規(guī)模大、可擴展性差等問題;XPP架構下控制范圍存在局限性、控制流間信息交互難等問題;MorphoSys架構下控制流單一,且存在交互開銷和存儲開銷大的問題。針對以上架構存在的控制缺陷,從對稱密碼算法結構出發(fā),提取控制流特征,采用了全動態(tài)的配置信息技術,提出了一種性能強大的四層控制模型,并設計了在該模型下面向CGCLA的可編程控制網(wǎng)絡結構,克服了控制器可擴展性差、交互時間長、信息交互難、控制流單一、映射算法困難等問題,從而能很好地支持對分組密碼算法和序列密碼算法的高效控制。

1 主流可重構密碼處理架構控制模型研究

    目前,可重構密碼處理架構主要有兩種:陣列結構(ADRES[1]、XPP[2]、MorphoSys[3]、S-RCCPA[4]等)和VLIW結構(Cryptonite[5]、CCproc[6]、RCB-CP[7]等)。對于實現(xiàn)運算密集型密碼算法,陣列結構數(shù)據(jù)加速、資源利用率等性能更優(yōu)。

    ADRES架構由超長指令字處理器控制,屬于集中控制方式,能做到配置信息的周期級切換,但是超長指令字處理器定制性太強,導致面積規(guī)模大、可擴展性差等問題。XPP架構的控制模式屬于半集中式控制,每個陣列處理簇能產生至少一個控制流,通過配置頁面切換,能實現(xiàn)比ADRES架構更為靈活的控制,然而當需要數(shù)據(jù)流圖或控制流圖交互時,此架構不能實現(xiàn)或者實現(xiàn)效率很低,從而可能造成算法映射困難、配置管理器間交互開銷大等問題。MorphoSys架構由于只有單一的主處理器控制陣列,只能產生單一的控制流,對于多種密碼算法的并行實現(xiàn)適配效率非常低,降低了陣列數(shù)據(jù)并行性的優(yōu)勢,而且存在控制與運算交互時間長、局部存儲開銷大等問題,所以不能實現(xiàn)高效控制。

    將以上3種主流架構的控制模型抽象成三層,如圖1(a)所示,對其進一步改進,抽象成四層控制模型,如圖1(b)所示。在配置頁面層與可重構陣列之間,加入可編程控制器,控制器能夠接收各個處理單元的反饋信息,并根據(jù)反饋信息選擇配置頁面,增強了數(shù)據(jù)流與控制流間信息交互能力,可以提高控制效率,但仍然存在可擴展性差、控制流單一等問題,且此種基于陣列的配置技術在配置頁面切換時會產生巨大功耗。

    對四層控制流模型進一步改進,如圖1(c)所示。控制層采用基于網(wǎng)絡互連結構的控制網(wǎng)絡設計,為每個處理單元分配一個能產生簡單控制流的可編程控制器(Programmable Control Element,PCE),然后結合三維配置信息技術[8],為陣列的每個處理單元分配存儲空間來存儲算子配置信息,改進后的四層控制模型通過可編程控制器網(wǎng)絡互連可以產生不同或者復雜的控制流,通過三維配置信息技術能夠完成全動態(tài)配置,且能克服基于陣列配置技術帶來的頁面切換功耗大的問題。

wdz3-t1.gif

2 對稱密碼算法控制方法研究

    為設計合適的粗粒度密碼邏輯陣列可編程控制器,就必須從對稱密碼算法的結構特征出發(fā),總結提取合適的控制方法。

2.1 數(shù)據(jù)流復用控制

    無論是分組密碼算法的輪運算、序列密碼算法的記憶部件更新,還是雜湊算法消息擴展運算和輪運算,都滿足迭代原則,其數(shù)據(jù)流呈現(xiàn)很強的規(guī)律性:每次運算都使用了完全相同的數(shù)據(jù)流,每組中間數(shù)據(jù)都只與下一組數(shù)據(jù)直接相關。

2.2 不等長數(shù)據(jù)路徑控制

    分組和雜湊密碼算法在一個分組內需要計算多路數(shù)據(jù),如圖2(a)所示。而每一路數(shù)據(jù)可能需要不同的操作,操作數(shù)據(jù)也有可能不同,為保證得到正確的計算結果,一般有兩種可行方案,第一種是在較短的路徑中插入無效操作使其與較長路徑等長,如圖2(b)所示。在路徑較多的情況下,該方式變得很復雜,且浪費資源。第二種是通過不斷向自身賦值的方式保持原值不變從而使較短的數(shù)據(jù)流停止,如圖2(c)所示,等到另一數(shù)據(jù)算出正確結果后再切換到下一數(shù)據(jù)流圖進行運算,即原來的一張流圖將被拆成兩張子圖,然而雜湊算法內部一般存在很多路數(shù)的運算,所以不適合采用第二種方式。在此,基于第二種用子圖切換實現(xiàn)等待的方式,提出一種寄存器等待的方式,如圖2(d)所示,通過使能寄存器,達到不同路徑的同步。相比前兩種方式,提高了資源利用率,也減少了子圖的數(shù)量,從而可以減少控制復雜度。wdz3-t2.gif

2.3 切換控制

    對稱密碼算法一般由多個執(zhí)行不同運算的階段組成,相應的對稱密碼算法全局數(shù)據(jù)流圖一般由多個不同的子圖構成。分組密碼算法可分為初始運算、輪運算、輸出運算3個階段,序列密碼算法大致可分為密鑰輸入、記憶部件初始化和置亂輸出3個階段,而雜湊算法的每一輪采用的是完全相同的運算結構,一般不存在階段劃分。

2.4 鐘控、控選結構控制

    與分組密碼算法任意時刻有確定的數(shù)據(jù)流圖不同,序列密碼算法由于鐘控模型的存在,導致數(shù)據(jù)流有不確定性,這就要求在運算中臨時確定數(shù)據(jù)流圖,滿足此要求一種方法是采用選擇結構,同時實現(xiàn)兩路鐘控運算,相當于將控制流整合至數(shù)據(jù)流中,使其也同樣具有固定的數(shù)據(jù)流,代價是需要更多的資源,運算變得更加復雜。另一種方法是將計算鐘控值所需的抽取位傳遞至控制流,控制流根據(jù)抽取位決定數(shù)據(jù)流圖選擇,如圖3所示。這種方法資源變少、運算簡單,但控制流與控制流關系更加復雜。

wdz3-t3.gif

3 可編程控制網(wǎng)絡設計

    針對主流架構存在的控制問題,本文提出了可編程控制網(wǎng)絡。用網(wǎng)絡結構解決控制器可擴展性差的問題,用緊耦合方式克服交互時間長的缺陷,用互連方式解決信息交互難、控制流單一、映射算法困難等問題。 

3.1 雙層網(wǎng)絡交互結構設計

    雙層網(wǎng)絡包括可編程控制網(wǎng)絡和用于數(shù)據(jù)處理的數(shù)據(jù)網(wǎng)絡。緊耦合的雙層網(wǎng)絡交互結構如圖4所示,其緊耦合主要體現(xiàn)在基本控制單元(Control Unit Cluster,CUC)與基本運算單元(Basic Processing Unit,BPU)之間存在一對一的耦合方式。該耦合方式通過硬連線實現(xiàn),最大程度地減少了控制與運算交互時間,可以快速實現(xiàn)BPU配置頁面切換,且不占用互連資源。

wdz3-t4.gif

3.2 可編程控制網(wǎng)絡互連結構設計

    可編程控制網(wǎng)絡是一個五向節(jié)點結構的網(wǎng)絡,其結構如圖5所示。主要包含了兩個功能模塊:可編程控制器PCE和路由單元SE(一個CUC包含一個PCE和一個SE)。其互連拓撲結構是由路由單元SE通過規(guī)模為4×4的2D Torus網(wǎng)絡互連構成。每個可編程控制器PCE可產生一個簡單的控制流,PCE通過SE互連,可以形成更多更復雜的控制流,然后與數(shù)據(jù)流完成整個算法在陣列上的映射。

wdz3-t5.gif

3.3 可編程控制器PCE結構設計

    可編程控制器PCE功能的設計需依據(jù)對稱密碼算法控制流特點?;诠δ艿耐陚湫钥紤],根據(jù)第2章對對稱密碼算法研究得出的控制方法進行分析,得到可編程控制器PCE的功能需求,如表1所示。根據(jù)PCE功能需求,可以推出對應的基本功能組件,如表2所示。

wdz3-b1.gif

wdz3-b2.gif

    從表1、表2可知,本文提出的可編程控制器PCE必須具有5種基本功能組件,即計數(shù)、比較、布爾運算、值傳遞以及狀態(tài)寄存,以很好地支持對稱密碼算法控制流映射??删幊炭刂破鱌CE結構如圖6所示。

wdz3-t6.gif

4 功能驗證與性能分析

4.1 功能驗證

4.1.1 AES算法控制流映射

    本文選取密鑰長度為128 bit、輪數(shù)為10輪的AES算法進行分析,根據(jù)AES算法結構和迭代型運算特點,對其進行數(shù)據(jù)流子圖劃分,子圖1實現(xiàn)開始的異或運算,子圖2實現(xiàn)1~9輪運算,子圖3實現(xiàn)第10輪運算。

    根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成AES的控制流映射,如圖7所示,分別用到了計數(shù)器、比較器以及子圖選擇信號的值傳遞等基本功能組件,密鑰的讀取地址通過輪計數(shù)器產生。 

wdz3-t7.gif

4.1.2 A5-1算法控制流映射

    根據(jù)是否輸入密鑰將整個A5-1數(shù)據(jù)流圖分成2個子圖,子圖1完成帶密鑰運算的86次初始化操作,子圖2完成之后的2輪100次空轉和114次置亂輸出。根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成A5-1的控制流映射,如圖8所示,分別用到了計數(shù)器、比較器、布爾運算(LUT)以及子圖選擇信號的值傳遞等基本功能組件。

wdz3-t8.gif

4.2 性能分析

    本文使用Synopsys公司的DC(Design Complier)工具,采用65 nm CMOS 工藝標準庫在tt_vlp2_25c的PVT環(huán)境下對規(guī)模為4×4可編程控制網(wǎng)絡進行邏輯綜合。綜合報告顯示,可編程控制網(wǎng)絡占用組合邏輯面積為12 256 μm2,非組合邏輯面積為1 456 μm2,總面積為13 712 μm2,折合等效與非門數(shù) 0.95萬門(13 712/1.44門),占整個CGCLA面積0.37%。映射AES控制流最大延遲為0.72 ns,即頻率達到1 389 MHz。映射A5-1控制流最大延遲為0.84 ns,即頻率達到1 190 MHz。從綜合結果可以看出,可編程控制網(wǎng)絡面積小、速度快,不會增加陣列面積資源或成為關鍵路徑。

    其次,將四層控制模型下的可編程控制網(wǎng)絡與三種主流架構下的控制器進行性能對比分析,結果如表3所示??删幊炭刂凭W(wǎng)絡整體性能遠遠優(yōu)于主流架構下的控制器,不僅可以提高了控制效率,且在關鍵配置技術上提供了很好的技術支持。

wdz3-b3.gif

5 結束語

    為了解決當前主流密碼陣列架構下控制器可擴展性差、控制流單一、與數(shù)據(jù)流交互時間長等問題,本文提出了四層控制模型,并設計了面向粗粒度密碼邏輯陣列的可編程控制網(wǎng)絡。用AES和A5-1算法在控制網(wǎng)絡上映射,對其進行功能驗證和性能分析,結果表明,可編程控制網(wǎng)絡不僅支持分組密碼算法控制流映射,還支持序列密碼算法控制流映射,且面積小、延時少,靈活性和擴展性也很高,達到高效控制且開銷小的設計要求,適用于任意互連結構的粗粒度密碼邏輯陣列。與3種主流陣列處理架構進行六方面的性能對比,發(fā)現(xiàn)基于可編程控制網(wǎng)絡的四層控制模型整體性能遠超三層控制模型。

參考文獻

[1] MEI B,VERNALDE S,VERKEST D,et al.ADRES:An architecture with tightly coupled VLIW processor and coarse-grained reconfigurable matrix[J].2003:61-70.

[2] BAUMGARTE V,EHLERS G,MAY F,et al.PACT XPP—A self-reconfigurable data processing architecture[J].The Journal of Supercomputing,2003,26(2):167-184.

[3] SINGH H,LEE M,LU G,et al.MorphoSys:A reconfigurable architecture for multimedia applications[C]//Brazilian Symposium on Integrated Circuit Design.IEEE Computer Society,1998:134.

[4] 陳韜,羅興國,李校南,等.一種基于流處理框架的可重構分簇式分組密碼處理結構模型[J].電子與信息學報,2014,12:3027-3034.

[5] BUCHTY R,HEINTZE N,OLIVA D.Cryptonite—A pro-grammable crypto processor architecture for high-bandwidth applications[M].Springer Berlin Heidelberg:Organic and Pervasive Computing ARCS,2004:184-198.

[6] THEODOROPOULOS D,PAPAEFSTATHIOU I,PNEVMATIKATOS D N.CCproc:An efficient cryptographic copro-cessor[C].In Proceedings of 16th IFIP/IEEE International Conference on Very Large Scale(VLSI′08).2008:160-163.

[7] 孟濤,戴紫彬.分組密碼處理器的可重構分簇式架構[J].電子與信息學報,2009,02:453-456.

[8] 王延升.粗粒度動態(tài)可重構處理器中的高能效關鍵配置技術研究[D].北京:清華大學,2014.



作者信息:

劉  露1,徐金甫1,李  偉1,2,楊宇航1

(1.解放軍信息工程大學,河南 鄭州450001;2.復旦大學 專用集成電路與系統(tǒng)國家重點實驗室,上海201203)

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