物理寄存器的管理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:38598189 阅读:9 留言:0更新日期:2023-08-26 23:33
本申请提供了一种物理寄存器的管理方法、装置、电子设备及可读存储介质,包括:为第一指令分配对应的目标逻辑寄存器,并基于为第一指令分配一级物理寄存器;在目标逻辑寄存器被第二指令请求分配的情况下,为第二指令分配二级物理寄存器;将依赖于一级物理寄存器的历史指令,修改为依赖第二物理寄存器,以及将第一指令的执行结果写入二级物理寄存器,将第二指令的执行结果写入一级物理寄存器;在第一指令和第二指令满足预设条件的情况下,释放一级物理寄存器中的数据或二级物理寄存器中的数据。本申请从整体上降低了物理寄存器的数量,节省了物理寄存器的电路占用面积和功耗。物理寄存器的电路占用面积和功耗。物理寄存器的电路占用面积和功耗。

【技术实现步骤摘要】
物理寄存器的管理方法、装置、电子设备及可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种物理寄存器的管理方法、装置、电子设备及可读存储介质。

技术介绍

[0002]中央处理器(CPU,Central Processing Unit)执行程序的粒度为指令,指令中包含指令所需的逻辑寄存器,CPU执行指令时,会针对指令的逻辑寄存器分配一个物理寄存器进行使用。
[0003]目前,物理寄存器的生命周期,是从为指令分配物理寄存器开始,经历指令执行,执行结果写回,最后在指令完成提交阶段之后结束。指令的执行结果在完成执行阶段就已经知晓了,但是执行结果仍然需要占据物理寄存器,直到提交阶段之后才能释放物理寄存器。如果物理寄存器的数量不足,则指令就会在分配物理寄存器的阶段一直等待空闲物理寄存器的产生,这种阻塞降低了CPU的整体执行效率。为了提升提高CPU的整体执行效率,目前可以通过增加物理寄存器的数量来解决问题。
[0004]从而,目前的方案中,物理寄存器数量的提升,会导致电路面积以及功耗的增大,从而提高了CPU的制造成本。

技术实现思路

[0005]本申请实施例提供一种物理寄存器的管理方法及装置,以解决相关技术中物理寄存器数量的提升,会导致电路面积以及功耗的增大,从而提高了CPU的制造成本的问题。
[0006]第一方面,本申请实施例提供了一种物理寄存器的管理方法,所述方法包括:为第一指令分配对应的目标逻辑寄存器,并基于所述目标逻辑寄存器为所述第一指令分配一级物理寄存器;在所述目标逻辑寄存器被第二指令请求分配的情况下,基于所述目标逻辑寄存器为所述第二指令分配二级物理寄存器;将依赖于所述一级物理寄存器的历史指令,修改为依赖所述第二物理寄存器,以及将第一指令的执行结果写入所述二级物理寄存器,将所述第二指令的执行结果写入一级物理寄存器;在所述第一指令和所述第二指令满足预设条件的情况下,释放所述一级物理寄存器中的数据或所述二级物理寄存器中的数据。
[0007]第二方面,本申请实施例提供了一种物理寄存器的管理装置,所述装置包括:第一分配模块,用于为第一指令分配对应的目标逻辑寄存器,并基于所述目标逻辑寄存器为所述第一指令分配一级物理寄存器;第二分配模块,用于在所述目标逻辑寄存器被第二指令请求分配的情况下,基于所述目标逻辑寄存器为所述第二指令分配二级物理寄存器;修改模块,用于将依赖于所述一级物理寄存器的历史指令,修改为依赖所述第二
物理寄存器,以及将第一指令的执行结果写入所述二级物理寄存器,将所述第二指令的执行结果写入一级物理寄存器;处理模块,用于在所述第一指令和所述第二指令满足预设条件的情况下,释放所述一级物理寄存器中的数据或所述二级物理寄存器中的数据。
[0008]第三方面,本申请实施例还提供了一种电子设备,包括处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
[0009]第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
[0010]本申请实施例在重新声明阶段,为第二指令分配二级物理寄存器,将第一指令和第二指令之间的历史指令中,原先依赖于第一指令的历史指令,修改为依赖第二物理寄存器,并且将第一指令的执行结果写入二级物理寄存器,将第二指令的执行结果写入一级物理寄存器,使得第二指令后续将使用一级物理寄存器,第一指令的执行结果将在二级物理寄存器中存储,达到了重新声明时先后不同的指令对一级物理寄存器的高效利用,更少数量的一级物理寄存器即可满足指令的执行需求。并且后续在达到一定条件时,可以快速释放二级物理寄存器中的数据,达到了二级物理寄存器的快速释放和循环利用,更少数量的二级物理寄存器即可满足指令的执行需求,因此,本申请实施例从整体上降低了物理寄存器的数量,节省了物理寄存器的电路占用面积和功耗。
[0011]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0012]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是本申请实施例提供的一种指令执行的生命周期示意图;图2是本申请实施例提供的一种物理寄存器的管理方法的步骤流程图;图3是本申请实施例提供的一种物理寄存器的管理方法的具体步骤流程图;图4是本申请实施例提供的一种物理寄存器的管理装置的框图;图5是本专利技术实施例提供的一种电子设备的框图;图6是本专利技术另一个实施例的另一种电子设备的框图。
具体实施方式
[0014]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
[0015]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
[0016]术语解释:逻辑寄存器:中央处理器(CPU)执行程序的粒度为指令,指令中使用逻辑寄存器的编号来索引数据。RISC

