一种指令融合的实现方法及装置制造方法及图纸

技术编号:24888302 阅读:82 留言:0更新日期:2020-07-14 18:15
本发明专利技术涉及微处理器设计技术,具体涉及一种指令融合的实现方法及装置,本发明专利技术方法在译码阶段将前缀指令和与其能融合的下一条指令合并成一条融合指令,前缀指令的源操作数变成融合指令的一个源操作数,替代隐式的源操作数,在提交阶段融合指令如果正常提交,提交地址前进两条指令,融合指令如果发生异常,在前缀指令处报告异常,前缀指令不更新体系结构状态,异常返回地址为前缀指令的地址。本发明专利技术能够有效实现指令融合,且设计简单,能够保证实现精确异常。

【技术实现步骤摘要】
一种指令融合的实现方法及装置
本专利技术涉及微处理器设计技术,具体涉及一种指令融合的实现方法及装置。
技术介绍
指令长度固定的处理器体系结构在扩充新的指令时,由于指令条数增多,需要更多的编码位作为操作码来表示指令功能,去除操作码后,指令编码中剩余的位能够表示的操作数个数有限,从而导致可能无法正常编码某些指令。比如,正常情况下,一条浮点乘加指令需要3个源操作数和1个目的操作数,我们用FPMARd,Rs1,Rs2,Rs3表示,该指令完成的功能是Rd=(Rs1xRs2)+Rs3。体系结构通常都定义了32个软件可见的浮点寄存器,一个浮点寄存器操作数需要5位表示,3个源操作数和1个目的操作数就需要20位指令编码。无法编码4个浮点寄存器类型的操作数时,体系结构使用累加乘指令,这样的指令只显式编码2个源操作数和1个目的操作数,我们用FPFMARd,RS1,Rs2表示,目的操作数Rd隐式的作为一个源操作数,完成的功能为Rd=(Rs1xRs2)+Rd,累加乘指令也完成了浮点乘加功能,但是属于破坏性指令,将乘加操作中的加数内容破坏了。假设要完成正常浮点乘加指令的功本文档来自技高网...

【技术保护点】
1.一种指令融合的实现方法,其特征在于实施步骤包括:/n1)在取指阶段,取出指令;/n2)在译码阶段,判断是否有满足融合条件的前缀指令和被前缀指令连续出现并同拍被译码,如果有,那么将前缀指令融合到被前缀指令上,形成一条指令,将该条指令标记为融合指令,前缀指令的源操作数变成融合指令的一个源操作数,替代隐式的源操作数;如果没有,则对指令进行正常译码;/n3)对指令进行重命名、分派和执行,如果指令是融合指令则将融合指令附加标记位,并将附加的标记位随流水线逐级传递;/n4)在提交阶段,判断附加标记位的融合指令是否发生异常,如果融合指令没有发生异常,那么提交融合指令并将提交地址前进两条指令,如果融合指令...

【技术特征摘要】
1.一种指令融合的实现方法,其特征在于实施步骤包括:
1)在取指阶段,取出指令;
2)在译码阶段,判断是否有满足融合条件的前缀指令和被前缀指令连续出现并同拍被译码,如果有,那么将前缀指令融合到被前缀指令上,形成一条指令,将该条指令标记为融合指令,前缀指令的源操作数变成融合指令的一个源操作数,替代隐式的源操作数;如果没有,则对指令进行正常译码;
3)对指令进行重命名、分派和执行,如果指令是融合指令则将融合指令附加标记位,并将附加的标记位随流水线逐级传递;
4)在提交阶段,判断附加标记位的融合指令是否发生异常,如果融合指令没有发生异常,那么提交融合指令并将提交地址前进两条指令,如果融合指令发生异常,融合指令不能提交,前缀指令和被前缀指令都没有更新体系结构状态,当前的提交地址停留在前缀指令处,所以在前缀指令处报告异常,异常返回地址为前缀指令的地址。


2.根据权利要求1所述的指令融合的实现方法,其特征在于,步骤2)的详细步骤包括:
2.1)判断同时译码的指令中是否包含前缀指令,如果包含则跳转执行步骤2.2),否则跳转执行步骤2.6);
2.2)判断该前缀指令是否是最后一条有效指令,如果不是则跳转执行步骤2.3),否则跳转执行步骤2.6);
2.3)判断该前缀指令的下一条指令是否满足融合条件、能够和前缀指令融合,如果满足融合条件则跳转执行步骤2.4),否则跳转执行步骤2.6);...

【专利技术属性】
技术研发人员:孙彩霞郑重隋兵才邓全郭辉郭维雷国庆王俊辉黄立波倪晓强王永文
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1