欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多協(xié)議密碼算法處理器及片上系統(tǒng)的制作方法

文檔序號:9396836閱讀:509來源:國知局
一種多協(xié)議密碼算法處理器及片上系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集成電路設(shè)計領(lǐng)域,尤其涉及的是,一種多協(xié)議密碼算法處理器,可應(yīng) 用于集成電路片上系統(tǒng)(system on chip,S0C),以及一種片上系統(tǒng)。
【背景技術(shù)】
[0002] 集成電路是所有電子產(chǎn)品的核心部件,隨著技術(shù)的發(fā)展,各廠商已經(jīng)將處理器,存 儲器及接口電路集成到同一顆芯片內(nèi),成為片上系統(tǒng)。這樣,采用一顆SOC芯片即可實現(xiàn)電 子產(chǎn)品所要求的計算,處理,通信,存儲等功能,縮小了產(chǎn)品的體積和增強了可靠性。伴隨 SOC在金融支付、身份識別領(lǐng)域的廣泛應(yīng)用,如金融卡,身份證,U盾等,密碼算法運算成為 芯片的核心功能之一。
[0003] 在上述應(yīng)用領(lǐng)域的SOC內(nèi),往往需要支持SHA-1/256, SM4, SM1,SM3等多種密碼算 法,以滿足各類應(yīng)用的需求。
[0004] 對上述需求通常有兩個解決方案:
[0005] -是硬件IP (individual processor)方案,為每個密碼算法單獨設(shè)id 個硬件計 算模塊IP,掛載到SOC內(nèi)的總線上,由處理器進行配置和調(diào)度。它的缺點一是電路面積大, 造成芯片成本明顯增加;二是算法固化,不能隨應(yīng)用進行升級改良,如支持新的參數(shù)或安全 性升級等。
[0006] 二是軟件算法方案,通過SOC內(nèi)處理器上的軟件程序?qū)崿F(xiàn)這些算法。它的缺點是 計算性能極低,往往不能滿足應(yīng)用要求或降低產(chǎn)品的競爭力。
[0007] 因此,現(xiàn)有技術(shù)存在缺陷,需要改進。

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

