[发明专利]一种条件跳转指令的处理方法、系统及相关装置在审
申请号: | 202110875861.4 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113760366A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 王贤坤;周玉龙;邹晓峰;张贞雷;于锦辉 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 高勇 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 条件 跳转 指令 处理 方法 系统 相关 装置 | ||
本申请提供一种条件跳转指令的处理方法,包括:确定取指地址,并根据所述取指地址从指令缓存中取出目标指令;解析所述目标指令,得到指令类型;若所述指令类型为条件跳转指令,根据预设跳转规则对所述条件跳转指令进行跳转;在所述条件跳转指令按照所述预设跳转规则正常跳转时,将对应的指令信息发送至第一缓存;在所述条件跳转指令未按照所述预设跳转规则异常跳转时,将对应的指令信息发送至第二缓存。本申请能够解决动态预测方法容易受算法、资源、编译器和应用适配影响的问题,提高处理器的指令执行效率。本申请还提供一种条件跳转指令的处理系统、计算机可读存储介质和电子设备,具有上述有益效果。
技术领域
本申请涉及电子设备通信领域,特别涉及一种条件跳转指令的处理方法、系统及相关装置。
背景技术
RISC-V(Reduced Instruction Set Computing-Five,第五代精简指令集),是在指令不断发展和成熟的基础上建立的全新指令集,具备了后发优势,结构清晰而简单,模块化的设计可根据需要随意搭配,灵活方便,可移植性强,具备完整的工具链。然而,大多数指令设计还是遵循传统的指令流水线,对于分支指令的处理采用动态预测的BHT、BTB模式。指令预测失败时,需要刷新流水线,重新取指,严重影响处理器效率。
发明内容
本申请的目的是提供一种条件跳转指令的处理方法、处理系统、计算机可读存储介质和电子设备,能够维持指令流水线,提高处理器的处理效率。
为解决上述技术问题,本申请提供一种条件跳转指令的处理方法,具体技术方案如下:
确定取指地址,并根据所述取指地址从指令缓存中取出目标指令;
解析所述目标指令,得到指令类型;
若所述指令类型为条件跳转指令,根据预设跳转规则对所述条件跳转指令进行跳转;
在所述条件跳转指令按照所述预设跳转规则正常跳转时,将对应的指令信息发送至第一缓存;
在所述条件跳转指令未按照所述预设跳转规则异常跳转时,将对应的指令信息发送至第二缓存。
可选的,确定取指地址包括:
以复位地址为首地址,长度为当前PC地址加预设值。
可选的,根据所述取指地址从指令缓存中取出目标指令之后,还包括:
对所述目标指令执行对齐处理,并解析得到所述目标指令的完整指令。
可选的,根据预设跳转规则对所述条件跳转指令进行跳转之后,还包括:
输出所述条件跳转指令的预测地址、非预测地址和分支标记;
则所述将对应的指令信息发送至第二缓存包括:
按照所述非预测地址和所述分支标记将对应的指令信息发送至第二缓存。
可选的,所述第二缓存为FIFO缓存,并包含至少一个位宽的拓宽数据位;所述拓宽数据位作为数据使能位,用于区分前后两次有条件调整转指令对应的信息。
可选的,将对应的指令信息发送至第二缓存之后,还包括:
根据所述分支标记和所述非预测地址读取所述条件跳转指令至预设缓存,并反馈所述条件跳转指令对应的取指地址,以便重新处理所述条件跳转指令。
可选的,反馈所述条件跳转指令对应的取指地址之后,还包括:
判断所述预设跳转规则是否设置错误;
若否,继续流水线执行,刷新指令执行记分板的缓存,清除预取指令,并获取下一组预取指令;
若是,切换下一条发射指令为指令执行记分板的预取指令,并继续流水线执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110875861.4/2.html,转载请声明来源钻瓜专利网。