【技术实现步骤摘要】
跳转链接指令的实现方法、系统、计算机设备和存储介质
本申请涉及大数据领域,特别是涉及一种跳转链接指令的实现方法、系统、计算机设备和存储介质。
技术介绍
处理器体系结构中通常都会定义跳转链接指令,比如开源处理器体系结构RISC-V中的JAL(JumpandLink)指令,这条指令的功能是将链接地址,也即JAL的下一条指令的地址保存在目的寄存器中,然后跳转到分支目标地址处。在设计乱序超标量处理器时,可以在分支单元同时完成跳转链接指令的链接地址计算保存和分支跳转这两个功能,但是这种方式需要分支单元实现两个计算模块,一个完成链接地址的计算,一个完成分支目标地址的计算,还需要设置一条结果写总线写回链接地址,导致整数寄存器文件写端口增加一个,整数数据旁路网络中也多了一条旁路来源,这都会令处理器面积开销增大。而实际上分支指令大部分是不具有链接功能的,不需要计算链接地址并写入目的寄存器,在分支单元增加一个计算模块并设置一条结果写总线不利于实现性能、面积、功耗更优的设计。
技术实现思路
基于此,有必要针对上述技术问 ...
【技术保护点】
1.一种跳转链接指令的实现方法,其特征在于,包括以下步骤:/n取出跳转链接指令,对所述跳转链接指令进行译码和重命名;/n将所述跳转链接指令分解成两个操作:第一个操作完成链接地址的计算并将结果写入目的寄存器,第一个操作分派到整数计算单元;第二个操作完成分支目标地址的计算并进行跳转,并将第二个操作分派到分支单元;/n在所述整数计算单元完成第一个操作的执行,在所述分支单元完成第二个操作的执行;/n检查两个操作的执行结果,并提交执行完毕的所述跳转链接指令。/n
【技术特征摘要】
1.一种跳转链接指令的实现方法,其特征在于,包括以下步骤:
取出跳转链接指令,对所述跳转链接指令进行译码和重命名;
将所述跳转链接指令分解成两个操作:第一个操作完成链接地址的计算并将结果写入目的寄存器,第一个操作分派到整数计算单元;第二个操作完成分支目标地址的计算并进行跳转,并将第二个操作分派到分支单元;
在所述整数计算单元完成第一个操作的执行,在所述分支单元完成第二个操作的执行;
检查两个操作的执行结果,并提交执行完毕的所述跳转链接指令。
2.根据权利要求1所述的跳转链接指令的实现方法,其特征在于,所述将所述跳转链接指令分解成两个操作:第一个操作完成链接地址的计算并将结果写入目的寄存器,第一个操作被分派到整数计算单元;第二个操作完成分支目标地址的计算并进行跳转,第二个操作被分派到分支单元,包括:
第一个操作包括有一个源操作数PC和一个隐含的立即数操作数,还包括一个目的操作数;
第二个操作有两个源操作数,一个是源操作数PC,另一个是立即数操作数;
根据乱序超标量处理器中用于实现指令顺序提交的结构,将分派到整数计算单元和分支单元的两个操作在再定序缓冲中分派同一顺序项;
在所述再定序缓冲中设置未完成操作指令字段并进行命名。
3.根据权利要求1所述的跳转链接指令的实现方法,其特征在于,所述在所述整数计算单元完成第一个操作的执行,在所述分支单元完成第二个操作的执行,包括:
判断要执行的操作的类型,根据判断结果确定不同的操作;
当判断结果需要在所述整数计算单元进行操作时,计算所述链接地址并将结果写入目的寄存器;
当判断结果需要在所述分支单元进行操作时,计算分支目标地址并完成跳转。
4.根据权利要求1所述的跳转链接指令的实现方法,其特征在于,所述检查所述操作的执行结果,并提交执行完毕的所述跳转链接指令,包括:
在所述整数计算单元和所述分支单元分别完成一次计算后,将再定序缓冲中对应项的未完成操作指令字段进行减1;
在所述整数计算单元和所述分支单元同时完成一次计算后,在再定序缓冲中对应项的未完成操作指令字段进行减2;
判断所述跳转链接指令在所述再定序缓冲中对应项的未完成操作指令字段的值是否为0,进行确定提交跳转链接指令。
5.一种跳转链接指令的实现系统,其特征在于,包括:
指令初始化模块,用于取出跳转链接指令,对所述跳转...
【专利技术属性】
技术研发人员:施军,叶晨,
申请(专利权)人:超验信息科技长沙有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。