面向信息安全应用的RISC-V指令集扩展方法及其系统技术方案

技术编号:38758836 阅读:12 留言:0更新日期:2023-09-10 09:43
本发明专利技术公开了一种面向信息安全应用的RISC

【技术实现步骤摘要】
面向信息安全应用的RISC

V指令集扩展方法及其系统


[0001]本专利技术属于计算机体系结构设计领域,具体涉及一种面向信息安全应用的RISC

V指令集扩展方法及其系统。

技术介绍

[0002]计算机的处理器指令体系结构(或指令集)是软件程序与底层硬件沟通的桥梁,处理器通过对指令的译码和执行以达到完成各种运算和控制的目的。目前,在设计处理器指令体系结构时,首先要考虑的就是面向通用计算的指令设计,即将各种通用应用中软件代码最常用的功能设计成指令,这些指令的集合也被称为基本指令集。仅采用这种方式设计处理器指令,会造成处理器在一些特殊应用领域的处理效率大打折扣。例如,在信息安全应用领域中,就会涉及到256比特的模加减、模乘等运算,这些运算仅用处理器的基本指令集实现效率非常低下。为增强处理器面向专门应用领域的性能,在计算机处理器指令体系结构设计中,除了设计基本指令集外,有时还要设计面对专用领域的扩展指令集。例如,各种面向媒体应用的扩展指令集,如Intel的MMX指令集和AMD的3D Now指令集。
[0003]在信息安全应用领域,各种协议和应用软件的核心都是各种加解密算法。如果仅采用处理器的基本指令集实现,会产生大量基础指令,存在指令空间占用过多、计算效率较低、时间长等问题。如果采用专用的加解密芯片作为协处理器进行加解密,这种方法虽然计算效率高,但是物理资源消耗大,空间面积占用多。另外,这种方式也存在不够灵活等弊端。因此,设计面向信息安全应用领域的扩展指令就是一件非常有意义的工作。一方面,通过软件完成各种加解密算法,可以保证最终开发出的产品的灵活性和可重构性;另一方面,通过面向安全应用的指令扩展,又可以保证最终开发出的产品的性价比。
[0004]在众多的计算机处理器指令体系结构中,RISC

V指令集是伯克利大学推出的一种全新的嵌入式处理器的指令集架构,它是完全开源的、标准的、能够支持各种应用的指令集,在规定了必要的基本指令集的同时,也预留了大量的指令编码空间用于用户自定义指令扩展,方便设计面对专用领域的扩展指令集。基于此,本专利技术公开了一种面向信息安全应用的RISC

V指令集扩展方法。

技术实现思路

[0005]基于上述现状,本专利技术提供了一种面向信息安全应用的RISC

V指令集扩展方法及其系统。
[0006]为解决上述技术问题,本专利技术采取如下技术方案:
[0007]一种面向信息安全应用的RISC

V指令集扩展方法,用于构建面向信息安全应用的RISC

V指令集,包括如下:
[0008]1)识别出加解密算法最经常性的操作,从而确定扩展指令的功能。
[0009]2)确定扩展指令的数据通路及其位宽。
[0010]3)根据RISC

V基本指令集的指令格式和指令集编码空间,确定扩展指令的具体格
式和二进制编码。
[0011]进一步,所述步骤1)中,扩展指令的功能为加载指令l256、存储指令s256、模加指令modadd、模减指令modsub和蒙哥马利模乘指令modmul。
[0012]进一步,所述步骤2)中,扩展指令的数据通路包括专用总线、扩展寄存器、专用存储器和专用计算部件,位宽为256比特。
[0013]所述的专用总线用于在扩展寄存器与专用存储器、扩展寄存器与专用计算部件之间进行数据读取或存储;所述的扩展寄存器包括4个256比特的寄存器;所述的专用计算部件是用来计算模加、模减和模乘运算。
[0014]进一步,所述步骤3)中,扩展指令的具体格式为:
[0015]l256 spr,offset(rs)
[0016]s256 spr,offset(rs)
[0017]modadd spr_d,spr_1,spr_2,spr_3
[0018]modsub spr_d,spr_1,spr_2,spr_3
[0019]modmul spr_d,spr_1,spr_2,spr_3
[0020]上面指令中,spr/spr_x代表扩展的扩展寄存器,rs代表RISC

