文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.171048
中文引用格式: 劉露,徐金甫,,李偉,,等. 面向密碼邏輯陣列的可編程控制網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,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)絡(luò)帶寬的增長和網(wǎng)絡(luò)安全協(xié)議的多樣化,,導(dǎo)致密碼應(yīng)用不斷擴(kuò)大及對密碼設(shè)備性能要求不斷提高,。對于運(yùn)算密集型的密碼算法,數(shù)據(jù)流驅(qū)動(dòng)的粗粒度密碼邏輯陣列(Coarse-Grained Cryptographic Logic Array,,CGCLA)結(jié)構(gòu)可充分利用其數(shù)據(jù)并行性和算法流水的特性,,達(dá)到密碼運(yùn)算速度快、靈活性高等性能要求,。然而面對如此靈活高效的可重構(gòu)數(shù)據(jù)通路,,若陣列控制器控制效率低,延遲和面積大,,則控制時(shí)間開銷與數(shù)據(jù)路徑時(shí)間開銷相當(dāng),,因此控制路徑可能成為關(guān)鍵路徑,將導(dǎo)致成本高,、擴(kuò)展性差等問題,,所以高效率的控制器將成為CGCLA發(fā)揮其良好性能的關(guān)鍵。
本文對3種主流可重構(gòu)處理架構(gòu)的控制模式進(jìn)行研究,,發(fā)現(xiàn)ADRES架構(gòu)的控制器存在面積規(guī)模大,、可擴(kuò)展性差等問題,;XPP架構(gòu)下控制范圍存在局限性、控制流間信息交互難等問題,;MorphoSys架構(gòu)下控制流單一,,且存在交互開銷和存儲(chǔ)開銷大的問題。針對以上架構(gòu)存在的控制缺陷,,從對稱密碼算法結(jié)構(gòu)出發(fā),,提取控制流特征,采用了全動(dòng)態(tài)的配置信息技術(shù),,提出了一種性能強(qiáng)大的四層控制模型,,并設(shè)計(jì)了在該模型下面向CGCLA的可編程控制網(wǎng)絡(luò)結(jié)構(gòu),克服了控制器可擴(kuò)展性差,、交互時(shí)間長,、信息交互難、控制流單一,、映射算法困難等問題,從而能很好地支持對分組密碼算法和序列密碼算法的高效控制,。
1 主流可重構(gòu)密碼處理架構(gòu)控制模型研究
目前,,可重構(gòu)密碼處理架構(gòu)主要有兩種:陣列結(jié)構(gòu)(ADRES[1]、XPP[2],、MorphoSys[3],、S-RCCPA[4]等)和VLIW結(jié)構(gòu)(Cryptonite[5]、CCproc[6],、RCB-CP[7]等),。對于實(shí)現(xiàn)運(yùn)算密集型密碼算法,陣列結(jié)構(gòu)數(shù)據(jù)加速,、資源利用率等性能更優(yōu),。
ADRES架構(gòu)由超長指令字處理器控制,屬于集中控制方式,,能做到配置信息的周期級切換,,但是超長指令字處理器定制性太強(qiáng),導(dǎo)致面積規(guī)模大,、可擴(kuò)展性差等問題,。XPP架構(gòu)的控制模式屬于半集中式控制,每個(gè)陣列處理簇能產(chǎn)生至少一個(gè)控制流,,通過配置頁面切換,,能實(shí)現(xiàn)比ADRES架構(gòu)更為靈活的控制,然而當(dāng)需要數(shù)據(jù)流圖或控制流圖交互時(shí),,此架構(gòu)不能實(shí)現(xiàn)或者實(shí)現(xiàn)效率很低,,從而可能造成算法映射困難,、配置管理器間交互開銷大等問題。MorphoSys架構(gòu)由于只有單一的主處理器控制陣列,,只能產(chǎn)生單一的控制流,,對于多種密碼算法的并行實(shí)現(xiàn)適配效率非常低,降低了陣列數(shù)據(jù)并行性的優(yōu)勢,,而且存在控制與運(yùn)算交互時(shí)間長,、局部存儲(chǔ)開銷大等問題,所以不能實(shí)現(xiàn)高效控制,。
將以上3種主流架構(gòu)的控制模型抽象成三層,,如圖1(a)所示,對其進(jìn)一步改進(jìn),,抽象成四層控制模型,,如圖1(b)所示。在配置頁面層與可重構(gòu)陣列之間,,加入可編程控制器,,控制器能夠接收各個(gè)處理單元的反饋信息,并根據(jù)反饋信息選擇配置頁面,,增強(qiáng)了數(shù)據(jù)流與控制流間信息交互能力,,可以提高控制效率,但仍然存在可擴(kuò)展性差,、控制流單一等問題,,且此種基于陣列的配置技術(shù)在配置頁面切換時(shí)會(huì)產(chǎn)生巨大功耗。
對四層控制流模型進(jìn)一步改進(jìn),,如圖1(c)所示,。控制層采用基于網(wǎng)絡(luò)互連結(jié)構(gòu)的控制網(wǎng)絡(luò)設(shè)計(jì),,為每個(gè)處理單元分配一個(gè)能產(chǎn)生簡單控制流的可編程控制器(Programmable Control Element,,PCE),然后結(jié)合三維配置信息技術(shù)[8],,為陣列的每個(gè)處理單元分配存儲(chǔ)空間來存儲(chǔ)算子配置信息,,改進(jìn)后的四層控制模型通過可編程控制器網(wǎng)絡(luò)互連可以產(chǎn)生不同或者復(fù)雜的控制流,通過三維配置信息技術(shù)能夠完成全動(dòng)態(tài)配置,,且能克服基于陣列配置技術(shù)帶來的頁面切換功耗大的問題,。
2 對稱密碼算法控制方法研究
為設(shè)計(jì)合適的粗粒度密碼邏輯陣列可編程控制器,就必須從對稱密碼算法的結(jié)構(gòu)特征出發(fā),,總結(jié)提取合適的控制方法,。
2.1 數(shù)據(jù)流復(fù)用控制
無論是分組密碼算法的輪運(yùn)算、序列密碼算法的記憶部件更新,,還是雜湊算法消息擴(kuò)展運(yùn)算和輪運(yùn)算,,都滿足迭代原則,,其數(shù)據(jù)流呈現(xiàn)很強(qiáng)的規(guī)律性:每次運(yùn)算都使用了完全相同的數(shù)據(jù)流,每組中間數(shù)據(jù)都只與下一組數(shù)據(jù)直接相關(guān),。
2.2 不等長數(shù)據(jù)路徑控制
分組和雜湊密碼算法在一個(gè)分組內(nèi)需要計(jì)算多路數(shù)據(jù),,如圖2(a)所示。而每一路數(shù)據(jù)可能需要不同的操作,,操作數(shù)據(jù)也有可能不同,,為保證得到正確的計(jì)算結(jié)果,一般有兩種可行方案,,第一種是在較短的路徑中插入無效操作使其與較長路徑等長,,如圖2(b)所示。在路徑較多的情況下,,該方式變得很復(fù)雜,,且浪費(fèi)資源。第二種是通過不斷向自身賦值的方式保持原值不變從而使較短的數(shù)據(jù)流停止,,如圖2(c)所示,,等到另一數(shù)據(jù)算出正確結(jié)果后再切換到下一數(shù)據(jù)流圖進(jìn)行運(yùn)算,即原來的一張流圖將被拆成兩張子圖,,然而雜湊算法內(nèi)部一般存在很多路數(shù)的運(yùn)算,,所以不適合采用第二種方式。在此,,基于第二種用子圖切換實(shí)現(xiàn)等待的方式,提出一種寄存器等待的方式,,如圖2(d)所示,,通過使能寄存器,達(dá)到不同路徑的同步,。相比前兩種方式,,提高了資源利用率,也減少了子圖的數(shù)量,,從而可以減少控制復(fù)雜度,。
2.3 切換控制
對稱密碼算法一般由多個(gè)執(zhí)行不同運(yùn)算的階段組成,相應(yīng)的對稱密碼算法全局?jǐn)?shù)據(jù)流圖一般由多個(gè)不同的子圖構(gòu)成,。分組密碼算法可分為初始運(yùn)算,、輪運(yùn)算、輸出運(yùn)算3個(gè)階段,,序列密碼算法大致可分為密鑰輸入,、記憶部件初始化和置亂輸出3個(gè)階段,而雜湊算法的每一輪采用的是完全相同的運(yùn)算結(jié)構(gòu),,一般不存在階段劃分,。
2.4 鐘控,、控選結(jié)構(gòu)控制
與分組密碼算法任意時(shí)刻有確定的數(shù)據(jù)流圖不同,序列密碼算法由于鐘控模型的存在,,導(dǎo)致數(shù)據(jù)流有不確定性,,這就要求在運(yùn)算中臨時(shí)確定數(shù)據(jù)流圖,滿足此要求一種方法是采用選擇結(jié)構(gòu),,同時(shí)實(shí)現(xiàn)兩路鐘控運(yùn)算,,相當(dāng)于將控制流整合至數(shù)據(jù)流中,使其也同樣具有固定的數(shù)據(jù)流,,代價(jià)是需要更多的資源,,運(yùn)算變得更加復(fù)雜。另一種方法是將計(jì)算鐘控值所需的抽取位傳遞至控制流,,控制流根據(jù)抽取位決定數(shù)據(jù)流圖選擇,,如圖3所示。這種方法資源變少,、運(yùn)算簡單,,但控制流與控制流關(guān)系更加復(fù)雜。
3 可編程控制網(wǎng)絡(luò)設(shè)計(jì)
針對主流架構(gòu)存在的控制問題,,本文提出了可編程控制網(wǎng)絡(luò),。用網(wǎng)絡(luò)結(jié)構(gòu)解決控制器可擴(kuò)展性差的問題,用緊耦合方式克服交互時(shí)間長的缺陷,,用互連方式解決信息交互難,、控制流單一、映射算法困難等問題,。
3.1 雙層網(wǎng)絡(luò)交互結(jié)構(gòu)設(shè)計(jì)
雙層網(wǎng)絡(luò)包括可編程控制網(wǎng)絡(luò)和用于數(shù)據(jù)處理的數(shù)據(jù)網(wǎng)絡(luò),。緊耦合的雙層網(wǎng)絡(luò)交互結(jié)構(gòu)如圖4所示,其緊耦合主要體現(xiàn)在基本控制單元(Control Unit Cluster,,CUC)與基本運(yùn)算單元(Basic Processing Unit,,BPU)之間存在一對一的耦合方式。該耦合方式通過硬連線實(shí)現(xiàn),,最大程度地減少了控制與運(yùn)算交互時(shí)間,,可以快速實(shí)現(xiàn)BPU配置頁面切換,且不占用互連資源,。
3.2 可編程控制網(wǎng)絡(luò)互連結(jié)構(gòu)設(shè)計(jì)
可編程控制網(wǎng)絡(luò)是一個(gè)五向節(jié)點(diǎn)結(jié)構(gòu)的網(wǎng)絡(luò),,其結(jié)構(gòu)如圖5所示。主要包含了兩個(gè)功能模塊:可編程控制器PCE和路由單元SE(一個(gè)CUC包含一個(gè)PCE和一個(gè)SE),。其互連拓?fù)浣Y(jié)構(gòu)是由路由單元SE通過規(guī)模為4×4的2D Torus網(wǎng)絡(luò)互連構(gòu)成,。每個(gè)可編程控制器PCE可產(chǎn)生一個(gè)簡單的控制流,PCE通過SE互連,可以形成更多更復(fù)雜的控制流,,然后與數(shù)據(jù)流完成整個(gè)算法在陣列上的映射,。
3.3 可編程控制器PCE結(jié)構(gòu)設(shè)計(jì)
可編程控制器PCE功能的設(shè)計(jì)需依據(jù)對稱密碼算法控制流特點(diǎn)?;诠δ艿耐陚湫钥紤],,根據(jù)第2章對對稱密碼算法研究得出的控制方法進(jìn)行分析,得到可編程控制器PCE的功能需求,,如表1所示,。根據(jù)PCE功能需求,可以推出對應(yīng)的基本功能組件,,如表2所示,。
從表1、表2可知,,本文提出的可編程控制器PCE必須具有5種基本功能組件,,即計(jì)數(shù)、比較,、布爾運(yùn)算,、值傳遞以及狀態(tài)寄存,以很好地支持對稱密碼算法控制流映射,??删幊炭刂破鱌CE結(jié)構(gòu)如圖6所示。
4 功能驗(yàn)證與性能分析
4.1 功能驗(yàn)證
4.1.1 AES算法控制流映射
本文選取密鑰長度為128 bit,、輪數(shù)為10輪的AES算法進(jìn)行分析,,根據(jù)AES算法結(jié)構(gòu)和迭代型運(yùn)算特點(diǎn),對其進(jìn)行數(shù)據(jù)流子圖劃分,,子圖1實(shí)現(xiàn)開始的異或運(yùn)算,,子圖2實(shí)現(xiàn)1~9輪運(yùn)算,子圖3實(shí)現(xiàn)第10輪運(yùn)算,。
根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成AES的控制流映射,,如圖7所示,,分別用到了計(jì)數(shù)器、比較器以及子圖選擇信號的值傳遞等基本功能組件,,密鑰的讀取地址通過輪計(jì)數(shù)器產(chǎn)生,。
4.1.2 A5-1算法控制流映射
根據(jù)是否輸入密鑰將整個(gè)A5-1數(shù)據(jù)流圖分成2個(gè)子圖,子圖1完成帶密鑰運(yùn)算的86次初始化操作,,子圖2完成之后的2輪100次空轉(zhuǎn)和114次置亂輸出,。根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成A5-1的控制流映射,如圖8所示,,分別用到了計(jì)數(shù)器,、比較器、布爾運(yùn)算(LUT)以及子圖選擇信號的值傳遞等基本功能組件,。
4.2 性能分析
本文使用Synopsys公司的DC(Design Complier)工具,,采用65 nm CMOS 工藝標(biāo)準(zhǔn)庫在tt_vlp2_25c的PVT環(huán)境下對規(guī)模為4×4可編程控制網(wǎng)絡(luò)進(jìn)行邏輯綜合。綜合報(bào)告顯示,,可編程控制網(wǎng)絡(luò)占用組合邏輯面積為12 256 μm2,,非組合邏輯面積為1 456 μm2,總面積為13 712 μm2,,折合等效與非門數(shù) 0.95萬門(13 712/1.44門),,占整個(gè)CGCLA面積0.37%。映射AES控制流最大延遲為0.72 ns,,即頻率達(dá)到1 389 MHz,。映射A5-1控制流最大延遲為0.84 ns,即頻率達(dá)到1 190 MHz,。從綜合結(jié)果可以看出,,可編程控制網(wǎng)絡(luò)面積小、速度快,,不會(huì)增加陣列面積資源或成為關(guān)鍵路徑,。
其次,將四層控制模型下的可編程控制網(wǎng)絡(luò)與三種主流架構(gòu)下的控制器進(jìn)行性能對比分析,,結(jié)果如表3所示,。可編程控制網(wǎng)絡(luò)整體性能遠(yuǎn)遠(yuǎn)優(yōu)于主流架構(gòu)下的控制器,,不僅可以提高了控制效率,,且在關(guān)鍵配置技術(shù)上提供了很好的技術(shù)支持。
5 結(jié)束語
為了解決當(dāng)前主流密碼陣列架構(gòu)下控制器可擴(kuò)展性差,、控制流單一,、與數(shù)據(jù)流交互時(shí)間長等問題,本文提出了四層控制模型,,并設(shè)計(jì)了面向粗粒度密碼邏輯陣列的可編程控制網(wǎng)絡(luò),。用AES和A5-1算法在控制網(wǎng)絡(luò)上映射,對其進(jìn)行功能驗(yàn)證和性能分析,,結(jié)果表明,,可編程控制網(wǎng)絡(luò)不僅支持分組密碼算法控制流映射,還支持序列密碼算法控制流映射,,且面積小,、延時(shí)少,靈活性和擴(kuò)展性也很高,達(dá)到高效控制且開銷小的設(shè)計(jì)要求,,適用于任意互連結(jié)構(gòu)的粗粒度密碼邏輯陣列,。與3種主流陣列處理架構(gòu)進(jìn)行六方面的性能對比,發(fā)現(xiàn)基于可編程控制網(wǎng)絡(luò)的四層控制模型整體性能遠(yuǎn)超三層控制模型,。
參考文獻(xiàn)
[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] 陳韜,,羅興國,李校南,,等.一種基于流處理框架的可重構(gòu)分簇式分組密碼處理結(jié)構(gòu)模型[J].電子與信息學(xué)報(bào),,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] 孟濤,戴紫彬.分組密碼處理器的可重構(gòu)分簇式架構(gòu)[J].電子與信息學(xué)報(bào),,2009,,02:453-456.
[8] 王延升.粗粒度動(dòng)態(tài)可重構(gòu)處理器中的高能效關(guān)鍵配置技術(shù)研究[D].北京:清華大學(xué),2014.
作者信息:
劉 露1,,徐金甫1,,李 偉1,2,,楊宇航1
(1.解放軍信息工程大學(xué),,河南 鄭州450001,;2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,,上海201203)