当前位置: 首页 > 专利查询>ARM有限公司专利>正文

使用寄存器重命名处理移动指令制造技术

技术编号:15894927 阅读:21 留言:0更新日期:2017-07-28 19:37
本公开涉及使用寄存器重命名处理移动指令。一种具有处理电路、寄存器重命名电路以及控制电路的装置,其中控制电路选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令。在第一技术中,寄存器重命名电路将移动的目的地逻辑寄存器映射到与源逻辑寄存器相同的物理寄存器。在第二技术中,处理电路将从对应于源逻辑寄存器的物理寄存器读取的数据值写入对应于目的地本地寄存器的不同物理寄存器。当移动指令指定的源逻辑寄存器与根据第一技术处理的较早移动指令指定的源逻辑寄存器和目的地逻辑寄存器中的一者相同且当前用于该寄存器的寄存器映射仍然是在处理较早移动指令时的映射时,第二技术被选择。

Using register renaming to process mobile instructions

The present disclosure relates to the use of register renaming to process mobile instructions. A processing circuit, register renaming circuit and a control circuit device, wherein the control circuit selects one of the first mobile technology and second mobile processing technology for processing mobile instructions specify the source and destination register logic logic register. In the first technique, the register renaming circuit maps the moving destination logical register to the same physical register as the source logic register. In the second technique, the processing circuit writes data values read from the physical registers corresponding to the source logic register to different physical registers corresponding to the destination local register. When the source registers and logic processing technology based on the first one of the earlier mobile directive specifies the source and destination register logic logical register in the same register for mapping the register and the current is still in the mapping process earlier when the mobile mobile command specified by the instruction, second selected technology.

