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

图形处理器寄存器重命名机制制造技术

技术编号:22334404 阅读:58 留言:0更新日期:2019-10-19 13:05
描述了一种处理装置。所述装置包括:图形处理单元(GPU),所述图形处理单元包括用于处理图形上下文数据的多个执行单元、以及具有用于存储所述图形上下文数据的多个寄存器的寄存器堆;以及寄存器重命名逻辑,所述寄存器重命名逻辑用于通过将所述寄存器堆中的所述多个寄存器逻辑地分区为一组固定寄存器和一组共享寄存器来促进对所述多个寄存器的动态重命名。

Register rename mechanism of graphics processor

【技术实现步骤摘要】
【国外来华专利技术】图形处理器寄存器重命名机制
本文所描述的实施例总体上涉及计算机。更具体地,描述了用于在图形处理器中实施物理寄存器的实施例。
技术介绍
图形处理涉及执行用于图像渲染的快速数学计算。可以在作为专用电子电路的图形处理单元(GPU)处执行这种图形工作负荷以快速操纵和更改存储器,从而加速在帧缓冲器中创建旨在输出到显示器的图像。当前GPU设计上可用的寄存器堆的大小(或者物理寄存器的量)对GPU性能和功耗两者都具有较大影响。为了满足对当代图形工作负荷日益增长的吞吐量需求,GPU依赖于对多个硬件上下文的高度并行执行。在这种并行执行中,每个上下文具有专用的寄存器堆以便实现快速上下文切换。因此,如果分配给硬件上下文的寄存器数量过少,则大量工作负荷将溢出到主存储器,从而导致不期望的性能损失。尽管如此,由于相关联硬件成本和功耗约束,提供过多的芯片上寄存器是不可行的。附图说明在所附附图的各图中,以示例方式而不以限制方式对实施例进行说明,其中相同的附图标记指代类似的要素。图1是根据实施例的处理系统的框图。图2是处理器的实施例的框图,该处理器具有一个或多个处理器核、集成存储器控制器以及集成图形处理器。图3是图形处理器的框图,该图形处理器可以是分立的图形处理单元,或可以是与多个处理核集成的图形处理器。图4是根据一些实施例的图形处理器的图形处理引擎的框图。图5是图形处理器的另一实施例的框图。图6图示出线程执行逻辑,该线程执行逻辑包括在图形处理引擎的一些实施例中采用的处理元件的阵列。图7是图示出根据一些实施例的图形处理器指令格式的框图。图8是图形处理器的另一实施例的框图。图9A是图示出根据实施例的图形处理器命令格式的框图,并且图9B是图示出根据实施例的图形处理器命令序列的框图。图10图示出根据一些实施例的用于数据处理系统的示例性图形软件架构。图11是图示出根据实施例的可用于制造集成电路以执行操作的IP核开发系统的框图。图12是图示出根据实施例的可使用一个或多个IP核来制造的示例性芯片上系统集成电路的框图。图13是图示出根据实施例的可使用一个或多个IP核来制造的芯片上系统集成电路的示例性图形处理器的框图。图14是图示出根据实施例的可使用一个或多个IP核来制造的芯片上系统集成电路的附加示例性图形处理器的框图。图15展示了用于促进寄存器重命名的计算设备的一个实施例。图16展示了常规的寄存器配置。图17展示了寄存器空间分区的一个实施例。图18是流程图,展示了寄存器重命名过程的一个实施例。图19A和图19B展示了变量位释放的实施例。具体实施方式在以下描述中,阐述了众多具体细节。然而,如本文中所描述的,可以在不具有这些特定的细节的情况下实践实施例。在其他情况下,未详细示出公知的电路、结构和技术,以避免模糊对本说明书的理解。实施例提供了在图形处理单元处实现动态寄存器重命名的寄存器重命名逻辑。在这类实施例中,为了维持并行水平并提高寄存器堆利用率,寄存器空间被分区为固定部分和共享部分以提高寄存器堆利用率。在另一实施例中,在内核执行期间被指派给寄存器空间的共享部分的变量被动态地重命名为在同一执行单元(EU)上的所有硬件上下文之间共享的统一物理寄存器堆。在又另一实施例中,编译器辅助和指令集架构(ISA)支持使得动态分配寄存器在其生命期的结束处被释放并由另一个上下文重新使用。构想了贯穿本文档可互换地引用诸如“请求”、“查询”、“作业”、“工作”、“工作项”和“工作负荷”之类的术语。类似地,“应用”或“代理”可指代或包括通过诸如自由渲染API(诸如,开放图形库11,12等)之类的API提供的计算机程序、软件应用、游戏、工作站应用等,其中“分派”可互换地称为“工作单元”或“绘制”,并且类似地,“应用”可互换地称为“工作流”或简单地称为“代理”。例如,诸如3D游戏的工作负荷之类的工作负荷可包括并发布任何数量和类型的“帧”,其中,每个帧可以表示图像(例如,帆船、人脸)。进一步地,每个帧可包括并提供任何数量和类型的工作单元,其中,每个工作单元可表示由其相应的帧表示的图像(例如,帆船、人脸)的部分(例如,帆船的桅杆、人脸的前额)。然而,为了一致性,贯穿本文档,每一项可由单个术语(例如,“分派”、“代理”等)来引用。在一些实施例中,如“显示屏”和“显示表面”之类的术语可用于互换地指代显示设备的可见部分,而显示设备的其余部分可被嵌入到诸如智能电话、可穿戴设备等之类的计算设备中。构想并且应当注意,实施例不限于任何特定的计算设备、软件应用、硬件部件、显示设备、显示屏或表面、协议、标准等。例如,实施例可被应用于任何数量和类型的计算机上的任何数量和类型的实时应用,并且可与在任何数量和类型的计算机上的任何数量和类型的实时应用一起使用,该计算机诸如台式机、膝上型计算机、平板计算机、智能电话、头戴式显示器、以及其他可穿戴设备等。进一步地,例如,使用这种新颖技术渲染高效性能的场景可用在从诸如桌面合成等之类的简单场景到诸如3D游戏、增强现实应用等之类的复杂场景的范围。系统概述图1是根据实施例的处理系统100的框图。在各实施例中,系统100包括一个或多个处理器102以及一个或多个图形处理器108,并且可以是单处理器台式系统、多处理器工作站系统或具有大量处理器102或处理器核107的服务器系统。在一个实施例中,系统100是被并入用于在移动设备、手持式设备或嵌入式设备内使用的芯片上系统(SoC)集成电路内的处理平台。系统100的实施例可以包括基于服务器的游戏平台、游戏控制台,或被并入基于服务器的游戏平台、游戏控制台内,该游戏控制台包括游戏与媒体控制台、移动游戏控制台、手持式游戏控制台、或在线游戏控制台。在一些实施例中,系统100是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统100还可以包括可穿戴设备、与可穿戴设备耦合、或者集成在可穿戴设备中,该可穿戴设备诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备、或虚拟现实设备。在一些实施例中,数据处理系统100是电视或机顶盒设备,该电视或机顶盒设备具有一个或多个处理器102以及由一个或多个图形处理器108生成的图形界面。在一些实施例中,一个或多个处理器102各自包括用于处理指令的一个或多个处理器核107,这些指令在被执行时执行系统和用户软件的操作。在一些实施例中,一个或多个处理器核107中的每个处理器核被配置成用于处理特定的指令集109。在一些实施例中,指令集109可促进复杂指令集计算(CISC)、精简指令集计算(RISC)、或经由超长指令字(VLIW)的计算。多个处理器核107可各自处理不同的指令集109,该指令集109可包括用于促进对其他指令集进行仿真的指令。处理器核107还可包括其他处理设备,诸如,数字信号处理器(DSP)。在一些实施例中,处理器102包括高速缓存存储器104。取决于架构,处理器102可以具有单个内部高速缓存或多个层级的内部高速缓存。在一些实施例中,在处理器102的各部件之间共享高速缓存存储器。在一些实施例中,处理器102还使用外部高速缓存(例如,第3级(L3)高速缓存或末级高速缓存(LLC))(未示出),可使用已知的高速缓存一致性技术在处理器核107之间共享外部高速缓存。另外,寄存器堆106被包括本文档来自技高网...

