System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及处理器,尤其涉及一种寄存器重命名方法、装置、设备及存储介质。
技术介绍
1、寄存器重命名技术在高性能处理器中被广泛应用于后端流水线,以提高指令并行的数目。寄存器重命名技术是指当某个逻辑寄存器作为一条指令的目的寄存器时,由于该寄存器和前序指令存在相关性,因此将该寄存器映射到一个空闲物理寄存器的过程。图1a是一种寄存器重命名的场景示意图,其中,add指令和前序mul指令存在写后写相关(writeafter write),div指令和前序mul指令存在写后读相关(read after write),add和前序div指令存在读后写相关(write after read)。在这种场景下,需要获取空闲的物理寄存器(如图1a中的p0、p1和p2)来完成寄存器重命名过程。
2、现有技术中,在对设备的空闲寄存器进行记录时,通常是采用先进先出(first infirst out,fifo)机制或者比较大的表格,记录目前所有的空闲物理寄存器。图1b是现有技术中的一种空闲寄存器记录方法示意图,其中,p0、p1、p2、p3……pn-3、pn-2、pn-1为空闲寄存器。在采用fifo机制实现空闲记录表(也即freelist)时,初始两个指针指向p0,fifo满信号拉高,每次重命名跳变rd_ptr_r指针以此获取相应数量的空闲物理寄存器,在指令退休时,跳变wr_ptr_r指针,并将相应的空闲物理寄存器释放写入freelist。
3、但是,现有的空闲寄存器记录方法中,freelist中需要记录每个寄存器的使用状态,由此导
技术实现思路
1、本专利技术提供了一种寄存器重命名方法、装置、设备及存储介质,可以减少寄存器重命名过程中空闲列表占用的资源,降低空闲列表所需的硬件开销。
2、根据本专利技术的一方面,提供了一种寄存器重命名方法,包括:
3、检测到当前指令执行周期中存在待重命名的目标指令时,根据所述目标指令的数量,确定当前指令执行周期对应的目标寄存器数量;
4、根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器;
5、其中,所述空闲列表中包括多个顺序排列的备选空闲寄存器;
6、根据所述目标空闲寄存器完成对目标指令的重命名,并根据所述目标寄存器数量,对计数器的当前数据值进行更新。
7、可选的,根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器,包括:
8、获取空闲列表中备选空闲寄存器对应的总数量;
9、判断所述总数量是否大于或等于目标寄存器数量;
10、若是,则将预设指示信号的电平调整为高电平,并根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器。
11、可选的,在判断所述总数量是否大于或等于目标寄存器数量之后,还包括:
12、若否,则将预设指示信号的电平调整为低电平,以指示当前指令执行周期对应的寄存器重命名过程执行中断。
13、可选的,在根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器之后,还包括:
14、将空闲列表中备选空闲寄存器对应的总数量,与所述目标寄存器数量进行相减,得到更新后的总数量。
15、可选的,在根据所述目标空闲寄存器完成对目标指令的重命名,并根据所述目标寄存器数量,对计数器的当前数据值进行更新之后,还包括:
16、检测到目标指令处于退休状态时,在所述空闲列表中释放所述目标空闲寄存器。
17、可选的,在所述空闲列表中释放所述目标空闲寄存器之前,还包括:
18、将预设退休信号的电平调整为高电平;
19、在所述空闲列表中释放所述目标空闲寄存器之后,还包括:
20、将所述空闲列表中备选空闲寄存器对应的总数量,与所述目标寄存器数量进行相加,得到更新后的总数量。
21、根据本专利技术的另一方面,提供了一种寄存器重命名装置,所述装置包括:
22、数量确定模块,用于检测到当前指令执行周期中存在待重命名的目标指令时,根据所述目标指令的数量,确定当前指令执行周期对应的目标寄存器数量;
23、寄存器确定模块,用于根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器;
24、其中,所述空闲列表中包括多个顺序排列的备选空闲寄存器;
25、重命名模块,用于根据所述目标空闲寄存器完成对目标指令的重命名,并根据所述目标寄存器数量,对计数器的当前数据值进行更新。
26、可选的,所述寄存器确定模块包括:
27、数量获取单元,用于获取空闲列表中备选空闲寄存器对应的总数量;
28、数量判断单元,用于判断所述总数量是否大于或等于目标寄存器数量;若是,则将预设指示信号的电平调整为高电平,并根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器。
29、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
30、至少一个处理器;以及
31、与所述至少一个处理器通信连接的存储器;其中,
32、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的寄存器重命名方法。
33、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的寄存器重命名方法。
34、本专利技术实施例提供的技术方案,通过检测到当前指令执行周期中存在待重命名的目标指令时,根据目标指令的数量,确定当前指令执行周期对应的目标寄存器数量,根据目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与目标寄存器数量匹配的目标空闲寄存器,根据目标空闲寄存器完成对目标指令的重命名,并根据目标寄存器数量,对计数器的当前数据值进行更新的技术手段,可以减少寄存器重命名过程中空闲列表占用的资源,降低空闲列表所需的硬件开销。
35、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种寄存器重命名方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器,包括:
3.根据权利要求2所述的方法,其特征在于,在判断所述总数量是否大于或等于目标寄存器数量之后,还包括:
4.根据权利要求1所述的方法,其特征在于,在根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器之后,还包括:
5.根据权利要求1所述的方法,其特征在于,在根据所述目标空闲寄存器完成对目标指令的重命名,并根据所述目标寄存器数量,对计数器的当前数据值进行更新之后,还包括:
6.根据权利要求5所述的方法,其特征在于,在所述空闲列表中释放所述目标空闲寄存器之前,还包括:
7.一种寄存器重命名装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述寄存器确定模块包括:
9.一种电子设备
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的寄存器重命名方法。
...【技术特征摘要】
1.一种寄存器重命名方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器,包括:
3.根据权利要求2所述的方法,其特征在于,在判断所述总数量是否大于或等于目标寄存器数量之后,还包括:
4.根据权利要求1所述的方法,其特征在于,在根据所述目标寄存器数量,以及计数器对应的当前数据值,在预设的空闲列表中依次确定与所述目标寄存器数量匹配的目标空闲寄存器之后,还包括:
5.根据权利要求1所述的方法,其特征在于,在根据所...
【专利技术属性】
技术研发人员:王力,龚永鑫,赵妍妮,
申请(专利权)人:宸芯科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。