【技术实现步骤摘要】
使用寄存器重命名处理移动指令
本技术涉及数据处理领域。
技术介绍
数据处理装置可支持寄存器重命名,其中由指令指定的逻辑寄存器被映射到硬件中设置的物理寄存器。例如,这可有利于通过消除写入相同逻辑寄存器的连续指令之间的依赖性来提高性能,其中它们之间的依赖性可通过将指令的目的地逻辑寄存器映射到不同的物理寄存器来消除。这在无序处理器中是特别有用的,因为使用寄存器重命名消除了指令之间的数据依赖的风险,增加了改变指令执行顺序的自由,以改善性能。
技术实现思路
至少一些示例提供了一种装置,包括:处理电路,该处理电路响应于指令而执行数据处理;寄存器重命名电路,该寄存器重命名电路将由指令指定的逻辑寄存器映射到硬件中设置的物理寄存器;控制电路,该控制电路选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令;其中:在第一移动处理技术中,响应于移动指令,寄存器重命名电路被配置为将目的地逻辑寄存器映射到与源逻辑寄存器相同的物理寄存器;在第二移动处理技术中,响应于移动指令,处理电路被配置为将从对应于所述源逻辑寄存器的物理寄存器读取的数据值写入对应于所述目的地逻辑寄存器的不同物理寄存器;以及该控制电路被配置为:当移动指令的源逻辑寄存器与根据第一移动处理技术处理的较早移动指令的源逻辑寄存器和目的地逻辑寄存器中的一者相同并且针对所述源逻辑寄存器和目的地逻辑寄存器中的一者的当前寄存器映射与在处理所述较早移动指令时针对所述源逻辑寄存器和目的地逻辑寄存器中的一者所使用的映射相同时,选择第二移动处理技术。至少一些示例提供了一种装置,包括:响应于指令而执行数据处理的装置;用于将由指令指定的逻辑寄存器映射到硬件中设置的物理寄存器的装置;以及选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令的装置;其中:在第一移动处理技术中,响应于移动指令,用于映射的装置被配置为将目的地逻辑寄存器映射到与源逻辑寄存器相同的物理寄存器;在第二移动处理技术中,响应于移动指令,用于执行数据处理的装置被配置为将从对应于所述源逻辑寄存器的物理寄存器读取的数据值写入对应于所述目的地逻辑寄存器的不同物理寄存器;以及用于选择的装置被配置为:当移动指令指定的源逻辑寄存器与根据第一移动处理技术处理的较早移动指令的源逻辑寄存器和目的地逻辑寄存器中的一者相同并且针对所述源逻辑寄存器和目的地逻辑寄存器中的一者的当前寄存器映射与处理所述较早移动指令时针对所述源逻辑寄存器和目的地逻辑寄存器中的一者所使用的映射相同时,选择第二移动处理技术。至少一些示例提供了一种数据处理方法,包括:选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令;当第一移动处理技术被选择时,将目的地逻辑寄存器映射到与源逻辑寄存器相同的物理寄存器;当第二移动处理技术被选择时,将从对应于所述源逻辑寄存器的物理寄存器读取的数据值写入对应于所述目的地逻辑寄存器的不同物理寄存器;以及其中,当移动指令指定的源逻辑寄存器与根据第一移动处理技术处理的较早移动指令的源逻辑寄存器和目的地逻辑寄存器中的一者相同并且针对所述源逻辑寄存器和目的地逻辑寄存器中的一者的当前寄存器映射与处理所述较早移动指令时针对所述源逻辑寄存器和目的地逻辑寄存器中的一者所使用的映射相同时,第二移动处理技术被选择。本技术的其它方面、特征和优点将从以下结合附图来阅读的示例的描述中显而易见。附图说明图1示意性地示出具有寄存器重命名电路的数据处理装置的示例;图2A示出用于处理移动指令的第一移动处理技术的示例;图2B示出用于处理移动指令的第二移动处理技术的示例;图3示出针对第一移动指令使用第一移动处理技术以及根据第一移动指令的源逻辑寄存器或目的地逻辑寄存器来针对随后的移动指令使用第二移动处理技术的示例;图4示出确定在根据第一移动处理技术处理移动指令之后所映射到两个不同逻辑寄存器的物理寄存器何时可被重新分配给不同的逻辑寄存器的示例;图5示出处理移动指令的方法的流程图;图6示出确定物理寄存器何时可被重新分配的方法;图7是示出给定物理寄存器的状态转换的状态图;图8示出使用推测和架构重命名表的寄存器重命名电路的第二个实施例;图9示出使用图8的实施例处理移动指令的示例;图10示出在第二实施例中处理移动指令的方法;图11示出在指令被提交时更新架构重命名表的方法;图12示出响应冲洗(flush)事件的方法;图13示出在第二实施例中确定物理寄存器何时可被重新分配的方法;图14是示出在第二实施例中给定物理寄存器的状态转换的状态图。具体实施方式以下将描述一些具体示例。应当理解的是,本专利技术不限于这些确切的示例。指定源逻辑寄存器和目的地逻辑寄存器的移动指令可被提供。对于不支持寄存器重命名的系统,响应于移动指令,处理电路会从一个寄存器读取数据值,并将该数据值写入不同的寄存器。然而,在寄存器重命名支持的情况下,通过简单地将移动指令的目的地逻辑寄存器重映射到当前被映射至源逻辑寄存器的相同的物理寄存器,移动指令可在重命名级被更快地处理。使用寄存器重命名电路来处理移动指令可帮助提高性能,首先通过消除对向处理电路实际分派移动指令的需要,从而为其它指令释放处理槽,并且还因为读取目的地逻辑寄存器的后续指令移动指令有效地变得对于写入移动指令的源逻辑寄存器的较旧指令产生依赖,因此后续指令不需要等待其操作数变得可用,从而提高了性能。由于给定的移动指令在重命名级通常比其在实际上由处理电路处理的情况下可被更快地处理,人们总是期望使用重命名技术来处理移动指令。然而,这样可能出现一些复杂情况,因为当通过将目的地逻辑寄存器重新映射到与重命名电路处的源逻辑寄存器相同的物理寄存器来处理移动指令时,会导致多个逻辑寄存器都被映射到相同的物理寄存器。这可能使得更难确定给定物理寄存器何时不再被任意未决指令所需要以及何时可被重新分配给不同的逻辑寄存器。给定程序可包括移动指令链,其中各个指令取决于先前移动指令的结果。例如,一个移动指令可将数据从逻辑寄存器A移动到逻辑寄存器B,另一个移动指令随后将数据从逻辑寄存器B移动到逻辑寄存器C,接着是再一个移动指令将数据从逻辑寄存器C移动到逻辑寄存器D,以此类推。如果链中的这些移动指令中的每一者使用重命名技术来处理,则这可能导致许多逻辑寄存器都被映射到相同的物理寄存器,并且这可能使物理寄存器解除分配复杂化。解决这个问题的方法是为每个物理寄存器提供多个计数器,每当逻辑寄存器映射到该物理寄存器时递增计数器,并且当该映射不再被需要时递减计数器。当计数器达到零时,物理寄存器随后可被重新分配给不同的逻辑寄存器。然而,这是相对昂贵的解决方案,因为通常的高端无序处理流水线可具有多达160-180个物理寄存器,这样为每个物理寄存器提供具有自身的多位计数器的可导致:除了为每个物理寄存器提供用于增加或减少计数器以及将计数器与零进行比较以确定物理寄存器何时可被重新分配的电路之外,还需要存储大量额外状态数据。取而代之的是,装置可设置有控制电路,以便选择第一移动处理技术和第二移动处理技术中的一者用于处理移动指令。在第一移动处理技术中,响应于移动指令,寄存器重命名电路将目的地逻辑寄存器映射到与源本文档来自技高网...
使用寄存器重命名处理移动指令

【技术保护点】
一种装置,包括:处理电路,该处理电路响应于指令而执行数据处理;寄存器重命名电路,该寄存器重命名电路将由所述指令指定的逻辑寄存器映射到硬件中设置的物理寄存器;控制电路,该控制电路选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令;其中:在所述第一移动处理技术中,响应于所述移动指令,所述寄存器重命名电路被配置为将所述目的地逻辑寄存器映射到与所述源逻辑寄存器相同的物理寄存器;在所述第二移动处理技术中,响应于所述移动指令,所述处理电路被配置为将从对应于所述源逻辑寄存器的物理寄存器读取的数据值写入对应于所述目的地逻辑寄存器的不同物理寄存器;以及所述控制电路被配置为:当所述移动指令的所述源逻辑寄存器与根据所述第一移动处理技术处理的较早移动指令的源逻辑寄存器和目的地逻辑寄存器中的一者相同并且针对所述源逻辑寄存器和目的地逻辑寄存器中的一者的当前寄存器映射与处理所述较早移动指令时针对所述源逻辑寄存器和目的地逻辑寄存器中的一者所使用的映射相同时,选择第二移动处理技术。

