• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向密碼流體系結(jié)構(gòu)的超長指令字可重構(gòu)研究

      2017-10-13 11:07:25嚴(yán)迎建王壽成徐進(jìn)輝
      電子與信息學(xué)報(bào) 2017年1期
      關(guān)鍵詞:指令集指令密碼

      嚴(yán)迎建 王壽成 徐進(jìn)輝 陳 韜

      ?

      面向密碼流體系結(jié)構(gòu)的超長指令字可重構(gòu)研究

      嚴(yán)迎建 王壽成*徐進(jìn)輝 陳 韜

      (解放軍信息工程大學(xué) 鄭州 450001)

      可重構(gòu)密碼流體系結(jié)構(gòu)是一種面向密碼運(yùn)算的新型體系結(jié)構(gòu),但存在著超長指令字(VLIW)代碼稀疏和Kernel體積過大的問題。該文以可重構(gòu)密碼流處理架構(gòu)S-RCCPA為研究平臺,通過大量密碼算法在S-RCCPA架構(gòu)上的適配分析,提出了VLIW可重構(gòu)技術(shù),并設(shè)計(jì)了Kernel級指令集、VLIW可重構(gòu)算法及指令可重構(gòu)單元。實(shí)驗(yàn)證明,該技術(shù)能夠有效提高VLIW的指令密度,同時(shí)降低了VLIW的指令寬度,使得整個(gè)Kernel體積減小了約33.3%,并將微碼存儲器的容量由96 kB降為64 kB,有效降低芯片整體面積和系統(tǒng)功耗。

      密碼流處理器;Kernel級指令;超長指令字;可重構(gòu);指令密度

      1 引言

      隨著人們對網(wǎng)絡(luò)安全與信息安全問題的日益重視,為滿足密碼處理的高性能和靈活性的要求,可重構(gòu)密碼流處理器逐步成為了一個(gè)重要的研究方向??芍貥?gòu)密碼流處理架構(gòu)S-RCCPA[1]融合了流體系結(jié)構(gòu)的高性能優(yōu)勢和可重構(gòu)架構(gòu)的靈活性特征,具有密碼運(yùn)算性能高,算法適應(yīng)性好,可擴(kuò)展能力強(qiáng)的特點(diǎn)。借鑒流處理器的架構(gòu),S- RCCPA采用了兩級指令:流級指令和Kernel級指令。其中Kernel級指令是一種微指令,包括由編譯器根據(jù)密碼算法提前編譯好的超長指令字(Very Large Instruction Word, VLIW)和配置指令,其位寬達(dá)到數(shù)百位。VLIW分為若干指令分域,分別對應(yīng)于各功能單元,而功能單元分域存在著相關(guān)性,為解決各功能單元指令分域相關(guān)性的沖突,編譯器通常需要加入空操作來進(jìn)行調(diào)度。由于受編譯器能力與程序固有指令級并行度的限制,VLIW往往存在大量的空操作,使得Kernel體積巨大,造成了處理器性能和功耗的浪費(fèi)。

      為減少VLIW指令槽浪費(fèi)和Kernel體積,國內(nèi)外進(jìn)行了許多研究。文獻(xiàn)[9]提出一種VLIW分域壓縮技術(shù),剔除各個(gè)子域中的空操作,并通過分布式指令存儲器進(jìn)行解壓縮執(zhí)行,但其壓縮和解壓效率較低。文獻(xiàn)[10]提出一種基于指令模板的壓縮方法,將模板域添加到指令中并重組編碼,剔除其中的空操作,但其解碼邏輯較為復(fù)雜,硬件開銷較大。文獻(xiàn)[11]在每條指令段后加入單比特標(biāo)識位,標(biāo)識此條指令段是否結(jié)束,通過壓縮VLIW中的空操作指令段,該策略能夠減少約23%的指令寬度并提高工作頻率,也能有效減少程序代碼量。此外文獻(xiàn)[12-14]也提出了一些壓縮技術(shù),但僅靠上述技術(shù)仍難以有效解決可重構(gòu)密碼流處理器S-RCCPA所面臨的VLIW指令稀疏和Kernel代碼體積過大的問題。

      本文在可重構(gòu)密碼流處理器架構(gòu)S-RCCPA上進(jìn)行了大量的算法適配分析,發(fā)現(xiàn)其空操作分布與算法對可重構(gòu)密碼處理單元(Reconfigurable Cipher processing Unit, RCU)的使用情況有關(guān)。針對其分布規(guī)律,本文提出了VLIW可重構(gòu)技術(shù),通過改進(jìn)其指令集格式并使VLIW可重構(gòu),有效解決了空操作比例較大的問題。實(shí)驗(yàn)證明,該技術(shù)有效降低了VLIW的寬度,減小指令存儲/發(fā)射帶寬,同時(shí)有效地降低了Kernel體積,減小了微碼存儲器的容量,從而有效減小S-RCCPA的面積需求和資源消耗。

      2 可重構(gòu)密碼流處理指令特征分析

      S-RCCPA是一種基于流處理器架構(gòu)的可重構(gòu)分簇式分組密碼處理陣列結(jié)構(gòu),能夠?qū)崿F(xiàn)任務(wù)級并行、數(shù)據(jù)級并行和指令級并行,具有很高的密碼處理性能和靈活性。S-RCCPA的Kernel級指令格式如圖1所示,包括VLIW和配置指令。VLIW的功能是RCU進(jìn)行密碼操作,其分為若干指令分域,分別對應(yīng)于各功能單元;配置指令存儲在配置寄存器(Configuration Register Files, CRF)中,負(fù)責(zé)對RCU進(jìn)行配置,使其可靈活參與不同密碼算法。

      VLIW的格式如圖1(a)所示,長度為384 bit,分為14個(gè)域。前4個(gè)域分別為保留域(Res)、特征域(OP)、微控制器域(MC)和IO端口域,特征域標(biāo)志著指令類型,微控制器域和IO端口域分別實(shí)現(xiàn)指令發(fā)射和數(shù)據(jù)交互的功能。后10個(gè)域分別對應(yīng)于10個(gè)RCU,每個(gè)分域的寬度為16 bit或32 bit。經(jīng)過對30余種分組密碼算法在S-RCCPA上的映射分析發(fā)現(xiàn),VLIW的前4個(gè)指令分域在每種算法都需要使用,而后10個(gè)分域則只需部分使用。分析發(fā)現(xiàn),S-RCCPA架構(gòu)在進(jìn)行上述分組密碼運(yùn)算時(shí)只使用部分RCU,也就是說S-RCCPA架構(gòu)在進(jìn)行一種密碼算法時(shí),除需要的RCU外其余RCU所對應(yīng)的指令分域在整個(gè)算法運(yùn)算期間一直是空指令,這就造成了指令槽和微碼存儲器容量的極大浪費(fèi)。

      本文選擇了6個(gè)具有代表意義的分組密碼算法DES, AES, IDEA, RC6, Twofish和PP2[15]進(jìn)行分析和對比。表1列出了上述算法的RCU使用情況,從表中可以看出每個(gè)算法使用RCU的數(shù)量不同,但都不超過5個(gè)。以DES和AES為例說明,S-RCCPA架構(gòu)運(yùn)行DES算法只用到S盒、比特置換和邏輯運(yùn)算單元3個(gè)RCU,也就是說最大非空操作比例為57.29%。S-RCCPA運(yùn)行AES算法時(shí)使用的RCU有S盒、比特置換、有限域乘法單元和邏輯運(yùn)算單元,最大非空操作比例為61.46%。在實(shí)際算法應(yīng)用中VLIW的非空操作比例遠(yuǎn)遠(yuǎn)低于上述最大非空操作比例。圖2統(tǒng)計(jì)了上述分組密碼算法在S-RCCPA以ECB和CBC兩種模式加密時(shí)的非空操作比例,可以看出這個(gè)比例均值不超過40%。從圖2可以看出S-RCCPA架構(gòu)在進(jìn)行密碼運(yùn)算時(shí)VLIW代碼稀疏和Kernel體積過大的問題十分嚴(yán)重。

      圖1 S-RCCPA架構(gòu)的Kernel級指令

      表1密碼算法使用到的可重構(gòu)密碼流處理單元RCU

      算法S盒比特置換移位有限域乘法邏輯運(yùn)算模加/減模乘模乘逆 DES√√√ AES√√√√ IDEA√√√√√ RC6√√√√ Twofish√√√√√ PP2√√√√

      3 VLIW可重構(gòu)技術(shù)

      3.1 VLIW可重構(gòu)思想

      VLIW可重構(gòu)技術(shù)將VLIW中未使用到的RCU分域?qū)?yīng)的成列空操作分域剔除,縮短VLIW的指令寬度并減少Kernel的體積。其主要思想如圖3所示,圖3(a)是原始的VLIW指令集示意圖,其中白色方格代表無效的空操作分域,因未使用到相應(yīng)RCU導(dǎo)致成列空操作的出現(xiàn)使得VLIW指令寬度和整個(gè)Kernel代碼體積增加;圖3(b)是支持可重構(gòu)的超長指令字(Reconfigurable Very Large Instruction Word, RVLIW)的指令集,通過該技術(shù)將成列的空指令分域剔除,使指令分域與RCU之間不再固定對應(yīng),有效降低了RVLIW指令寬度與Kernel代碼體積。為還原指令分域與RCU之間的對應(yīng)關(guān)系,RVLIW指令集還增加了一條配置信息指令,如圖3(b)網(wǎng)格狀方格示,此條信息指令用于將RVLIW指令分域中的相關(guān)指令分派到相應(yīng)的RCU中。

      圖3 VLIW可重構(gòu)示意圖

      VLIW可重構(gòu)技術(shù)包括對VLIW的可重構(gòu)生成和對重構(gòu)后的RVLIW進(jìn)行重構(gòu)分派兩個(gè)過程,其主要原理是根據(jù)密碼算法對RCU的需求情況,將原始VLIW指令集進(jìn)行可重構(gòu)設(shè)計(jì),生成只包含使用到的RCU對應(yīng)指令分域的RVLIW以及相應(yīng)的配置信息,并將此指令集發(fā)送到微碼存儲器進(jìn)行指令發(fā)射操作;RVLIW從微碼存儲器中逐條發(fā)射,在分派到RCU之前,根據(jù)配置信息對RVLIW進(jìn)行二次重構(gòu)并恢復(fù)指令分域與RCU原有的對應(yīng)關(guān)系,使得每個(gè)指令分域分派到相應(yīng)RCU,完成相應(yīng)的密碼操作。如圖4所示,密碼算法實(shí)際使用到的功能單元只有RCU1, RCU3和RCU4, RCU2和RCU5所對應(yīng)的VLIW分域一直為空操作。傳統(tǒng)的VLIW分派原理如圖4(a)所示,需要對每個(gè)RCU對應(yīng)的指令分域存儲、發(fā)射,并將相應(yīng)指令分域分派給每個(gè)RCU,大量的空操作使得VLIW過長。如圖4(b)所示,經(jīng)過對原始VLIW的可重構(gòu),生成RVLIW及對應(yīng)的指令分派信息,RVLIW中的每個(gè)指令分域不再與RCU一一對應(yīng)。將RVLIW從微碼存儲器發(fā)射之后,根據(jù)指令分派信息對RVLIW進(jìn)行重構(gòu),將指令字分域分派到對應(yīng)的RCU中,并完成相應(yīng)的密碼操作,對于不參與運(yùn)算的RCU,則不再存儲、發(fā)射和分派對應(yīng)的指令字分域,這樣能夠有效降低VLIW指令寬度和Kernel體積。

      圖4 VLIW可重構(gòu)原理示意圖

      3.2支持可重構(gòu)的Kernel級指令

      根據(jù)VLIW可重構(gòu)思想,本文為S-RCCPA架構(gòu)設(shè)計(jì)了支持可重構(gòu)的Kernel級指令,采用的是RISC(精簡指令集)的設(shè)計(jì)思想,每條指令功能較為簡單。Kernel級指令包括執(zhí)行操作的RVLIW和配置指令。其指令格式如圖5所示。

      RVLIW的格式如圖5(a)所示,長度為256 bit,分為11個(gè)指令分域。前4個(gè)分域分別為保留域(Res)、特征域、微控制器域(MC)和IO端口域,這4個(gè)指令分域及功能與VLIW中的相應(yīng)分域保持相同。后7個(gè)分域不再與RCU有對應(yīng)關(guān)系,而是7個(gè)指令槽,每個(gè)指令槽內(nèi)的指令不再固定,由VLIW可重構(gòu)算法根據(jù)密碼算法對RCU的使用情況進(jìn)行分配調(diào)度,將使用到的RCU對應(yīng)的指令分域按順序分配到7個(gè)指令槽中。配置指令如圖5(b),長度為256 bit,分為4個(gè)指令分域,分別為保留域(Res)、特征域、地址域和配置信息域。這4個(gè)指令分域與圖1(b)的區(qū)別在于配置信息域的寬度縮短,此時(shí)的配置信息包括還原RVLIW的配置信息和對RCU的配置信息。支持可重構(gòu)的Kernel級指令通過重構(gòu)指令槽與指令分域的對應(yīng)關(guān)系縮短了RVLIW的指令寬度,有效降低了Kernel的體積。

      圖5 支持可重構(gòu)的Kernel級指令

      3.3 VLIW可重構(gòu)算法

      密碼算法程序是基于密碼專用指令的匯編程序。通過編譯器,將算法程序映射到S-RCCPA上執(zhí)行,經(jīng)過VLIW調(diào)度、寄存器分配和一系列優(yōu)化后生成VLIW指令集。在編譯時(shí)根據(jù)專用指令使用情況自動(dòng)生成對應(yīng)RCU的使用信息RCU_use[],如若使用到SBOX8T8指令,則將S盒對應(yīng)的使用信息RCU_use[]置為1。在完成對算法程序的編譯后,根據(jù)RCU_use[]對編譯好的VLIW指令集進(jìn)行逐條可重構(gòu)生成RVLIW及相應(yīng)的配置信息。由于分組密碼算法大多是迭代型的,其指令集中指令條數(shù)通常較少,如AES的指令集有15條指令,DES的指令集有10條指令。故VLIW可重構(gòu)算法的時(shí)間消耗約為數(shù)十單位時(shí)間,相對應(yīng)于繁瑣的編譯過程,此時(shí)間消耗并不是很大,對編譯效率的影響很低。

      VLIW可重構(gòu)的偽代碼算法如表2所示。輸入為編譯后生成的原始Kernel及密碼算法對RCU的使用信息RCU_use[],算法對每條VLIW逐個(gè)檢測,根據(jù)使用信息RCU_use[]來決定是否保留VLIW中相關(guān)的指令分域,若密碼算法使用到RCU,則將其對應(yīng)的指令分域按序?qū)懭隦VLIW中的指令槽中。由于前5個(gè)RCU分域的指令位寬為32 bit,若使用到此5個(gè)RCU,則相應(yīng)的指令分域信息占用RVLIW中的兩個(gè)指令槽;而后5個(gè)RCU分域的指令位寬為16 bit,若使用到此5個(gè)RCU,則相應(yīng)的指令分域信息只占用一個(gè)指令槽。此外還需要生成指令分域與指令槽對應(yīng)關(guān)系的配置信息,由于密碼算法在運(yùn)算過程中對RCU的使用情況固定,故只需要生成一條配置信息。配置信息的生成算法與VLIW的重構(gòu)算法類似,前5個(gè)RCU和后5個(gè)RCU的配置信息分別生成。經(jīng)過VLIW可重構(gòu)算法,將原始的VLIW和RCU_use[]轉(zhuǎn)化成RVLIW和配置信息Config,其中RVLIW主要是將VLIW中RCU對應(yīng)的指令分域進(jìn)行可重構(gòu)設(shè)計(jì),只保留RCU_use[]為1時(shí)RCU對應(yīng)的指令分域,對于RCU_use[]為0時(shí)RCU對應(yīng)的指令分域則不再保留。

      3.4 VLIW可重構(gòu)硬件實(shí)現(xiàn)

      VLIW可重構(gòu)算法生成的RVLIW改變了指令分域與RCU之間的位置對應(yīng)關(guān)系,而Kernel代碼在加載、存儲和發(fā)射時(shí)都以RVLIW的形式進(jìn)行,為使指令信息能夠發(fā)送到相應(yīng)的RCU,本文設(shè)計(jì)了VLIW可重構(gòu)的硬件結(jié)構(gòu),如圖6(a)所示。當(dāng)微控制器執(zhí)行Kernel時(shí),在執(zhí)行單元的控制下,將Kernel級指令逐條發(fā)送到指令分析單元中。指令分析單元通過識別指令中的特征域,將配置指令按地址發(fā)射到配置寄存器CRF相應(yīng)的地址空間;將RVLIW中的MC域發(fā)射到微控制器執(zhí)行單元,將IO域和7個(gè)指令槽發(fā)射到指令可重構(gòu)單元中。

      實(shí)現(xiàn)VLIW可重構(gòu)的關(guān)鍵部件是指令可重構(gòu)單元。指令可重構(gòu)單元的結(jié)構(gòu)如圖6(b)所示,其主要功能是完成RVLIW的重構(gòu)分派,保證各指令槽的指令信息發(fā)射到對應(yīng)的RCU中。指令可重構(gòu)單元只接收部分RVLIW,如圖6(b)所示,接收到的RVLIW共174 bit,包括IO單元分域和7個(gè)指令槽。其中IO單元分域不需要進(jìn)行指令重構(gòu)分配,而是直接發(fā)送給IO單元;指令可重構(gòu)單元根據(jù)配置信息對其硬件結(jié)構(gòu)進(jìn)行配置,固定其數(shù)據(jù)選擇路徑,使指令槽的指令信息能夠分配到相應(yīng)的RCU中,RVLIW經(jīng)過重構(gòu)后的指令集格式與圖1(a)所示VLIW右部分相同。指令可重構(gòu)單元將7個(gè)指令槽的指令信息分配到對應(yīng)的RCU中,并進(jìn)行相應(yīng)的密碼操作;而未接收到指令信息的RCU則不進(jìn)行任何操作,有效降低了系統(tǒng)功耗。

      4 性能評測

      4.1 資源消耗分析

      本文對原始S-RCCPA架構(gòu)和支持VLIW可重構(gòu)的S-RCCPA架構(gòu)分別進(jìn)行了資源消耗分析。相比于原始架構(gòu),本文提出的支持VLIW可重構(gòu)架構(gòu)對微碼存儲器容量的要求降低,但增加了一個(gè)新的功能部件——指令可重構(gòu)單元。本文采用55 nm CMOS工藝,利用綜合工具基于標(biāo)準(zhǔn)單元庫邏輯綜合獲取了其硬件資源代價(jià)信息,其中RAM由Memory Compiler定制生成。原始S-RCCPA架構(gòu)和支持VLIW可重構(gòu)的S-RCCPA架構(gòu)的硬件資源消耗對比如表3所示。

      表2 VLIW可重構(gòu)算法

      表3中,架構(gòu)1代表原始S-RCCPA架構(gòu),架構(gòu)2代表支持VLIW可重構(gòu)的S-RCCPA架構(gòu)。指令可重構(gòu)過程在指令分析完成后進(jìn)行,此階段位于流水線譯碼棧。原始架構(gòu)譯碼棧時(shí)間延遲為1.07 ns,執(zhí)行棧是關(guān)鍵路徑,其延遲為1.25 ns。新架構(gòu)中,譯碼棧增加了指令可重構(gòu)單元,其時(shí)間延遲必定增加,經(jīng)綜合得其延遲時(shí)間為1.21 ns,增加了0.14 ns。由于譯碼棧時(shí)間延遲并沒有超過執(zhí)行棧而成為關(guān)鍵路徑,即指令可重構(gòu)單元的增加并不影響處理器的工作頻率。此外,微碼存儲器的容量由96 kB降為64 kB,面積也相應(yīng)降低了69609.6。而增加的指令可重構(gòu)單元使用的邏輯門數(shù)僅為2989.9,面積為4305.6。相比原始架構(gòu),本文提出的支持VLIW可重構(gòu)的架構(gòu)有效降低了處理器整體面積和系統(tǒng)功耗。

      4.2 性能對比分析

      VLIW可重構(gòu)技術(shù)是一種減少代碼體積的新型技術(shù),其實(shí)現(xiàn)效果與指令壓縮技術(shù)類似。為了評估VLIW可重構(gòu)的性能和效率,本文選擇了相關(guān)指令壓縮技術(shù)進(jìn)行比較,如表4所示,主要從面積消耗和指令壓縮比兩個(gè)方面來進(jìn)行比較。其中指令壓縮比是壓縮后VLIW代碼體積與壓縮前的比值,其值越小,說明壓縮效率越高。

      文獻(xiàn)[9]針對流處理器MASA進(jìn)行VLIW分域壓縮,其測試程序集包括RS解碼算法, MPEG2, H.264算法等流程序,平均壓縮比達(dá)到61.44%,指令存儲器面積減小37.24%。文獻(xiàn)[10]是針對傳輸觸發(fā)型架構(gòu)TTA進(jìn)行可變長指令壓縮,其測試程序集包括AES算法,JPEG算法,motion算法等,其平均壓縮比達(dá)到63%,但面積卻增加了3倍多。文獻(xiàn)[11]針對高速嵌入式DSP進(jìn)行多級指令壓縮,其測試程序集包括MP3, MPEG, amr等程序,其平均壓縮比為77%,文中未提及其資源消耗情況。文獻(xiàn)[12]針對粗粒度可重構(gòu)架構(gòu)CGRA進(jìn)行自適應(yīng)VLIW壓縮,其測試程序?yàn)镠.264算法,其壓縮比為52%,未提及資源消耗情況。本文提出的VLIW可重構(gòu)技術(shù)的壓縮比對所有算法Kernel的壓縮比均為66.67%,其指令存儲器面積減小31.11%。相比之下,本文提出的技術(shù)對于密碼算法Kernel體積的減小具有普遍高效性,并且其資源消耗也較小。

      指令壓縮方法通常是針對某類特定架構(gòu)和某些特殊程序而提出的,由于架構(gòu)和程序自身特征差異較大,與不同壓縮方法直接對比僅能說明VLIW可重構(gòu)技術(shù)具有一定的指令壓縮能力,并不能直觀說明其提高指令密度的效率。因此通過比較兩種指令集結(jié)構(gòu)的非空操作比例來評估VLIW可重構(gòu)技術(shù)提高指令密度的能力。本文在兩種處理器架構(gòu)上適配了大量的密碼算法,并分別統(tǒng)計(jì)了兩種架構(gòu)進(jìn)行ECB和CBC模式的密碼運(yùn)算時(shí)的非空操作比例。圖7列舉了DES, AES, IDEA, RC6, Twofish和PP2等6種算法在上述4種情況下的非空操作比例。

      圖6 VLIW可重構(gòu)的結(jié)構(gòu)圖

      表3綜合結(jié)果對比表

      架構(gòu)時(shí)間延遲微碼存儲器指令可重構(gòu)單元 譯碼棧(ns)執(zhí)行棧(ns)容量(kB)面積()邏輯門數(shù)(門)面積() 11.071.2596193813.8// 21.211.2564129209.22989.94305.6

      表4壓縮性能比較

      文獻(xiàn)[9]文獻(xiàn)[10]文獻(xiàn)[11]文獻(xiàn)[12]本文方法 面積消耗(%)-37.24+331//-31.11 壓縮比(%)61.4463775266.67

      從圖7可以看出,支持VLIW可重構(gòu)的S- RCCPA架構(gòu)中算法非空操作比例比原始S-RCCPA架構(gòu)提高了15%~30%,這是主要是由于VLIW可重構(gòu)技術(shù)直接剔除了不需要的指令分域,縮短了VLIW的指令寬度,使得算法Kernel整體的指令利用率得到了巨大的提升。此外,在進(jìn)行ECB模式加密時(shí),非空操作比例較CBC模式時(shí)有了明顯提升。這是因?yàn)镾-RCCPA架構(gòu)進(jìn)行CBC模式加密時(shí)不僅能夠挖掘數(shù)據(jù)級并行度,也能夠有效開發(fā)指令級并行度,盡可能高效地使用VLIW資源。

      圖7 非空操作比例對比圖

      5 結(jié)束語

      本文通過對S-RCCPA架構(gòu)Kernel級指令和密碼流處理特征進(jìn)行分析,提出了VLIW可重構(gòu)技術(shù),設(shè)計(jì)了相應(yīng)的Kernel級指令集,同時(shí)還設(shè)計(jì)和實(shí)現(xiàn)了硬件電路結(jié)構(gòu)。實(shí)驗(yàn)證明,該技術(shù)通過較小的硬件資源消耗實(shí)現(xiàn)了較大的指令密度提升,同時(shí)在代碼執(zhí)行過程中無其他操作,代碼壓縮和代碼執(zhí)行過程中都具有很高的效率。經(jīng)過對大量算法的適配表明,VLIW可重構(gòu)技術(shù)通過減少Kernel級指令寬度有效提升了VLIW中的非空操作比例,同時(shí)也壓縮了Kernel代碼體積,使得微碼存儲器的容量減小了33.33%,從而有效降低芯片的整體面積和系統(tǒng)功耗。但支持VLIW可重構(gòu)的Kernel級指令集仍存在指令槽為空的情況,下一步可結(jié)合VLIW編譯優(yōu)化和指令壓縮等方法進(jìn)一步提高VLIW的指令密度。

      [1] 陳韜, 羅興國, 李校南, 等. 一種基于流處理框架的可重構(gòu)分簇式分組密碼處理結(jié)構(gòu)模型[J]. 電子與信息學(xué)報(bào), 2014, 36(12): 3027-3034. doi: 10.3724/SP.J.1146.2014.00023.

      CHEN Tao, LUO Xingguo, LI Xiaonan,An architecture of stream based reconfigurable clustered block cipher processing array[J].&, 2014, 36(12): 3027-3034. doi: 10.3724/SP.J.1146. 2014.00023.

      [2] LEE K Y, KYUNG G, PARK T R,A design of a GP-GPU based stream processor for an image processing[C]. IEEE International Conference on Telecommunications & Signal Processing, Prague, Czech Republic, 2015: 535-539.

      [3] CHENG Tengyuan, CHEN Tsunghuang, CHEN J C,Coarse-grained reconfigurable image stream processor architecture for high-definition cameras and camcorders[C]. IEEE International SoC Design Conference, Incheon, South Korea, 2010: 95-98.

      [4] KRIMER E, PAWLOWSKI R, EREZ M,Synctium: A near-threshold stream processor for energy-constrained parallel applications[J]., 2010, 9(1): 21-24. doi: 10.1109/L-CA.2010.5.

      [5] 李校南, 王雪瑞, 戴紫彬, 等. 可重構(gòu)分簇式分組密碼處理架構(gòu)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014, 31(1): 315-318. doi: 10.3969 /j.issn.1000-386x.2014.01.085.

      LI Xiaonan, WANG Xuerui, DAI Zibin,Reconfigurable clustered block cipher processing architecture[J]., 2014, 31(1): 315-318. doi: 10.3969 /j.issn.1000-386x.2014.01.085.

      [6] HUANG Wei, HAN Jun, WANG Shuai,A low- complexity heterogeneous multi-core platform for security SoC[C]. IEEE Asian Solid-State Circuits Conference, Beijing, China, 2010: 126-129.

      [7] WANG Bo and LIU Leibo. A flexible and energy-efficient reconfigurable architecture for symmetric cipher processing [C]. IEEE International Symposium on Circuits and Systems, Lisbon, Portugal, 2015: 1182-1185.

      [8] SAYILAR G and CHIOU D. Cryptoraptor: high throughput reconfigurable cryptographic processor[C]. IEEE/ACM International Conference on Computer-Aided Design, San Jose, California, USA, 2014: 155-161.

      [9] 管茂林, 何義, 楊乾明, 等. 流體系結(jié)構(gòu)指令存儲器優(yōu)化設(shè)計(jì)研究[J]. 電子學(xué)報(bào), 2012, 40(7): 1379-1385. doi: 10.3969/ j.issn.0372-2112.2012.07.016.

      GUAN Maolin, HE Yi, YANG Qianming,Optimized design research of instruction memory for stream architecture[J]., 2012, 40(7): 1379-1385. doi: 10.3969/j.issn.0372-2112.2012.07.016.

      [10] HELKALA J, VIITANEN T, KULTALA H,Variable length instruction compression on transport triggered architectures[C]. IEEE International Conference on Embedded Computer Systems: Architectures, Modeling & Simulation, Samos Island , Greece, 2014: 149-155.

      [11] JIN T, AHN M, YOO D,NOP compression scheme for high speed DSPs based on VLIW architecture[C]. IEEE International Conference on Consumer Electronics, Las Vegas, Nevada, USA, 2014: 304-305.

      [12] HE Yi, GUAN Maolin, ZHANG Chunyuan,Fully distributed on-chip intruction memory design for stream architecture based on field-divided VLIW compression[C]. IEEE 14th International Conference on High Performance Computing and Communications, Liverpool, United Kingdom, 2012: 25-32.

      [13] CHUNG Mookyoung, KIM Junkyoung, CHO Yeongon,Adaptive compression for instruction code of coarse grained reconfigurable architectures[C]. IEEE International Conference on Field-programmable Technology, Kyoto, Japan, 2013: 394-397.

      [14] 李勇, 王志英, 趙學(xué)秘, 等. 配置流驅(qū)動(dòng)計(jì)算體系結(jié)構(gòu)指導(dǎo)下的ASIP設(shè)計(jì)[J]. 計(jì)算機(jī)研究與發(fā)展, 2007, 44(4): 714-721.

      LI Yong, WANG Zhiying, ZHAO Xuemi,Design of application specific instruction-set processors directed by configuration stream driven computing architecture[J]., 2007, 44(4): 714-721.

      [15] BUCHOLC K, CHMIEL K, GROCHOLEWSKA C A,PP-2 block cipher[C]. International Conference on Emerging Security Information, Systems and Technologies, Barcelona, Spain, 2013: 162-168.

      嚴(yán)迎建: 男,1973年生,博士,教授,研究方向?yàn)榘踩珜S眯酒O(shè)計(jì)技術(shù).

      王壽成: 男,1992年生,碩士生,研究方向?yàn)榭芍貥?gòu)計(jì)算、體系結(jié)構(gòu)設(shè)計(jì)技術(shù).

      徐進(jìn)輝: 男,1978年生,博士,講師,研究方向?yàn)榭芍貥?gòu)計(jì)算、體系結(jié)構(gòu).

      陳 韜: 男,1979年生,博士,副教授,研究方向?yàn)橥ㄐ排c信息安全專用集成電路設(shè)計(jì)技術(shù).

      Research of Reconfigurable Very Large Instruction Word on Cipher Stream Architecture

      YAN Yingjian WANG Shoucheng XU Jinhui CHEN Tao

      (,450001,)

      Reconfigurable cipher stream architecture is a newly proposed architecture for cipher processing, but poor Very Large Instruction Word (VLIW) code density and huge Kernel level code cubage are always serious problems on this architecture. Through analyzing the characteristics of a series of cryptographic algorithms on Stream based Reconfiguable Clustered block Cipher Processing Array (S-RCCPA) architecture, a reconfigurable VLIW dynamically technology is proposed, and the corresponding Kernel level instruction set and hardware circuit structure are designed. The experiments demonstrate that this technology can reduce VLIW width, thus improve the instruction density of VLIW effectively. Meanwhile, it can reduce about 33% of the Kernel volume, and depress the microcode store capacity from 96 kB to 64 kB. Thus it can also reduce the whole area and power consumption of chip respectively.

      Cipher stream processor; Kernel level instruction; Very Large Instruction Word (VLIW); Dynamic reconfiguration; Instruction density

      TP302.2

      A

      1009-5896(2017)01-0206-07

      10.11999/JEIT160213

      2016-03-07;改回日期:2016-07-22;

      2016-10-09

      王壽成 jeremy_419@163.com

      國家863計(jì)劃項(xiàng)目(2009AA012201),國家自然科學(xué)基金(61302107)

      The National 863 Project of China (2009AA 012201), The National Natural Science Foundation of China (61302107)

      猜你喜歡
      指令集指令密碼
      聽我指令:大催眠術(shù)
      密碼里的愛
      3DNow指令集被Linux淘汰
      密碼疲勞
      英語文摘(2020年3期)2020-08-13 07:27:02
      ARINC661顯控指令快速驗(yàn)證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      密碼藏在何處
      實(shí)時(shí)微測量系統(tǒng)指令集及解析算法
      奪命密碼
      什么是AMD64
      绿春县| 宁陵县| 项城市| 涪陵区| 年辖:市辖区| 西安市| 和林格尔县| 莫力| 桂东县| 襄樊市| 淄博市| 汾阳市| 清远市| 临汾市| 清河县| 墨玉县| 大埔县| 独山县| 益阳市| 常熟市| 读书| 承德市| 涿鹿县| 德格县| 永城市| 庄浪县| 商城县| 惠东县| 都江堰市| 武邑县| 类乌齐县| 靖西县| 额济纳旗| 张家港市| 天镇县| 津南区| 绵阳市| 海盐县| 青河县| 崇阳县| 榆林市|