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

分布式图形处理器分级中的系统一致性技术方案

技术编号:12137504 阅读:105 留言:0更新日期:2015-10-01 15:37
方法和系统可以规定由计算切片的物理分布的集合执行多个工作项目。此外,可以由高速缓存结构维持与所述多个工作项目相关联的一个或多个存储器行在图形处理器、系统存储器和一个或多个主机处理器上的一致性。在一个示例中,多个交叉节点跟踪所述一个或多个存储器行,其中,在多个第一级(L1)高速缓存和物理分布的高速缓存结构上维持所述一个或多个存储器行的所述一致性。每一个L1高速缓存可以专用于计算切片的执行块,并且每一个交叉节点可以专用于计算切片。

【技术实现步骤摘要】
【专利说明】
技术介绍
诸如游戏和媒体播放器的某些应用可以使用嵌入式设计、图形处理单元等等,以便处理计算密集型工作负荷。在这样的情况中,中央处理单元(CPU)可以例如以一个或多个命令的形式将工作负荷派遣到GPU,其中GPU可以对于所述一个或多个命令做出响应而在内部执行包含多个工作项目的工作组。为了维持GPU上的工作项目和工作组之间的序列一致性,可以使用诸如屏障命令(“屏障”)、存储器篱障和未排序原子操作(“原子”)的解决方案。然而,这样的解决方案会是粗粒度的并且不能够控制具体的存储器存取顺序。而且,传统解决方案可能不能够确保在GPU和CPU上的存储器一惯性(例如,一致性),除非使用硬件刷新和软件栈调用,其中刷新和栈调用会对性能具有负面影响。【附图说明】通过阅读下面的说明书和所附权利要求书,并且通过参照下面的附图,实施例的各种优点对于本领域技术人员将变得显而易见,在附图中:图1A是根据实施例的计算架构的示例的方框图;图1B是根据实施例的计算切片的示例的方框图;图2是根据实施例的操作图形处理器的方法的示例的流程图;图3A到3E是根据实施例的一致性协议表的示例的说明;图4是根据实施例的具有导航控制器的系统的示例的方框图;并且图5是根据实施例的具有小形状因子的系统的示例的方框图。【具体实施方式】图1A和IB示出了可以通常作为计算平台的一部分的计算架构10,该计算平台例如以智能电话、平板电脑、移动互联网设备(MID)、智能电视(TV)、媒体播放器、笔记本电脑、桌面型计算机、服务器、可佩戴设备等等为例。如在图1A中最佳示出的,系统高速缓存12 (例如,静态随机存取存储器/SRAM、探听过滤器)可以耦合到具有专用高速缓存16(16a-16c,例如SRAM)的多个主机处理器14(14a_14c)。系统高速缓存12也可以耦合到系统存储器18 (例如,动态随机存取存储器/DRAM,“主存储器”),该系统存储器用于存储针对架构10的各种组件的数据、指令等等。每一个主机处理器14可以是能够执行与视觉内容的呈现相关联的硬件、脚本等等并且经由图形接口 22将相关联的工作负荷发出到图形处理器20的中央处理单元(CPU)。系统高速缓存12可以通常跟踪与那些工作负荷相关联的存储器行(例如,高速缓存行或者其它数据结构)的存在,并且提供探听过滤服务,其中图形接口 22可以评估从系统高速缓存12接收到的探听请求并且将它们发送到图形处理器20上的合适的高速缓存目的地用于进一步评估。图形处理器20可以通常处理计算密集型工作负荷,例如以像素颜色值计算、直方图计算等等为例,以便支持和/或促进视觉内容(例如,三维/3D图形、非3D图像等等)的呈现。更具体地说,所说明的图形处理器20包括用于执行多个工作项目的计算切片24(24a-24d)的物理分布的集合,以及用于维持与多个工作项目相关联的一个或多个存储器行(例如,系统定义的尺寸)在图形处理器20、系统存储器18和主机处理器14上的一致性的高速缓存结构。如下面将更加详细讨论的,高速缓存结构可以提供维持工作项目和工作组之间的序列一致性、控制特定的存储器存取顺序并且确保存储器一惯性(例如,一致性)的细粒度方案。如在图1B中最佳示出的,高速缓存结构可以包括多个第一级(LI)高速缓存26 ( “Ll$”),每一个LI高速缓存26专用于计算切片24的执行块28。因此,在由高速缓存结构跟踪存储器行的同时,多个LI高速缓存26可以提供相对高的带宽和低的时延存储。每一个执行块28可以包括用于执行工作项目的执行单元(EU) 34的阵列以及用于执行在寻址存储器中的数据操作数时涉及的有效地址计算(例如,使用整数算法)的地址生成单元(AGU)36 ο高速缓存结构也可以包括物理分布的共享高速缓存结构30,其中在多个LI高速缓存26和共享高速缓存结构30之间维持一个或多个存储器行的一致性。将共享高速缓存结构30配置为物理分布的实体可以能够使共享高速缓存结构30的尺寸最大化,同时满足每一个执行块28的带宽需求。在所说明的示例中,共享高速缓存结构30被配置为具有多个排的第二级高速缓存(“L2$”)。在这样的情况下,共享高速缓存结构30可以使存储器行在多个排上形成散列,以便确保数据在共享高速缓存结构30上的均匀分布。所说明的方案可以提供较大的并且更加可调节的高速缓存,具有最小的探听惩罚(例如,对于处理探听请求的相对小的性能影响),在跨计算切片业务方面具有潜在的增加。可选地,共享高速缓存结构30可以被配置为多个独立的第二级(L2)高速缓存31,其中,每一个L2高速缓存31专用于计算切片。这样的方案可以提供执行块28的本地存储,同时最小化跨计算业务。这两个实现选择可以使用相同的探听跟踪逻辑实现一致性。可选地,高速缓存结构可以包括用于跟踪一个或多个存储器行的多个交叉节点32 (例如,高速缓存桥),每一个交叉节点32专用于计算切片24。交叉节点32可以将源自系统高速缓存12的探听请求分布到共享高速缓存结构30和LI高速缓存26。此外,交叉节点32可以从共享高速缓存结构30和多个LI高速缓存26收集一个或多个探听结果,并且将收集到的探听结果经由图形接口 22传送到系统高速缓存12。如下面将更加详细讨论的,高速缓存结构可以使用修改、独占、共享、无效(MEDSI)协议来维持一个或多个存储器行的一致性。所说明的架构10因此使用图形处理器20的高速缓存结构、主机处理器14的专用高速缓存16、系统高速缓存12和系统存储器18来实现能够维持图形工作项目和工作组之间的序列一致性、控制特定的存储器存取顺序并且确保整个架构10上的一致性的存储器/高速缓存分级。这样的细粒度方案相对于依赖于屏障、存储器篱障、未排序原子、硬件刷新和软件栈调用的传统方案会尤其有利。例如,加载(例如,读取操作)和存储(例如,写入操作)跟踪可以开始于执行块28的级,其中系统存储器18的读取可以返回有效数据并且存储器分级中的较高级可以跟踪受影响的存储器行的存在,用于该分级中的下一个较低级。可以允许分级中的低级默默地丢弃它们的存储器行用于更换,除非修改了逐出行(例如,由于更换而被逐出的存储器行)。写入跟踪会是更加限制的,其中每一个写入的发起者可以基于该写入相对于存储器行的尺寸来在该发起者更新它的LI高速缓存26之前实现目的地地址的所有权。出于简化的目的,可以实现策略,其中仅允许修改的存储器行的一个拷贝存在于整个高速缓存结构上。这样的策略可以规定在相对精确地进行数据交换的同时跟踪存储器行的最新拷贝。现在转到图2,示出了操作图形处理器的方法38。方法38可以被实现在可执行软件中作为存储在存储器的计算机或者计算机可读存储介质中的逻辑指令的集合,该存储器例如是随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存等等,可以被实现在可配置逻辑中,该可配置逻辑例如以可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)为例,可以被使用电路技术实现在固定功能逻辑硬件中,该电路技术例如以专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或者晶体管-晶体管逻辑(TTL)技术或者其任意组合为例。所说明的处理块40规定由计算切片的物本文档来自技高网...