V(一种基于精简指令集(RISC,Reduced Instruction Set Computing)架构的指令集体系结构)扩展中具有32个通用的逻辑寄存器,因此该架构的逻辑寄存器的编号从0到31号。
[0017]物理寄存器:CPU为了提升执行的并发度,消除不必要的指令依赖,会为每个指令的逻辑寄存器分配一个物理寄存器。物理寄存器的数量远大于逻辑寄存器的数量。物理寄存器的读写口的数量较多,项数较多,因此物理寄存器会占据较大的面积和功耗。
[0018]重命名:为逻辑寄存器分配空闲的物理寄存器的过程。这个阶段会向一个专门维护物理寄存器的单元(一般称为空闲列表)发出请求,获得空闲的物理寄存器编号,写入到重命名表中,一个物理寄存器的生命本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种物理寄存器的管理方法,其特征在于,所述方法包括:为第一指令分配对应的目标逻辑寄存器,并基于所述目标逻辑寄存器为所述第一指令分配一级物理寄存器;在所述目标逻辑寄存器被第二指令请求分配的情况下,基于所述目标逻辑寄存器为所述第二指令分配二级物理寄存器;将依赖于所述一级物理寄存器的历史指令,修改为依赖所述第二物理寄存器,以及将第一指令的执行结果写入所述二级物理寄存器,将所述第二指令的执行结果写入一级物理寄存器;在所述第一指令和所述第二指令满足预设条件的情况下,释放所述一级物理寄存器中的数据或所述二级物理寄存器中的数据。2.根据权利要求1所述的物理寄存器的管理方法,其特征在于,所述在所述第一指令和所述第二指令满足预设条件的情况下,释放所述一级物理寄存器中的数据或所述二级物理寄存器中的数据,包括:判断所述第一指令和所述第二指令是否在分支指令的正确路径上;在确定所述第一指令和所述第二指令都在所述正确路径上的情况下,确定所述第一指令和所述第二指令满足所述预设条件,并释放所述一级物理寄存器中的数据或所述二级物理寄存器中的数据。3.根据权利要求2所述的物理寄存器的管理方法,其特征在于,所述在确定所述第一指令和所述第二指令都在所述正确路径上的情况下,确定所述第一指令和所述第二指令满足所述预设条件,并释放所述二级物理寄存器中的数据,包括:获取针对所述二级物理寄存器的引用计数值,所述引用计数值用于表征依赖于所述二级物理寄存器的第三指令的数量,所述第三指令是位于所述第一指令和所述第二指令之间的指令;在所述确定所述第一指令和所述第二指令都在所述正确路径上,且所述二级物理寄存器的引用计数值为0的情况下,释放所述二级物理寄存器中的数据。4.根据权利要求2所述的物理寄存器的管理方法,其特征在于,所述在确定所述第一指令和所述第二指令都在所述正确路径上的情况下,确定所述第一指令和所述第二指令满足所述预设条件,并释放所述二级物理寄存器中的数据,包括:在确定所述第一指令和所述第二指令都在所述正确路径上,且所述二级物理寄存器被后续的指令请求写入执行结果的情况下,释放所述二级物理寄存器中的数据。5.根据权利要求2

4任一项所述的物理寄存器的管理方法,其特征在于,所述方法还包括:获取重定序缓冲中的快速释放指针的位置,所述重定序缓冲用于记录分配了物理寄存器的指令的执行顺序,所述快速释放指针用于指示所述重定序缓冲中,处于分支指令的正确路径的终点上的指令;在所述重定序缓冲中,若所述第二指令处于所述快速释放指针指示的位置或所述指示的位置之前的位置,则确定所述第一指令和所述第二指令都在所述正确路径上。6.根据权利要求5所述的物理寄存器的管理方法,其特征在于,所述方法还包括:在所述快速释放指针在所述重定序缓冲中移动的过程中,若所述快速释放指针当前位
置的下一个指令为分支指令,则等待所述分支指令执行完成后,将所述快速释放指针移动至下一个未执行的分支指令或访存指令;在所述快速释放指针在所述重定序缓冲中移动的过程中,若所述快速释放指针当前位置的下一个指令为访存指令,则等待所述访存指令的检查结果获得后,将所述快速释放指针移动至下一个未执行的分支指令或访存指令。7.根据权利要求1所述的物理寄存器的管理方法,其特征在于,所述方法还包括:在所述第一指令和/或所述第二指令不满足预设条件的情况下,执行错误路径恢复操作。8.根据权利要求7所述的物理寄存器的管理方...

【专利技术属性】
技术研发人员:张紫飞张林隽王凯帆陈键唐丹包云岗
申请(专利权)人:北京开源芯片研究院
类型:发明
国别省市:

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

1