[0008] 為解決上述方案存在的問題,本發(fā)明提出了一種新的多協(xié)議密碼算法處理器及片 上系統(tǒng)。
[0009] 本發(fā)明的技術(shù)方案如下:一種多協(xié)議密碼算法處理器,其包括總線接口模塊、指令 處理器及存儲器切換模塊;所述總線接口模塊分別與所述指令處理器及所述存儲器切換模 塊連接,用于連接總線并解析其讀寫時序,并與所述指令處理器及所述存儲器交互。
[0010] 優(yōu)選的,所述存儲器切換模塊還用于連接雙端口靜態(tài)隨機存儲器。
[0011] 優(yōu)選的,還包括所述雙端口靜態(tài)隨機存儲器。
[0012] 優(yōu)選的,所述雙端口靜態(tài)隨機存儲器設(shè)置指令存儲器與數(shù)據(jù)存儲器。
[0013] 優(yōu)選的,所述雙端口靜態(tài)隨機存儲器設(shè)置程序區(qū)模塊。
[0014] 優(yōu)選的,所述程序區(qū)模塊通過所述存儲器切換模塊連接所述總線接口模塊。
[0015] 優(yōu)選的,所述總線接口模塊設(shè)置命令寄存器。
[0016] 優(yōu)選的,所述命令寄存器與所述指令處理器連接。
[0017] 優(yōu)選的,所述總線接口模塊還設(shè)置讀寫電路,其與所述存儲器切換模塊連接,用于 通過所述存儲器切換模塊連接所述雙端口靜態(tài)隨機存儲器。
[0018] -種片上系統(tǒng),其包括總線及與所述總線連接的上述任一多協(xié)議密碼算法處理 器。
[0019] 采用上述方案,本發(fā)明通過把上述密碼及計算用同一套電路支持,并采用指令序 列控制的方式進行運算,支持用戶修改指令序列,解決了硬件IP方案的面積和升級問題; 同時,對指令的實現(xiàn)做了硬件優(yōu)化,解決了軟件算法方案的性能問題。
【附圖說明】
[0020] 圖1為本發(fā)明一個實施例的集成電路片上系統(tǒng)及其多協(xié)議密碼算法處理器示意 圖;
[0021] 圖2為本發(fā)明一個實施例的寄存器及存儲模型示意圖;
[0022] 圖3為本發(fā)明一個實施例的指令處理器示意圖。
【具體實施方式】
[0023] 為了便于理解本發(fā)明,下面結(jié)合附圖和具體實施例,對本發(fā)明進行更詳細的說明。 但是,本發(fā)明可以采用許多不同的形式來實現(xiàn),并不限于本說明書所描述的實施例。需要說 明的是,當(dāng)元件被稱為"固定于"另一個元件,它可以直接在另一個元件上或者也可以存在 居中的元件。當(dāng)一個元件被認為是"連接"另一個元件,它可以是直接連接到另一個元件或 者可能同時存在居中元件。
[0024] 除非另有定義,本說明書所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的技術(shù)領(lǐng) 域的技術(shù)人員通常理解的含義相同。本說明書中在本發(fā)明的說明書中所使用的術(shù)語只是為 了描述具體的實施例的目的,不是用于限制本發(fā)明。本說明書所使用的術(shù)語"及/或"包括 一個或多個相關(guān)的所列項目的任意的和所有的組合。
[0025] 在片上系統(tǒng)中,通常以主處理器為中心,包含指令及數(shù)據(jù)存儲器、功能模塊與接口 模塊,各電路模塊通過總線互相連接。本發(fā)明的一個實施例是,一種多協(xié)議密碼算法處理 器,也可以稱為多協(xié)議算法處理器或算法處理器,其包括總線接口模塊、指令處理器及存儲 器切換模塊;所述總線接口模塊分別與所述指令處理器及所述存儲器切換模塊連接,用于 連接總線并解析其讀寫時序,并與所述指令處理器及所述存儲器交互;也就是說,多協(xié)議密 碼算法處理器通過其總線接口模塊連接總線。例如,如圖1所示,多協(xié)議密碼算法處理器包 括總線接口模塊及分別與其連接的指令處理器、存儲器切換模塊。
[0026] 優(yōu)選的,所述存儲器切換模塊還用于連接雙端口靜態(tài)隨機存儲器。優(yōu)選的,所述多 協(xié)議密碼算法處理器還包括所述雙端口靜態(tài)隨機存儲器,所述存儲器切換模塊連接所述雙 端口靜態(tài)隨機存儲器。
[0027] 優(yōu)選的,所述雙端口靜態(tài)隨機存儲器設(shè)置指令存儲器與數(shù)據(jù)存儲器;例如,所述雙 端口靜態(tài)隨機存儲器設(shè)置存儲空間互調(diào)的指令存儲器與數(shù)據(jù)存儲器。例如,所述雙端口靜 態(tài)隨機存儲器的存儲空間的一部分設(shè)置為所述指令存儲器,其余部分設(shè)置為所述數(shù)據(jù)存儲 器,當(dāng)調(diào)整存儲空間的任一部分時,另一部分對應(yīng)調(diào)整;例如,當(dāng)所述指令存儲器增加某一 值時,所述數(shù)據(jù)存儲器對應(yīng)減少該值。例如,所述雙端口靜態(tài)隨機存儲器設(shè)置調(diào)整模塊,用 于根據(jù)片上系統(tǒng)的主處理器或所述多協(xié)議密碼算法處理器的控制指令,調(diào)整所述指令存儲 器與所述數(shù)據(jù)存儲器的存儲空間;又如,調(diào)整模塊用于調(diào)整所述指令存儲器與所述數(shù)據(jù)存 儲器其中一存儲器的存儲空間,另一存儲器的存儲空間自動調(diào)整。例如,所述數(shù)據(jù)存儲器設(shè) 置計算數(shù)據(jù)寄存器、計算結(jié)果寄存器、第一地址偏移量寄存器、第二地址偏移量寄存器、第 一指令地址寄存器、第二指令地址寄存器、第一標(biāo)志寄存器及第二標(biāo)志寄存器;例如,計算 數(shù)據(jù)寄存器及計算結(jié)果寄存器為32位,第一地址偏移量寄存器、第二地址偏移量寄存器、 第一指令地址寄存器及第二指令地址寄存器為8位,第一標(biāo)志寄存器及第二標(biāo)志寄存器為 1位。優(yōu)選的,所述雙端口靜態(tài)隨機存儲器設(shè)置程序區(qū)模塊。例如,所述程序區(qū)模塊通過所 述存儲器切換模塊連接所述總線接口模塊。
[0028] 如圖1所示,本發(fā)明的多協(xié)議算法處理器位于總線上,連接一個雙端口靜態(tài)隨機 存儲器或擁有一個雙端口靜態(tài)隨機存儲器,用于存放指令序列和數(shù)據(jù),在主處理器的命令 下進行配置、啟動或停止工作。算法處理器內(nèi)包含三個模塊,分別是總線接口模塊、指令處 理器、存儲器切換模塊。優(yōu)選的,所述總線接口模塊設(shè)置命令寄存器。例如,所述命令寄存 器與所述指令處理器連接。例如,所述命令寄存器位于所述總線接口模塊靠近所述指令處 理器且遠離所述雙端口靜態(tài)隨機存儲器的位置。
[0029] 優(yōu)選的,所述總線接口模塊還設(shè)置讀寫電路,其與所述存儲器切換模塊連接,用于 通過所述存儲器切換模塊連接所述雙端口靜態(tài)隨機存儲器。例如,所述讀寫電路位于所述 總線接口模塊靠近所述雙端口靜態(tài)隨機存儲器且遠離所述指令處理器的位置。
[0030] 例如,總線接口模塊連接總線,解析總線的讀寫時序,總線接口模塊內(nèi)部包括一個 命令寄存器,操縱指令處理器啟動(Start),重啟動(restart),并鎖存指令處理器提供的 工作狀態(tài)標(biāo)識pause和busy,供主處理器查詢??偩€接口模塊還提供了主處理器訪問雙端 口靜態(tài)隨機存儲器的讀寫電路,支持主處理器對存儲器進行讀寫。例如,所述總線接口模塊 的命令寄存器設(shè)置用于操縱指令處理器啟動的啟動指令寄存單元及用于操縱指令處理器 重啟動的重啟動指令寄存單元;又如,所述總線接口模塊還設(shè)置狀態(tài)寄存器,用于鎖存指令 處理器提供的工作狀態(tài)標(biāo)識pause和busy ;例如,所述狀態(tài)寄存器設(shè)置用于在接收指令處 理器提供的工作狀態(tài)標(biāo)識pause時記錄指令處理器處于暫停狀態(tài)的暫停寄存單元及用于 在接收指令處理器提供的工作狀態(tài)標(biāo)識busy時記錄指令處理器處于忙碌狀態(tài)的忙碌寄存 單元。
[0031] 例如,指令處理器包含處理邏輯,在接收到啟動命令后,busy設(shè)置為1。自動通過 Inst_if從雙端口 SRAM(Static Random Access Memory,靜態(tài)隨機存儲器)取出指令碼,進 行譯碼,并通過Data_if取出待處理數(shù)據(jù),進行相應(yīng)處理后,再寫回雙端口 SRAM。指令處理 器還用于識別暫停指令,并設(shè)置Pause標(biāo)志,在識別到結(jié)束指令后,busy由1設(shè)置為0。本 發(fā)明及其各實施例中,通過指令序列的組合,可以支持的運算包括:SMl、SM3、SM4、SHAl和 SHA256、以及其它自定義的算法。
[0032] 例如,所述指令處理器設(shè)置接收單元、設(shè)置單元、指令取出單元、譯碼單元、數(shù)據(jù)取 出單元、處理單元及寫入單元;所述接收單元分別與所述設(shè)置單元、所述指令取出單元連 接,用于接收啟動命令,通過所述設(shè)置單元設(shè)置指令處理器的忙碌狀態(tài),并由所述指令取出 單元從雙端口靜態(tài)隨機存儲器中取出指令碼;所述指令取出單元還與所述譯碼單元連接, 用于通過所述譯碼單元對所述指令碼進行譯碼操作,所述譯碼單元、所述數(shù)據(jù)取出單元、所 述處理單元及所述寫入單元順序連接,用于通過所述數(shù)據(jù)取出單元取出待處理數(shù)據(jù),由所 述處理單元處理后,通過所述寫入單元寫入到雙端口靜態(tài)隨機存儲器。優(yōu)選的,所述指令處 理器還設(shè)置忙碌存儲單元,用于存儲所述指令處理器的忙碌狀態(tài)或其標(biāo)記,例如,設(shè)置busy =O 或 busy = 1 〇
[0033] 存儲器切換模塊對總線模塊的bus_if,指令處理器的inst_if, data_if進行切 換,形成兩路到雙端口靜態(tài)隨機存儲器的存取信號。例如,存儲器切換模塊用于采用以下切 換規(guī)則實現(xiàn):
[0034] 當(dāng)指令處理器的busy = 0或pause = 1時,將bus_if切換到雙端口靜態(tài)隨機存 儲器的端口 A ;
[0035] 當(dāng)指令處理器的busy = 1且pause = 0時,inst_if切換到雙端口靜態(tài)隨機存儲 器的端口 A,data_if切換到雙端口靜態(tài)隨機存儲器的端口 B。
[0036] 下面再給出一個片上系統(tǒng)的整體工作流程示例。例如,一種多協(xié)議密碼算法的處 理方法,其采
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
静安区| 渭源县| 天台县| 五原县| 吉安市| 青河县| 合川市| 抚松县| 沈丘县| 长泰县| 定兴县| 通化县| 比如县| 紫云| 抚宁县| 全椒县| 五寨县| 平舆县| 循化| 阜南县| 淮阳县| 精河县| 综艺| 赤峰市| 大丰市| 商南县| 类乌齐县| 京山县| 新丰县| 龙门县| 安庆市| 泽州县| 祁连县| 保靖县| 家居| 马边| 宁乡县| 武川县| 华容县| 沁水县| 宁安市|