V的已有的通用寄存器。
[0021]所述的扩展加载指令l256 spr,offset(rs)作用是从(rs)+offset的地址处读取256bit数据加载到spr寄存器中,用于RISC

V处理器从内存指定地址处读取256bit数据并保存在扩展寄存器内。
[0022]所述的扩展存储指令s256 spr,offset(rs)作用是将spr寄存器内的256bit数据存储到(rs)+offset的内存地址处,用于RISC

V处理器将扩展寄存器数据保存在内存指定地址处。
[0023]所述的扩展模加指令modadd spr_d,spr_1,spr_2,spr_3作用是实现spr_d=(spr_1+spr_2)mod spr_3,即从扩展寄存器spr_1、spr_2取出源数据,从spr_3中取出模数,执行加法和求模后将结果写回到spr_d内。
[0024]所述的扩展模减指令modsub spr_d,spr_1,spr_2,spr_3作用是实现spr_d=(spr_1

spr_2)mod spr_3,即从扩展寄存器spr_1、spr_2取出源数据,从spr_3中取出模数,执行减法和求模后将结果写回到spr_d内。
[0025]所述的扩展蒙哥马利模乘指令modmul spr_d,spr_1,spr_2,spr_3作用是实现spr_d=(spr_1*spr_2*2

256
)mod spr_3,即从扩展寄存器spr_1、spr_2取出源数据,从spr_3中取出模数,执行乘法和求模后将结果写回到spr_d内。
[0026]进一步,所述步骤3)中,扩展指令的具体编码如下:
[0027]l256采用RISC

V指令集中I型指令格式,具体编码为
[0028][0029]此处,imm、rs和spr分别用于编码offset、通用寄存器和扩展寄存器。
[0030]s256采用RISC

V指令集中S型指令格式,具体编码为
[0031][0032]此处,imm、rs和spr分别用于编码offset、通用寄存器和扩展寄存器。
[0033]modadd、modsub、modmul采用自定义指令集格式,具体编码为
[0034][0035]此处,spr_x用于扩展寄存器。
[0036]以加速经常性事件为原则,本专利技术扩展了256bit加载、存储、模加、模减、蒙哥马利模乘5条指令。以单周期处理器实现蒙哥马利模乘运算为例,采用本专利技术技术方案,执行指令条数由854变成了7,指令占用空间减少了99%。执行时钟周期数由85本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向信息安全应用的RISC

V指令集扩展方法,其特征是包括如下步骤:1)识别出加解密算法最经常性的操作,确定扩展指令的功能;2)确定扩展指令的数据通路及其位宽;3)根据RISC

V指令集的指令格式和指令集编码空间,确定扩展指令的格式和二进制编码。2.如权利要求1所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,步骤1)中,扩展指令的功能为加载指令l256、存储指令s256、模加指令modadd、模减指令modsub和蒙哥马利模乘指令modmul。3.如权利要求1所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,步骤2)中,扩展指令的数据通路包括专用总线、扩展寄存器、专用存储器和专用计算部件,位宽为256比特。4.如权利要求3所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,所述的专用总线用于在扩展寄存器与专用存储器、扩展寄存器与专用计算部件之间进行数据读取或存储。5.如权利要求3所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,所述的扩展寄存器包括4个256比特的寄存器。6.如权利要求3所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,所述的专用计算部件用于计算模加、模减和模乘运算。7.如权利要求1所述一种面向信息安全应用的RISC

V指令集扩展方法,其特征是,步骤3)中,扩展指令的具体格式为:l256 spr,offset(rs)s256 spr,offset(rs)modadd spr_d,spr_1,spr_2,spr_3modsub spr_d,spr_1,spr_2,spr_3modmul spr_d,spr_1,spr_2,spr_3上述指令中,spr、spr_x代表扩展的扩展寄存器,rs代表RISC

V已有的通用寄存器;扩展加载指令l256 spr,offset(rs)作用是从(rs)+offset的地址处读取256bit数据加载到spr寄存器中,用于RISC

V处理器从内存指定地址处读取256bit数据并保存在扩展寄存器内;扩展存储指令s256 spr,offse...

【专利技术属性】
技术研发人员:崔飞翔王明阳姚英彪刘涛苏熙杰徐欣吴伟梁军学李建辉
申请(专利权)人:中国人民解放军九三二一六部队
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1