当前位置: 首页 > 专利查询>英特尔公司专利>正文

带有旁路多个实例化表的移动消除的系统和方法技术方案

技术编号:10434651 阅读:113 留言:0更新日期:2014-09-17 12:02
本申请公开了带有旁路多个实例化表的移动消除的系统和方法。带有旁路多个实例化表(MIT)逻辑的用于移动操作消除的系统和方法。示例处理系统可以包括:被配置成存储多个物理寄存器值的第一数据结构;被配置成存储多个指针的第二数据结构,每一指针都引用第一数据结构的元素;包括多个移动消除集的第三数据结构,每一移动消除集都包括表示多个逻辑寄存器的多个比特;以及被配置成通过使第二数据结构的元素引用第一数据结构的元素来执行数据操纵操作的逻辑,所述逻辑进一步被配置成通过执行第三数据结构的单个更新来反映两个或更多数据操纵操作的结果。

【技术实现步骤摘要】
带有旁路多个实例化表的移动消除的系统和方法
本专利技术一般涉及计算机系统,具体而言,涉及提高由计算机系统执行数据复制指令的效率。背景物理寄存器之间的数据复制操作代表由处理器执行的大部分操作。因此,优化它们的执行可以提高处理器的总体性能。附图简述本专利技术是通过示例而不是作为限制来说明的,当与附图一起考虑时并参考下列详细描述时,可以更完全地理解本专利技术,在附图中:图1描绘了根据本公开的一个或多个方面的示例计算机系统的高级组件图示;图2描绘了根据本公开的一个或多个方面的处理器的框图;图3a-3b示意地示出了根据本公开的一个或多个方面的处理器微体系结构的要素;图4示意地示出了根据本公开的一个或多个方面的图1的示例计算机系统100的示例处理器及其他组件的多个方面;图5示意地示出了根据本公开的一个或多个方面的通过寄存器别名使用(aliasing)来执行移动操作的示例;图6a-6c示意地示出了根据本公开的一个或多个方面的使用多个实例化表(MIT)来进行物理寄存器文件(PRF)条目跟踪;图7a-7c示意地示出了根据本公开的一个或多个方面的MIT分配和预留逻辑;图8a-8c示意地示出了根据本公开的一个或多个方面的MIT孤立回收逻辑;图9a-9c、10a-10c以及11a-11c示意地示出了根据本公开的一个或多个方面的通过旁路MIT逻辑来实现的数据操纵操作的多个示例;图12示意地示出了根据本公开的一个或多个方面实现移动消除逻辑的示例电路;图13描绘了根据本公开的一个或多个方面的示例方法的流程图;以及图14描绘了根据本公开的一个或多个方面的示例计算机系统的框图。具体实施方式此处描述了用于利用旁路多个实例化表(MIT)逻辑来实现移动消除的计算机系统以及相关的技术。此处的“移动消除(moveelimination)”应该是指执行寄存器复制操作,而不使用执行单元(例如,通过修改寄存器别名表中的条目)。出于提高指令执行的效率的目的,处理器可以实现寄存器别名使用:可以使用称为物理寄存器文件(PRF)的第一数据结构来存储物理寄存器值,并且可以使用称为寄存器别名表(RAT)的第二数据结构来存储将逻辑寄存器标识符(诸如,例如,R8或AX)映射到存储在PRF中的值的指针。寄存器别名使用允许通过修改别名表中的条目而不将这些指令发送到执行单元,来执行某些指令。这样的指令的示例包括寄存器归零指令(诸如,例如,XORAX,AX)和寄存器复制指令(诸如MOV指令)。由于寄存器复制指令不会创建新的值,因此,可以将源寄存器指针复制到RAT中的目的地寄存器指针,以便指令将不需要使用执行单元和另一PRF条目。此过程被称为“移动消除”,因为从发送到执行单元的流中消除了移动指令。在上文所描述的寄存器别名使用方案中,可能需要跟踪PRF表条目的使用,以便确定何时可以释放PRF条目以供新指令使用。可以使用称为多个实例化表(MIT)的第三数据结构来跟踪PRF表条目的使用,如下面更详细地描述的。此处所描述的系统和方法可以预先计算两个或更多数据操纵操作的依赖关系,然后执行单个MIT更新以反映两个或更多操作的结果,如此,改善移动消除操作的时序和功率消耗方面。下面作为示例而并非作为限制地详细描述了上面引用的方法和系统的各方面。在下面的描述中,阐述了很多具体细节,诸如特定类型的处理器和系统配置、特定硬件结构、特定体系结构和微体系结构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量值/高度、特定处理器流水线级和操作等等的示例,以便提供对本专利技术的全面的理解。然而,对本领域普通技术人员显而易见的是,可以不必使用这些具体细节来实施本专利技术。在其他情况下,没有详细描述已知的组件或方法,诸如特定和替代处理器体系结构、特定逻辑电路/用于描述算法的代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、代码中的算法的特定表达、特定断电和选通技术/逻辑及计算机系统的其他特定操作细节,以避免对本专利技术造成不必要的模糊。虽然将处理器参考来描述下列各实施例,但是,其他实施例也适用于其他类型的集成电路和逻辑设备。可以将本专利技术的各实施例的类似的技术和原理应用于可以得益于较高流水线吞吐量和改善的性能的其他类型的电路或半导体器件。本专利技术的各实施例的原理适用于执行数据操纵的任何处理器或机器。然而,本专利技术不仅限于执行512比特、256比特、128比特、64比特、32比特或16比特数据操作的处理器或机器,并可以应用于其中执行对数据的操纵或管理的任何处理器和机器。另外,下列描述提供了示例,为便于说明,各个附图示出了各种示例。然而,这些示例不应该以限制的方式来解释,因为它们只是提供本专利技术的各实施例的示例,而并非提供本专利技术的各实施例的所有可能的实现的详细清单。虽然下面的示例在执行单元以及逻辑电路的上下文中描述了指令处理和分布,但是本专利技术的其他实施例可以通过存储在机器可读的、有形的介质上的数据或指令来完成,这些数据或指令当由机器执行时,使机器执行根据本专利技术的至少一个实施例的功能。在一个实施例中,与本专利技术的各实施例相关联的功能是以机器可执行指令来实现的。指令可以用来使利用指令编程的通用或专用的处理器来执行本专利技术的步骤。本专利技术的各实施例可以作为计算机程序产品或软件来提供,该计算机程序产品或软件可以包括在其上存储了机器或计算机可读介质,指令可以被用来编程计算机(或其他电子器件)以执行根据本专利技术的各实施例的一个或多个操作。可另选地,可以由包含用于执行操作的固定功能逻辑的特定硬件组件,或由编程的计算机组件和固定功能硬件组件的任何组合,来执行本专利技术的各实施例的操作。用于编程逻辑以执行本专利技术的各实施例的指令可以存储在系统中的存储器内,诸如DRAM、缓存、闪存,或其他存储器。此外,指令还可以通过网络或通过其他计算机可读介质来分发。如此,机器可读的介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,但不仅限于,软盘、光盘、压缩光盘、只读存储器(CD-ROM),以及磁光盘、只读存储器(ROMs)、随机存取存储器(RAM)、可擦与可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、闪存,或用于通过电的、光学的、声音或其他形式的传播信号(例如,载波、红外信号、数字信号等等)通过因特网来传输信息的有形的,机器可读的存储器。相应地,计算机可读介质包括适于以可由机器(例如,计算机)读取的形式来存储或传输电子指令或信息的任何类型的有形的机器可读取的介质。此处“处理器”应该是指能够执行指令编码算术、逻辑或I/O操作的设备。在一个说明性示例中,处理器可以遵循冯诺依曼体系结构模型,并可以包括算术逻辑单元(ALU)、控制单元以及多个寄存器。另一方面,处理器可以包括一个或多个处理器核,因此可以是通常能够处理单指令流水线的单核处理器,或同时可以处理多个指令流水线的多核处理器。在另一方面,处理器可以实现为单个集成电路,两个或更多个集成电路,或可以是多芯片模块(例如,其中,单个微处理器晶片被包括在单个集成电路封装中,因此共享单个插槽)的组件。图1描绘了根据本专利技术一个或多个方面的计算机系统的一个示例的高级的组件图示。根据此处所描述的实施例,计算机系统100可以包括处理器10本文档来自技高网...
带有旁路多个实例化表的移动消除的系统和方法

