[发明专利]一种用于实现自增指令的方法及系统有效
申请号: | 202110716307.1 | 申请日: | 2021-06-28 |
公开(公告)号: | CN113254079B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 廖述京;陈钦树;智扬;刘玉佳 | 申请(专利权)人: | 广东省新一代通信与网络创新研究院 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京商专润文专利代理事务所(普通合伙) 11317 | 代理人: | 熊雯 |
地址: | 510656 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 指令 方法 系统 | ||
本发明公开了一种用于实现自增指令的方法,包括:利用写入自增指令的逻辑寄存器映射关联的物理寄存器作为自增指令的基地址寄存器;构建自增指令基地址寄存器的专用忙表,至少包括所有物理寄存器和所有物理寄存器对应的工作状态信息,所有物理寄存器添加有ID属性;根据接收的自增指令查询自增指令基地址寄存器的专用忙表,更改物理寄存器对应的工作状态信息;通过更改后的自增指令基地址寄存器的专用忙表和预置的非自增指令寄存器的忙表确定自增指令的基地址寄存器的最终工作状态信息;根据自增指令的基地址寄存器的最终工作状态信息判断是否唤醒自增指令的发射状态;通过发射槽接收自增指令的发射状态,并依次发射。由此提高了程序的执行性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于实现自增指令的方法及系统。
背景技术
根据指令架构的不同,指令的种类和数量也不同,例如arm、x86、RISCV等指令集架构的标准指令集中就没有自增指令。为了提高处理器运行C语言中i++之类含数值自增循环的运行效率,通常可用一条自定义指令即自增指令完成。效率提升的原理是,原本需要有两条指令完成的任务,现在只需要一条指令就可以完成,剩下的一条指令可以用作一次流水线的取指解码执行等操作。如果程序中有多条含有数值自增的循环指令,那么这种程序执行效率上的提升就更为明显。可见,通过增加自定义的的指令即自增指令,可以很大程度上增强处理器的性能。例如load自增指令和store自增指令,就将存储指令和计算指令融合成一条指令,从而大幅增强存储性能。
但是,在实现自增指令时需要利用寄存器完成,具体实现为从一个逻辑寄存器rs1中取值,经过指令计算得到结果后,又将结果值重新写到逻辑寄存器rs1中,此时rs1即是源寄存器,又是目的寄存器。由于,逻辑寄存器不能随意更改名字,否则会打乱原始的数据依赖关系,导致错误的结果。为了既保证原先的数据依赖关系,又能将没有数据依赖关系的寄存器更改名字,这就需要用到寄存器重命名,实现寄存器重命名的方式可以通过额外增加新的目的寄存器,用于存放自增指令自增后的结果值。还可以通过不额外增加新的目的物理寄存器,利用自增指令的逻辑寄存器rs1使用最近映射得到的物理寄存器prsM,即从物理寄存器prsM中取出数据进行计算,得到的结果值又重新回写到prsM。这种方式的重命名映射策略,自增指令会对同一个物理寄存器进行读写,即自增指令的基地址寄存器同时是源寄存器和目的寄存器时,但是,这就给在发射指令阶段时,对自增指令的唤醒、发射顺序调度带来麻烦,使得自增指令的发射控制错乱。
发明内容
本发明所要解决的技术问题在于,提供一种用于实现自增指令的方法,能够通过该自增指令使得程序运行效率更高、指令更精简、整体运行时间更短。
为了解决上述技术问题,本发明第一方面公开了一种用于实现自增指令的方法,所述方法包括:利用写入自增指令的逻辑寄存器映射关联的物理寄存器作为所述自增指令的基地址寄存器;构建自增指令基地址寄存器的专用忙表,所述自增指令基地址寄存器的专用忙表至少包括所有物理寄存器和所述所有物理寄存器对应的工作状态信息,其中,所述所有物理寄存器添加有ID属性;根据接收的自增指令查询所述自增指令基地址寄存器的专用忙表,更改所述物理寄存器对应的工作状态信息;通过更改后的所述自增指令基地址寄存器的专用忙表和预置的非自增指令寄存器的忙表确定所述自增指令的基地址寄存器的最终工作状态信息;根据所述自增指令的基地址寄存器的最终工作状态信息判断是否唤醒所述自增指令的发射状态;通过发射槽接收所述自增指令的发射状态,并依次发射所述自增指令。
在一些实施方式中,工作状态信息包括占用状态和非占用状态,所述根据接收的自增指令查询所述自增指令基地址寄存器的专用忙表,更改所述物理寄存器对应的工作状态信息,包括:接收缓存指令,对所述缓存指令进行解析生成多个缓存信号;判断所述缓存信号是否包括自增指令;若所述缓存信号是自增指令,则更改自增指令基地址寄存器的专用忙表中,所述自增指令对应的基地址寄存器的工作状态信息为占用状态;若所述缓存信号不是自增指令,则保持自增指令基地址寄存器的专用忙表中,所述自增指令对应的基地址寄存器的工作状态信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东省新一代通信与网络创新研究院,未经广东省新一代通信与网络创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110716307.1/2.html,转载请声明来源钻瓜专利网。