【技术保护点】
1.一种处理装置,包括:图形处理单元(GPU),所述GPU包括:多个执行单元,用于处理图形上下文数据;以及寄存器堆,具有用于存储所述图形上下文数据的多个寄存器;以及寄存器重命名逻辑,用于通过将所述寄存器堆中的所述多个寄存器逻辑地分区为固定寄存器的集合和共享寄存器的集合来促进对所述多个寄存器的动态重命名。

【技术特征摘要】
【国外来华专利技术】2016.09.30 US 15/281,2761.一种处理装置,包括:图形处理单元(GPU),所述GPU包括:多个执行单元,用于处理图形上下文数据;以及寄存器堆,具有用于存储所述图形上下文数据的多个寄存器;以及寄存器重命名逻辑,用于通过将所述寄存器堆中的所述多个寄存器逻辑地分区为固定寄存器的集合和共享寄存器的集合来促进对所述多个寄存器的动态重命名。2.如权利要求1所述的装置,其中,在执行单元处执行上下文期间,所述共享寄存器的集合被动态地重命名为共享物理寄存器。3.如权利要求2所述的装置,其中,所述GPU进一步包括:重命名表,用于存储所述共享寄存器的集合内的每个寄存器至共享物理寄存器的重命名;以及解码逻辑,用于经由所述重命名表在执行所述上下文期间对来自所述固定寄存器的集合的操作数和来自所述共享寄存器的集合的操作数执行寄存器重命名。4.如权利要求3所述的装置,其中,所述寄存器重命名包括:判定所述上下文的操作数的寄存器ID是否小于所述共享寄存器的集合的起始范围;以及在判定了所述操作数小于所述共享寄存器的集合的所述起始范围之后,访问所述固定寄存器的集合以对所述操作数执行操作。5.如权利要求4所述的装置,其中,所述寄存器重命名进一步包括:在判定了所述操作数大于所述共享寄存器的集合的所述起始范围之后,判定所述操作数是否是源操作数;在判定了所述操作数是源操作数之后,访问所述重命名表以找到与所述寄存器ID相对应的物理寄存器;以及从所述共享寄存器的集合取出所述操作数。6.如权利要求5所述的装置,其中,所述寄存器重命名进一步包括:在判定了所述操作数不是源操作数之后,判定是否能够获取新共享寄存器;以及在判定了能够获取所述新共享寄存器之后,将所述共享寄存器至物理寄存器ID的映射存储在所述重命名表中。7.如权利要求6所述的装置,其中,所述寄存器重命名进一步包括:在判定了不能够获取所述新共享寄存器之后,停止所述上下文。8.如权利要求1所述的装置,其中,在GPU内核的编译期间,所述寄存器重命名逻辑基于所述多个寄存器来指派变量。9.如权利要求8所述的装置,其中,所述寄存器重命名逻辑执行寄存器分配算法,以便向所述固定寄存器的集合指派具有长生命期的变量并且向所述共享寄存器的集合指派具有短生命期的变量。10.如权利要求9所述的装置,其中,在判定了寄存器指派超过所述寄存器堆上的所述多个寄存器之后,所述寄存器重命名逻辑促进溢出代码的生成。11.如权利要求8所述的装置,其中,所述寄存器重命名逻辑提供关于将在何时释放所述共享寄存器的集合中的寄存器的指令。12.如权利要求11所述的装置,其中,基于在所述寄存器分配算法期间所计算的信息来标记变量的释放位置。13.如权利要求12所述的装置,其中,局部变量的位置被标记为在最后一次使用之后在新的完全定义之前被释放。14.如权利要求13所述的装置,其中,全局变量的位置被标记为在控制流图中对于包括对前一定义的最后使用的基本块的最近后支...

【专利技术属性】
技术研发人员:陈凯宇路奎元S·马余兰
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1