【技术保护点】
一种处理系统,包括:第一数据结构,被配置成存储多个物理寄存器值;第二数据结构,被配置成存储多个指针,每一指针引用第一数据结构的元素;第三数据结构,包括多个移动消除集,每一移动消除集都包括表示多个逻辑寄存器的多个比特;以及逻辑,被配置成通过使所述第二数据结构的元素引用所述第一数据结构的元素来执行数据操纵操作,所述逻辑进一步被配置成通过执行所述第三数据结构的单次更新来反映两个或更多数据操纵操作的结果。

【技术特征摘要】
2013.03.15 US 13/840,4621.一种处理系统,包括:第一数据结构单元,用于存储多个物理寄存器值;第二数据结构单元,用于存储多个指针,每一指针引用第一数据结构单元的元素;第三数据结构单元,包括多个移动消除集,每一移动消除集都包括表示多个逻辑寄存器的多个比特;以及逻辑单元,用于通过使所述第二数据结构单元的元素引用所述第一数据结构单元的元素来执行数据操纵操作,所述逻辑单元进一步用于通过执行所述第三数据结构单元的单次更新来反映两个或更多数据操纵操作的结果。2.如权利要求1所述的处理系统,其特征在于,对所述第三数据结构单元的所述更新包括下列各项中的至少一项:创建移动消除集、修改移动消除集、或回收移动消除集。3.如权利要求1所述的处理系统,其特征在于,所述逻辑单元用于基于预先计算两个或更多数据操纵操作的依赖关系来更新所述第三数据结构单元。4.如权利要求1所述的处理系统,其特征在于,所述逻辑单元进一步用于预留下列各项中的至少一项:整数通用逻辑寄存器域中的第一移动消除集或流式单指令多数据(SIMD)扩展(SSE)逻辑寄存器域中的第二移动消除集。5.如权利要求1所述的处理系统,其特征在于,所述逻辑单元用于通过处理下列各项中的至少一项来输出更新所述第三数据结构单元的信号:反映所述第三数据结构单元的前一状态的第一信号、标识用于数据操纵操作的源逻辑寄存器的第二信号、标识用于数据操纵操作的目的地逻辑寄存器的第三信号、标识现有的移动消除集是否包含至少一项引用的第四信号、标识所述第三数据结构单元内的新移动消除集的第五信号、以及标识是否选择了所述数据操纵操作以用于移动消除的第六信号。6.如权利要求1所述的处理系统,其特征在于,所述逻辑单元用于检测下列各项中的至少一项:第一数据操纵操作所具有的目的地寄存器匹配第二数据操纵操作的源;两个数据操纵操作使用公用寄存器作为源,并带有向源寄存器的中间写入;两个数据操纵操作使用公用寄存器作为源;第一数据操纵操作所具有的目的地寄存器匹配第二数据操纵操作的源,并带有向所述目的地寄存器的中间写入;或第一数据操纵操作改写由现有的移动消除集引用的并是第二数据操纵操作的源的寄存器。7.一种执行数据操纵操作的方法,包括:通过计算机系统,将多个物理寄存器值存储在第一数据结构单元中;在第二数据结构单元中存储多个指针,每一指针引用所述第一数据结构单元的元素;在第三数据结构单元中存储多个移动消除集,每一移动消除集包括表示多个逻辑寄存器的多个比特;通过使所述第二数据结构单元的元素引用所述第一数据结构单元的元素来执行数据操纵操作;以及通过执行所述第三数据结构单元的单次更新来反映两个或更多数据操纵操作的结果。8.如权利要求7所述的方法,其特征在于,对所述第三数据结构单元的所述更新包括下列各项中的至少一项:创建移动消除集、修改移动消除集或回收移动消除集。9.如权利要求7所述的方法,还包括预留下列各项中的至少一项:整数通用逻辑寄存器域中的第一移动消除集或流式单指令多数据(SIMD)扩展(SSE)逻辑寄存器域中的第二移动消除集。10.如权利要求7所述的方法,还包括通过处理下列各项中的至少一项来输出更新所述第三数据结构单元的信号:反映所述第三数据结构单元的前一状态的第一信号、标识用于数据操纵操作的源逻辑寄存器的第二信号、标识用于数据操纵操作的目的地逻辑寄存器的第三信号、标识现有的移动消除集是否包含至少一项引用的第四信号、标识所述第三数据结构单元内的新移动消除集的第五信号、以及标识是否选择了所述数据操纵操作以用于移动消除的第六信号。11.如权利要求7所述的方法,还包括检测下列各项中的至少一项:第一数据操纵操作所具有的目的地寄存器匹配第二数据操纵操作的源;两个数据操纵操作使用公用寄存器作为源,且带有向源寄存器的中间写入;两个数据操纵操作使用公用寄存器作为源;第一数据操纵操作所具有的目的地寄存器匹配第二数据操纵操作的源,且带有向所述目的地寄存器的中间写入;或第一数据操纵操作改写由现有的移动消除集引用的并是第二数据操纵操作的源的寄存器。12.如权利要求7所述的方法,其特征在于,基于预先计算两个或更多数据操纵操作的依赖关系来执行对所述第三数据结构单元的所述更新。13....

【专利技术属性】
技术研发人员:J·R·安德森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1