【技术实现步骤摘要】
一种指令集扩展方法、装置、电子设备及存储介质
[0001]本专利技术涉及基于RISC
‑
V架构的处理器
,尤其是涉及一种指令集扩展方法、装置、电子设备及存储介质。
技术介绍
[0002]指令集是存储在处理器内部,连接硬件与软件的接口。处理器通过从内存中读取指令、进行译码和执行操作,来完成复杂的运算任务。每个处理器都具有特定的指令集与其对应,指令集的设计直接影响处理器的性能。处理器设计中除了设定支持基本运算和控制的指令集外,还需要针对特定的应用领域设计扩展指令集。特定应用领域的指令集扩展可以化繁为简,使处理器直接根据译码信息执行,避免通过基本指令集产生复杂的运算流程,造成资源浪费。
[0003]RISC
‑
V指令集是基于精简指令集(RISC)基础上开发的开源指令集架构(ISA),是个完全开放的、标准的、能够支持各种应用的全新指令集。RISC
‑
V指令集包含一个指令数很少的基础指令集和一系列可选的指令集。基础指令集为整数指令集RV32I与RV64I,分别提供32位与64位的地址空间;其他的可选指令集包括乘除运算(M)、原子操作(A)、浮点运算(F)、压缩指令(C)等。RISC
‑
V 架构在设计之初就留出了足够的可编码空间来支持第三方指令集扩展,用户可以根据特定的需求设计自定义扩展指令,通过灵活选择不同的模块组合或者进行扩展,构建适用于任何一个领域的微处理器,比如高精度计算、低功耗嵌入式等。
[0004]目前对于有三角函数、双曲函 ...
【技术保护点】
【技术特征摘要】
1.一种指令集扩展方法,其特征在于,包括以下步骤:选择RISC
‑
V指令集的指令类型中的R
‑
type作为扩展指令的指令类型;根据R
‑
type指令的编码格式对三角函数和双曲函数进行扩展指令编码;根据所述扩展指令编码,在编译器中添加三角函数和双曲函数扩展指令的宏定义并更新opcodes表,其中,宏定义是对扩展指令的各个位进行定义,opcodes表用于记录扩展指令的匹配码和掩码,匹配码记录扩展指令的寄存器和立即数以外的信息;掩码记录指令为R
‑
type、I
‑
type、S
‑
type、B
‑
type、U
‑
type 或J
‑
type的指令;针对三角函数和双曲函数扩展指令对处理器核中的译码模块和执行模块进行电路扩展,其中,所述译码模块用于对三角函数和双曲函数扩展指令进行译码,并生成控制信号送入指令执行模块,所述执行模块,用于进行三角函数和双曲函数的计算。2.根据权利要求1所述的指令集扩展方法,其特征在于,所述扩展指令编码包含rs1、rs2、rd、funct7、funct3和opcode信息,其中,rs1用于记录源操作数1的寄存器地址,rs2用于记录源操作数2的寄存器地址,三角函数和双曲函数的输入角度值通过rs1寄存器存储的值与rs2寄存器存储的值相加得到;rd用于记录扩展指令执行完成后数据写回的目的寄存器地址;funct7用于指定R
‑
type中的这一类指令为三角函数和双曲函数扩展指令;funct3用于区别不同三角函数和双曲函数扩展指令。3.根据权利要求2所述的指令集扩展方法,其特征在于,所述译码模块用于对三角函数和双曲函数扩展指令进行译码,具体包括:所述译码模块对三角函数和双曲函数扩展指令的opcode、rs1、rs2、rd、funct3和funct7信息进行译码,其中,opcode用于确定扩展指令的指令类型,三角函数和双曲函数扩展指令的指令类型为R
‑
type;rs1和rs2用于记录源操作数的寄存器地址,译码后从寄存器堆中取出源操作数;rd用于记录目的寄存器的地址,在扩展指令结束后,将数据写回该地址对应的寄存器中;funct7用于指定R
‑
type中的这一类指令为三角函数和双曲函数扩展指令;funct3用于区别不同三角函数和双曲函数扩展指令。4.根据权利要求3所述的指令集扩展方法,其特征在于,所述方法还包括:在译码完成后,将生成的三角函数和双曲函数扩展指令的控制信号送入所述执行模块的三角函数和双曲函数计算装置中,进行三角函数和双曲函数的计算并输出计算结果。5.一种指令集扩展装置,其特征在于,包括:指令选择单元,用于选择RISC
‑
V指令集的指令类型中的R
‑
type作为扩展指令的指令类型;指令编码单元,用于根据R
‑
type指令的编码格式对三角函数...
【专利技术属性】
技术研发人员:郑添,梁菲,蔡刚,黄志洪,
申请(专利权)人:中科亿海微电子科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。