【技术保护点】
一种用于实现图形高速缓存分级的系统,包括:用于呈现视觉内容的显示器;耦合到一个或多个主机处理器和系统存储器的系统高速缓存;耦合到所述系统高速缓存的图形接口;以及耦合到所述图形接口的图形处理器,所述图形处理器包括:用于执行与所述视觉内容相关联的多个工作项目的计算切片的物理分布的集合,以及用于维持与所述多个工作项目相关联的一个或多个存储器行在所述图形处理器、所述系统存储器和所述一个或多个主机处理器上的一致性的高速缓存结构,其中,所述高速缓存结构包括:多个第一级(L1)高速缓存,每一个L1高速缓存专用于计算切片的执行块,物理分布的共享高速缓存结构,其中,在所述多个L1高速缓存和所述共享高速缓存结构上维持所述一个或多个存储器行的所述一致性,以及用于跟踪所述一个或多个存储器行的多个交叉节点,每一个交叉节点专用于计算切片,所述多个交叉节点进一步用于将源自所述系统高速缓存的一个或多个探听请求经由所述图形接口分布到所述共享高速缓存结构和所述多个L1高速缓存,从所述共享高速缓存结构和所述多个L1高速缓存收集一个或多个探听结果,并且将所述一个或多个探听结果传送到所述系统高速缓存。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A·科克A·纳瓦勒
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1