分配计数器以追踪寄存器映射的方法和系统技术方案

技术编号:7917497 阅读:164 留言:0更新日期:2012-10-25 02:22
本发明专利技术提出一种分配计数器以追踪逻辑寄存器到物理寄存器的映射的方法和系统。一种乱序处理器的映射器单元分配当前在计数器空闲池中的特定计数器,以计数逻辑寄存器到来自多个物理寄存器之中的特定物理寄存器的映射的数目,所述分配响应于映射器单元将至少一个逻辑寄存器映射到特定物理寄存器而对指令的执行。计数器的数目小于物理寄存器的数目。映射器单元响应于所计数的逻辑寄存器到特定物理寄存器的映射的数目减小到小于最小值,而将该特定计数器返回到计数器空闲池。

【技术实现步骤摘要】

本专利技术总体涉及微处理器性能,更具体地涉及从计数器池中向物理寄存器动态地分配计数器,以追踪逻辑寄存器到物理寄存器的映射,用于基于映射器的指令执行。
技术介绍
处理器可以执行一种或多种类型的指令。一种类型的指令可能需要将一个寄存器的内容复制到另一个寄存器。例如,移动寄存器类型指令是一种涉及将一个寄存器中的值复制到另一个寄存器的指令的类型。在一个示例中,需要将一个寄存器的内容复制到另一寄存器的指令可以用于保留响应于一个指令可能会改变、但仍可能被后续指令需要的数据。因为诸如移动寄存器指令的指令需要频繁地将一个寄存器的内容复制到另一个寄存器,所以处理器的映射器单元可以通过将多个逻辑寄存器映射到单个物理寄存器来执行移动寄存器指令,以有效地将一个逻辑寄存器的内容复制到另一逻辑寄存器,而不必将内容 从一个物理寄存器物理地移动到另一物理寄存器。
技术实现思路
当乱序(out-of-order)处理器的映射器通过将多个逻辑寄存器映射到单个物理寄存器而执行移动寄存器指令时,本专利技术高效地追踪当前映射到物理寄存器的逻辑寄存器的数量的计数,使得被映射的物理寄存器将不被释放,直到不存在逻辑寄存器到该物理寄存器的剩余映射为止。具体地,对于基于映射器单元的移动寄存器指令的执行,映射器单元高效地计数当前映射到单个物理寄存器的逻辑寄存器的数目,对于每一个物理寄存器不需要额外的硬件开销。根据本专利技术的一个实施例,乱序处理器的映射器单元执行需要复制一个寄存器到另一个寄存器的指令,诸如移动寄存器指令,而绕开发出队列(issue queue)和执行单元。映射器单元仅当需要时保持可用于动态分配到特定物理寄存器的追踪计数器的池,以追踪为了映射器单元的指令执行而被映射到特定物理寄存器的逻辑寄存器映射的数量。在一个实施例中,响应于映射器单元将至少一个逻辑寄存器映射到多个物理计数器中的特定物理计数器的指令的执行,映射器单元分配当前在计数器空闲池中的特定计数器,以计数逻辑计数器到该特定物理计数器的映射的数量。计数器的数目少于物理寄存器的数量。映射器单元响应于逻辑寄存器到特定物理寄存器的映射的所计数的数量递减(decrement)到小于最小值,而将特定计数器返回到计数器空闲池。附图说明所附权利要求中陈述了本专利技术的一个或多个实施例的被认为是新颖的特征。但通过与附图一起阅读时参照示例实施例的以下详细说明,将最好地理解本专利技术的一个或多个实施例本身,其中图I是示出乱序微处理器的框图,该乱序微处理器为了基于映射器的移动寄存器指令的执行而将来自计数器空闲池的计数器动态地分配到物理计数器,以计数到物理寄存器的逻辑寄存器映射;图2是示出用于追踪逻辑寄存器到物理寄存器的活动映射的计数器的元素的一个示例的框图;图3是示出由用于控制在需要时动态地分配给PREG的活动追踪计数器的计数的映射器单元实施的单元的一个示例的框图;图4是示出映射器单元为了移动寄存器指令的执行而进行的处理计数器到PREG的动态分配的步骤的一个示例的框图;图5是示出由实施随机访问存储器(RAM)映射器和内容可寻址存储器(CAM)映射 器以执行移动寄存器指令的映射器单元进行的寄存器映射中的物理寄存器的原始分配的示例的框图;图6是示出由实施RAM映射器和CAM映射器以执行移动寄存器指令、并且为了移动寄存器指令的执行而将计数器动态地分配到物理寄存器的映射器单元进行的移动寄存器指令的执行的示例的框图;图7是示出跟随移动寄存器指令的指令的示例的框图,所述移动寄存器指令分配到该移动寄存器指令中命名的LREG ;图8是示出跟随移动寄存器指令的附加指令的示例的框图,所述移动寄存器指令分配到该移动寄存器指令中命名的LREG ;图9是示出其中可以实施和监视微处理器的计算机系统的一个示例的框图;图10是示出用于映射器单元确定是为分派的移动寄存器指令动态地分配计数器还是在所分派的移动寄存器指令中递增(increment)追踪映射的PREG的现有计数器的计数的处理和程序的高层逻辑流程图;图11是示出用于映射器单元在分派移动寄存器指令时预留计数器的处理和程序的高层逻辑流程图;图12是示出用于映射器单元管理PREG解除分配(deallocation)请求的处理和程序的高层逻辑流程图;以及图13是示出用于监视处理器性能并调整硬件设置以提高基于映射器的移动寄存器指令的执行的性能的处理和程序的高层逻辑流程图。具体实施例方式在以下描述中,为了说明的目的,陈述了大量具体细节,以便提供对本专利技术的全面理解。然而,对本领域的技术人员而言显然的是,可以在没有这些具体细节的情况下实践本专利技术。在其它实例中,以框图的形式示出了公知的结构和设备,以避免不必要地模糊本专利技术。此外,在以下描述中,为了说明的目的,描述了大量系统。重要的是,并且对本领域的技术人员而言显然的是,本专利技术可以在各种系统中执行,包括运行任何数量的不同类型的操作系统的各种计算机系统和电子设备。现在参照附图,图I示出了乱序微处理器的框图,该乱序微处理器为了基于映射器的移动寄存器指令的执行,动态地将来自计数器空闲池的计数器分配到物理寄存器,以计数到物理寄存器的逻辑寄存器映射。在该示例中,微处理器100包括读取(fetch)单元104和解码单元106,读取单元104从指令高速缓存(cache) 102中读取指令,解码单元106解码锁读取的指令。解码单元106执行的解码的类型和层级可以取决于所实施的架构的类型。在一个示例中,对于复杂指令集计算机(CISC)架构,解码单元106将复杂指令解码为一个或多个微指令,然而,对于精简指令集计算机(RISC)架构或VLIW(超长指令字)架构,指令不被解码为微指令。对于本领域的技术人员而言显然的是,可以在微处理器100内实施附加的或替代的单元、寄存器、高速缓存和其他元素,用于保存、读取和解码指令。如这里所描述的,微处理器100也可以被称为处理器。在该示例中,微处理器100包括分派(dispatch)单元108,用于从解码单元106接收经解码的指令或经解码的指令的组,并分派所述指令。在该示例中,分派单元108将指令分派到完成追踪单元(CTU) 120 (诸如全局完成表)和映射器单元122。分派单元108在将指令分派到映射器单元122之前,可以验证映射器122准备好接收指令。此外,虽然未描述,但分派单元108可以将指令分派到微处理器100内的附加或替代的单元和寄存器。完成追踪单元120追踪从分派单元108接收的指令,直到每个指令都完成为止。在一个示例中,一般地,映射器单元122将逻辑寄存器映射到物理寄存器,可以重命名指令的操作数以引用逻辑寄存器,并将指令的重命名的操作数发送到发出队列128。寄存器映·射118表示逻辑寄存器到物理寄存器的当前映射。物理寄存器(PREG)空闲池114表示用于映射器单元122映射到逻辑寄存器的可用物理寄存器的池。在一个示例中,发出队列128包括调度器,用于调度执行单元126对指令的执行,并且可以包括或访问一个或多个功能单元中的一个或多个缓冲器,其中该一个或多个缓冲器保存从映射器单元122接收的重新命名的指令,用于执行单元126的执行。执行单元126可以包括一个或多个物理执行单元。为了完成从发出队列128接收的指令的执行,一旦执行单元126向物本文档来自技高网...

【技术保护点】
一种在用于指令执行的处理器中计数所述处理器的映射器单元进行的逻辑寄存器到物理寄存器的映射的方法,包括:从当前在计数器空闲池中的多个计数器之中分配特定的计数器,以计数来自多个逻辑寄存器之中的逻辑寄存器到来自多个物理寄存器之中的特定物理寄存器的映射的数目,所述分配响应于映射器单元将来自所述多个逻辑寄存器之中的至少一个逻辑寄存器映射到所述特定物理寄存器而对指令的执行,其中所述多个计数器的数目少于所述多个物理寄存器的数目;响应于逻辑寄存器到所述特定物理寄存器的映射的所计数的数目递减到小于最小值,将所述特定计数器返回到所述计数器空闲池。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:GW亚历山大BD巴里克JW沃德三世
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1