成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種專用指令處理器的設(shè)計驗證方法

文檔序號:9810796閱讀:671來源:國知局
一種專用指令處理器的設(shè)計驗證方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及嵌入式技術(shù)領(lǐng)域,特別是涉及一種專用指令處理器的設(shè)計驗證方法。
【背景技術(shù)】
[0002] 與其他公鑰密碼算法相比,橢圓曲線密碼算法(Elliptic curve cryptography, ECC)具有抗攻擊能力強(qiáng)、計算量小以及處理速度快等優(yōu)點,已成為下一代公鑰密碼體制的 標(biāo)準(zhǔn)。相比于被廣泛使用的公鑰密碼算法RSA,ECC在相同的安全強(qiáng)度下所要求的密鑰強(qiáng)度 僅是RSA的1/6。即對于q元有限域上的ECC,當(dāng)q為160bit時(該模數(shù)目前仍然是安全的),RSA 需要1024bit的模數(shù)才能達(dá)到同等的安全強(qiáng)度。該優(yōu)勢使得ECC能夠獲得更快的處理速度、 更少的網(wǎng)絡(luò)帶寬和存儲空間需求,在實際應(yīng)用中具有更大的潛在使用價值。
[0003] 處理器的性能是公鑰密碼算法高效運行的瓶頸,尤其在嵌入式應(yīng)用背景下,較低 的處理器性能和有限的可用資源進(jìn)一步降低了公鑰密碼算法的運算速度和執(zhí)行效率。隨著 ECC在嵌入式領(lǐng)域的廣泛應(yīng)用,如何提高其執(zhí)行效率成為目前研究的熱點問題。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明的目的是提供一種專用指令處理器的設(shè)計驗證方法,目的在于以犧牲少量 硬件資源為代價大幅提升算法的執(zhí)行效率并大幅降低指令代碼的存儲空間。
[0005] 為解決上述技術(shù)問題,本發(fā)明提供一種專用指令處理器的設(shè)計驗證方法,包括:
[0006] 對目標(biāo)算法進(jìn)行優(yōu)化;
[0007] 將所述目標(biāo)算法劃分為多個基本指令塊;
[0008] 將所述基本指令塊轉(zhuǎn)化為數(shù)據(jù)流圖,采用近似最優(yōu)解的方法,根據(jù)預(yù)設(shè)的指令設(shè) 計規(guī)則在所述基本指令塊中查找出可優(yōu)化指令塊;
[0009] 為查找到的所述可優(yōu)化指令塊設(shè)計專用指令,對原始指令集進(jìn)行擴(kuò)展;
[0010] 建立專用指令處理器模型,對所述專用指令處理器模型進(jìn)行仿真驗證。
[0011] 可選地,所述將所述目標(biāo)算法劃分為多個基本指令塊包括:
[0012] 對LD/ST類訪存指令進(jìn)行單獨劃分。
[0013] 可選地,所述預(yù)設(shè)的指令設(shè)計規(guī)則為:擴(kuò)展后的指令集兼容原有處理器模型的指 令格式;新指令操作碼長度與所述原有處理器模型中指令操作碼長度相同,并且新指令操 作碼和操作數(shù)的總和不超出所述原始指令集的指令位數(shù);指令設(shè)計過程中采用連續(xù)寄存器 存儲;新指令在單個時鐘周期內(nèi)執(zhí)行完成。
[0014] 可選地,所述根據(jù)預(yù)設(shè)的指令設(shè)計規(guī)則在所述基本指令塊中查找出可優(yōu)化指令塊 包括:
[0015] 從所述數(shù)據(jù)流圖的葉子節(jié)點開始查找,把所有(G-G')中有邊指向以的節(jié)點加入 到G'中進(jìn)行判斷;如果新加入的節(jié)點使圖G滿足預(yù)設(shè)的約束條件,則將所述新加入的節(jié)點加 入到G'圖中;
[0016] 所述約束條件為:查找到的所述可優(yōu)化指令塊的輸入數(shù)據(jù)的元素個數(shù)不大于用戶 定義的新設(shè)計指令的最大輸入數(shù)個數(shù);查找到的所述可優(yōu)化指令塊內(nèi)輸出數(shù)據(jù)的數(shù)目不大 于用戶定義的新設(shè)計指令的最大輸出數(shù)據(jù)個數(shù);通過所述數(shù)據(jù)流圖查找所述可優(yōu)化指令塊 不允許有一條從Vi到Vi+ι的有向邊;
[0017] 其中,G為經(jīng)轉(zhuǎn)換后得到的數(shù)據(jù)流圖,G'為已查找到的可優(yōu)化指令圖,VlEG',if 為可優(yōu)化指令塊內(nèi)的節(jié)點,并且至少有一條可優(yōu)化指令塊外節(jié)點指向該節(jié)點集合內(nèi)的任意 一個節(jié)點。
[0018] 可選地,在所述對目標(biāo)算法進(jìn)行優(yōu)化之前還包括:
[0019] 根據(jù)處理器模型的特點,對目標(biāo)算法進(jìn)行實現(xiàn)。
[0020] 可選地,所述對目標(biāo)算法進(jìn)行優(yōu)化包括:
[0021 ]通過混合坐標(biāo)系、Montgomery曲線、多項式平方優(yōu)化運算、模約減優(yōu)化運算和 Montgomery優(yōu)化運算的方法對所述目標(biāo)算法進(jìn)行優(yōu)化。
[0022]可選地,在所述建立專用指令處理器模型,對所述專用指令處理器模型進(jìn)行仿真 驗證之后還包括:
[0023]將所述專用指令處理器模型轉(zhuǎn)換為Verilog/VHDL RTL級描述的處理器模型;
[0024]對所述處理器模型進(jìn)行RTL級仿真,以驗證模型設(shè)計的正確性。
[0025] 可選地,在對所述處理器模型進(jìn)行RTL級仿真之后還包括:
[0026]將RTL級描述的處理器模型轉(zhuǎn)換為處理器模型對應(yīng)的門級電路,燒錄到FPGA中。 [0027] 可選地,在燒錄到FPGA之后還包括:
[0028]在FPGA上對所述專用指令處理器模型的正確性進(jìn)行驗證。
[0029]本發(fā)明所提供的專用指令處理器的設(shè)計驗證方法,對目標(biāo)算法進(jìn)行優(yōu)化;將目標(biāo) 算法劃分為多個基本指令塊;將基本指令塊轉(zhuǎn)化為數(shù)據(jù)流圖,采用近似最優(yōu)解的方法,根據(jù) 預(yù)設(shè)的指令設(shè)計規(guī)則在基本指令塊中查找出可優(yōu)化指令塊;為查找到的可優(yōu)化指令塊設(shè)計 專用指令,對原始指令集進(jìn)行擴(kuò)展;建立專用指令處理器模型,對專用指令處理器模型進(jìn)行 仿真驗證。本發(fā)明所提供的專用指令處理器的設(shè)計驗證方法,通過指令集自擴(kuò)展的方法來 提高目標(biāo)算法實現(xiàn)過程中執(zhí)行復(fù)雜度較高模塊的運算速度,提高了算法的執(zhí)行效率。
【附圖說明】
[0030] 圖1為本發(fā)明所提供的專用指令處理器的設(shè)計驗證方法的一種【具體實施方式】的流 程圖;
[0031] 圖2為本發(fā)明所提供的專用指令處理器的設(shè)計驗證方法的另一種【具體實施方式】的 流程圖
[0032] 圖 3 為EXT1 的 DFG 圖;
[0033] 圖 4 為EXT1 的 RDFG 圖;
[0034]圖5為EXT1指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0035]圖6為EXT2指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0036]圖7為EXT3指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0037]圖8為EXT4指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0038]圖9為EXT5指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0039]圖10為EXT6指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖;
[0040] 圖11為EXT7指令的擴(kuò)展指令執(zhí)行部件硬件模型示意圖。
【具體實施方式】
[0041] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和【具體實施方式】 對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是 全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提 下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0042]本發(fā)明所提供的專用指令處理器的設(shè)計驗證方法的一種【具體實施方式】的流程圖 如圖1所示,該方法包括:
[0043] 步驟S101:對目標(biāo)算法進(jìn)行優(yōu)化;
[0044] 該過程的核心是優(yōu)化目標(biāo)算法的實現(xiàn)流程,使得流程更加合理,運行更加高效。 [0045] 對目標(biāo)算法進(jìn)行優(yōu)化具體可以采用但并不限于采用混合坐標(biāo)系、Montgomery曲 線,多項式平方優(yōu)化運算、模約減優(yōu)化運算或Montgomery優(yōu)化運算等優(yōu)化方法。
[0046]步驟S102:將所述目標(biāo)算法劃分為多個基本指令塊;
[0047] 基本指令塊(Basic Instruction Block,BIB)是查找可優(yōu)化指令塊的基本單元。 作為一種【具體實施方式】,可具體結(jié)合下述約束條件做出判斷。一般情況下,一個目標(biāo)算法的 實現(xiàn)可以劃分出多個基本指令塊即BIBn BIBn-fBIBiBIBo。
[0048] 在基本指令塊的劃分過程中,可以具體根據(jù)算法的功能模塊進(jìn)行劃分(如AES的 Sbox字節(jié)置換),也可以根據(jù)算法實現(xiàn)語句進(jìn)行劃分(如for循環(huán)語句會單獨劃分為一個基 本指令塊,因循環(huán)內(nèi)語句重復(fù)且使用頻繁)。這均不影響本發(fā)明的實現(xiàn)。
[0049]作為一種優(yōu)選實施方式,本實施例在BIB的劃分過程中,可以將LD/ST類訪存指令 進(jìn)行單獨劃分,避免與其他運算指令劃分到一個BIB內(nèi)。因為這類訪存指令的執(zhí)行時間較 長,往往決定了處理器的最壞路徑執(zhí)行時間,進(jìn)而影響處理器的最高運行頻率。因此這樣的 設(shè)置可以在一定程度上提高處理器的性能,降低對處理器運行頻率的影響。
[0050] 步驟S103:將所述基本指令塊轉(zhuǎn)化為數(shù)據(jù)流圖,采用近似最優(yōu)解的方法,根據(jù)預(yù)設(shè) 的指令設(shè)計規(guī)則在所述基本指令塊中查找出可優(yōu)化指令塊;
[0051] 針對新指令設(shè)計,指令設(shè)計規(guī)則可以具體包括:(1)擴(kuò)展后指令集兼容原有處理器 模型的指令格式,保證譯碼部件的正常運行;(2)新指令操作碼長度和原有處理器模型中指 令操作碼長度相同,并且新指令操作碼和操作數(shù)的總和不能超出原指令集的指令位數(shù);(3) 指令設(shè)計過程中可采用連續(xù)寄存器存儲方法,即只需知道指令的第一個寄存器位置,通過 連續(xù)的寄存器存儲其他輸入輸出數(shù)據(jù),以此來解決指令位數(shù)不足的問題;(4)新指令需要在 單個時鐘周期內(nèi)執(zhí)行完成;(5)新指令的執(zhí)行結(jié)構(gòu)或部件不能過于復(fù)雜,否則難以實現(xiàn)并且 會引起較大時延,降低算法的執(zhí)行效率;(6)新指令條數(shù)不宜過多,即指令集擴(kuò)展后占用的 硬件資源數(shù)不能過多,否則難以滿足特定應(yīng)用背景的需求;(7)不應(yīng)對重復(fù)的語句進(jìn)行重復(fù) 優(yōu)化,否則會造成硬件資源的浪費。
[0052]首先將基本指令塊(BIB)轉(zhuǎn)換成數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Graph,DFG),本實 施例中可具體采用在DFG圖中根據(jù)指令設(shè)計規(guī)則,引入近似最優(yōu)解方法來查找可優(yōu)化指令 塊。
[0053]假設(shè)BIB經(jīng)轉(zhuǎn)換后得到的DFG圖為6=(¥3),6為一個有向無環(huán)圖,節(jié)點集合¥表示 BIB內(nèi)的某一步操作,邊集合E表示BIB內(nèi)每一步操作的數(shù)據(jù)依賴關(guān)系。簡單舉例,一個加法 操作c = a+b可以轉(zhuǎn)換成DFG圖的一部分,其中+號表示操作節(jié)點,整個操作對應(yīng)3條有向邊, 在圖中表示為產(chǎn)生a和b
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1