文獻標識碼: 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.
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)配置,且能克服基于陣列配置技術帶來的頁面切換功耗大的問題。
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ù)量,從而可以減少控制復雜度。
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所示。這種方法資源變少、運算簡單,但控制流與控制流關系更加復雜。
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配置頁面切換,且不占用互連資源。
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ù)流完成整個算法在陣列上的映射。
3.3 可編程控制器PCE結構設計
可編程控制器PCE功能的設計需依據(jù)對稱密碼算法控制流特點?;诠δ艿耐陚湫钥紤],根據(jù)第2章對對稱密碼算法研究得出的控制方法進行分析,得到可編程控制器PCE的功能需求,如表1所示。根據(jù)PCE功能需求,可以推出對應的基本功能組件,如表2所示。
從表1、表2可知,本文提出的可編程控制器PCE必須具有5種基本功能組件,即計數(shù)、比較、布爾運算、值傳遞以及狀態(tài)寄存,以很好地支持對稱密碼算法控制流映射??删幊炭刂破鱌CE結構如圖6所示。
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ù)器產生。
4.1.2 A5-1算法控制流映射
根據(jù)是否輸入密鑰將整個A5-1數(shù)據(jù)流圖分成2個子圖,子圖1完成帶密鑰運算的86次初始化操作,子圖2完成之后的2輪100次空轉和114次置亂輸出。根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成A5-1的控制流映射,如圖8所示,分別用到了計數(shù)器、比較器、布爾運算(LUT)以及子圖選擇信號的值傳遞等基本功能組件。
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)于主流架構下的控制器,不僅可以提高了控制效率,且在關鍵配置技術上提供了很好的技術支持。
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)