【技术特征摘要】
2015.12.24 US 14/757,5761.一种装置,包括:处理电路,该处理电路响应于指令而执行数据处理;寄存器重命名电路,该寄存器重命名电路将由所述指令指定的逻辑寄存器映射到硬件中设置的物理寄存器;控制电路,该控制电路选择第一移动处理技术和第二移动处理技术中的一者用于处理指定源逻辑寄存器和目的地逻辑寄存器的移动指令;其中:在所述第一移动处理技术中,响应于所述移动指令,所述寄存器重命名电路被配置为将所述目的地逻辑寄存器映射到与所述源逻辑寄存器相同的物理寄存器;在所述第二移动处理技术中,响应于所述移动指令,所述处理电路被配置为将从对应于所述源逻辑寄存器的物理寄存器读取的数据值写入对应于所述目的地逻辑寄存器的不同物理寄存器;以及所述控制电路被配置为:当所述移动指令的所述源逻辑寄存器与根据所述第一移动处理技术处理的较早移动指令的源逻辑寄存器和目的地逻辑寄存器中的一者相同并且针对所述源逻辑寄存器和目的地逻辑寄存器中的一者的当前寄存器映射与处理所述较早移动指令时针对所述源逻辑寄存器和目的地逻辑寄存器中的一者所使用的映射相同时,选择第二移动处理技术。2.根据权利要求1所述的装置,其中在所述第二移动处理技术中,所述寄存器重命名电路被配置为将所述移动指令的所述目的地逻辑寄存器映射到与当前被映射到所述源逻辑寄存器的第一物理寄存器不同的第二物理寄存器。3.根据权利要求1所述的装置,包括:多个控制标志,其中每个控制标志对应于所述逻辑寄存器中的一者;所述控制电路被配置为根据对应于所述移动指令的所述源逻辑寄存器的所述控制标志来选择所述第一移动处理技术和所述第二移动处理技术中的一者。4.根据权利要求3所述的装置,其中当所述第一移动处理技术被选择来处理所述移动指令时,所述控制电路被配置为将对应于所述移动指令的源逻辑寄存器以及目的地逻辑寄存器的控制标志都设置为第一值。5.根据权利要求4所述的装置,其中所述控制电路被配置为:当对应于所述移动指令的所述源逻辑寄存器的所述控制标志具有所述第一值时,选择所述第二移动处理技术来处理所述移动指令。6.根据权利要求4所述的装置,其中响应于所述寄存器重命名电路响应于根据所述第一移动处理技术处理的移动指令之外的指令将逻辑寄存器重新映射到不同的物理寄存器,所述控制电路被配置为将相应的控制标志设定为第二值。7.根据权利要求1所述的装置,包括寄存器预留电路,该寄存器预留电路针对逻辑寄存器和物理寄存器之间的每个寄存器映射确定是否满足重新分配所述物理寄存器至不同的逻辑寄存器的重新分配条件。8.根据权利要求7所述的装置,其中根据所述第一移动处理技术处理移动指令之后,所述寄存器预留电路被配置为防止被映射到所述移动指令的所述源逻辑寄存器和目的地逻辑寄存器的物理寄存器变为可用于重新分配,直到对应于所述源逻辑寄存器的寄存器映射和对应于所述目的逻辑寄存器的寄存器映射都满足重新分配条件。9.根据权利要求7所述的装置,其中所述寄存器预留电路被配置为保持每个物理寄存器的寄存器状态信息,所述寄存器状态信息指示针对相应物理寄存器的多个寄存器状态中的一个状态,所述多个寄存器状态至少包括可用状态、预留状态和几乎可用状态。10.根据权利要求9所述的装置,其中当将给定的逻辑寄存器重新映射到新的物理寄存器时,所述寄存器重命名电路被配置为将所述给定的逻辑寄存器映射到所选择的物理寄存器,其中所述所选择的物理寄存器对应的寄存器状态信息指示所述可用状态,且所述寄存器预留电路被配置为更新所述所选择的物理寄存器对应的寄存器状态信息为指示所述预留状态。11.根据权利要求9所述的装置,其中根据所述第一移动处理技术处理的所述源逻辑寄存器和目的地逻辑寄存器被映射到给定物理寄存器的移动指令之后:响应于检测到所述源逻辑寄存器和目的地逻辑寄存器中的一者与所述给定物理寄存器之间的寄存器映射满足所述重新分配条件,当所述给定物理寄存器的寄存器状态信息指示所述预留状态时,所述寄存器预留电路被配置为更新所述给定物理寄存器的寄存器状态信息为指示所述几乎可用状态。12.根据权利要...

【专利技术属性】
技术研发人员:克里斯·阿伯内西弗洛伦特·贝贡
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1