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

图形处理单元三维管线的共享功能的资源状态的高效缓存制造技术

技术编号:37059337 阅读:14 留言:0更新日期:2023-03-29 19:36
本文描述的实施例通常涉及3D管线的共享功能内的本地缓存结构,该结构促进资源状态的高效缓存。在示例中,缓存结构被维护在GPU的子核心内。本地缓存结构包括(i)具有条目的SC,每个条目包含绑定资源的状态,以及(ii)具有条目的DSAT,每个条目均包含到SC的索引。DSAT由表示绑定表条目地址的SBTO值标记。接收对由3D管线的共享功能访问的特定绑定资源的状态的请求,该请求包括指示指向绑定表内的条目的SBTO的信息。基于SBTO并在对缓存结构的单个访问期间作出关于特定绑定资源的状态是否存在的确定。定。定。

【技术实现步骤摘要】
图形处理单元三维管线的共享功能的资源状态的高效缓存


[0001]本文所述的实施例总体上涉及图形处理单元(graphics processing unit,GPU)领域,并且更具体地涉及与被GPU的三维(three

dimensional,3D)管线的共享功能访问的资源有关的状态信息的高效缓存和取回。

技术介绍

[0002]3D管线中的共享功能(如纹理采样器)需要被访问的资源(例如,底层纹理资源)的状态信息(例如,采样器状态(诸如过滤模式、寻址模式、最大各向异性等)。如果不进行高效的管理,此类状态信息取得可能是非常昂贵的。所产生的成本是由于取得等待时间的原因,由于绑定表以及状态改变的高频率,这通常需要多次存储器访问。
附图说明
[0003]本文所描述的各实施例作为示例而非限制在所附附图的各图中示出,在附图中,同样的附图标记指代类似的要素。
[0004]图1是根据实施例的处理系统的框图。
[0005]图2A

图2D图示根据一些实施例的计算系统和图形处理器。
[0006]图3A

图3C图示根据一些实施例的附加的图形处理器和计算加速器体系结构的框图。
[0007]图4是根据一些实施例的图形处理器的图形处理引擎的框图。
[0008]图5A

图5B图示根据一些实施例的线程执行逻辑,该线程执行逻辑包括在图形处理器核心中采用的处理元件的阵列。
[0009]图6图示根据实施例的附加的执行单元。
[0010]图7是图示根据一些实施例的图形处理器指令格式的框图。
[0011]图8是图形处理器的另一实施例的框图。
[0012]图9A是图示根据一些实施例的图形处理器命令格式的框图。
[0013]图9B是图示根据实施例的图形处理器命令序列的框图。
[0014]图10图示根据一些实施例的数据处理系统的示例性图形软件体系结构。
[0015]图11A是图示根据实施例的可用于制造集成电路以执行操作的IP核心开发系统的框图。
[0016]图11B图示根据一些实施例的集成电路封装组件的截面侧视图。
[0017]图11C图示根据实施例的封装组件,该封装组件包括连接到衬底的多个单元的硬件逻辑小芯片。
[0018]图11D图示根据实施例的包括可互换小芯片的封装组件。
[0019]图12是图示根据实施例的可使用一个或多个IP核心来制造的示例性片上系统集成电路的框图。
[0020]图13A

图13B是图示根据一些实施例的用于在SoC内使用的示例性图形处理器的
框图。
[0021]图14是图示涉及两个级别的间接引用(indirection)的对存储器的状态请求的框图。
[0022]图15是图示根据一个实施例的用于促进间接引用的高效解析的本地缓存结构的框图。
[0023]图16A是图示根据实施例的图15的本地缓存结构内的第一示例场景和对应的数据流的框图。
[0024]图16B是图示根据实施例的图15的本地缓存结构内的第二示例场景和对应的数据流的框图。
[0025]图16C是图示根据实施例的图15的本地缓存结构内的第三示例场景和对应的数据流的框图。
[0026]图16D是图示根据实施例的图15的本地缓存结构内的第四示例场景和对应的数据流的框图。
[0027]图17是图示根据实施例的状态请求处理的流程图。
[0028]图18是图示根据实施例的DSAT未命中处理的流程图。
[0029]图19是图示根据实施例的BTC未命中处理的流程图。
[0030]图20是图示根据实施例的来自存储器的状态偏移(state offset,SO)返回处理的流程图。
[0031]图21是图示根据实施例的状态缓存(state cache,SC)未命中处理的流程图。
[0032]图22是图示根据实施例的来自存储器的状态返回处理的流程图。
具体实施方式
[0033]本文描述的实施例通常涉及3D管线的共享功能内的本地缓存结构,该结构促进资源状态的高效缓存。如下文典型地参考图14进一步所解释,共享功能(例如,纹理采样器)通常实现状态缓存,以避免取得每个消息的状态信息。对于绑定的资源,在获得所需状态信息之前通常会发出多个串行存储器请求。
[0034]因此,本文描述的实施例寻求通过实现本地缓存结构来改善由共享功能使用的资源状态的缓存和取得的效率,共享功能可以从该本地缓存结构中请求与同GPU的3D管线相关联的绑定表流(其在本文中也可以简称为绑定表)的条目相关联的所需状态信息。如下文参考图15进一步描述,本地缓存结构可以包括存储绑定表条目的绑定表缓存(binding table cache,BTC)、包含绑定资源的状态的状态缓存(SC)和促进确定关于状态请求是表示在单个访问中在本地缓存结构内的命中还是表示在单个访问中在本地缓存结构内的未命中的直接状态访问表(direct state access table,DSAT),等等。由共享功能作出的状态请求应在共享功能管线的前端处执行,以促进共享功能管线的下游部分的状态信息的可用性,该下游部分将最终利用状态信息来执行所讨论的操作。
[0035]根据一个实施例,本地缓存结构被维护在GPU的子核心内,并且包括(i)状态缓存(SC),其具有多个SC条目,每个SC条目包含绑定资源的状态,以及(ii)直接状态访问表(DSAT),其具有多个DSAT条目,每个DSAT条目包含表示进入SC的索引的状态位置标识符(state location identifier,SLID)。DSAT可以以内容可寻址存储器(content

addressable memory,CAM)的形式实现,该内容可寻址存储器由表示与GPU的3D管线相关联的绑定表流的地址条目的状态绑定表偏移(state binding table offset,SBTO)值标记并被存储在与GPU相关联的存储器子系统内。对被3D管线的共享功能访问的特定绑定资源的状态的请求被接收。该请求包括指示指向绑定表流中的条目的SBTO的信息。基于SBTO,作出关于在对本地缓存结构的单个访问期间、特定绑定资源的状态是否存在于本地缓存结构内的确定。
[0036]如下面进一步描述,由本文描述的各种实施例提供了许多优点和效率,包括对于目前需要针对缓存未命中的两个依赖性存储器访问的绑定资源的状态缓存的增加的效率。所提出的本地缓存结构还提供了用于从绑定表偏移直接映射到状态的机制。此外,所提出的本地缓存结构也减少了在两个不同的绑定表条目指向同一状态的场景中使用的条目数量。例如,在本地上缓存绑定表条目(例如,在BTC内)允许通过SLID而不是指向绑定表流的指针对SC进行索引,这可以防止在多个绑定表流条目指向同一状态时SC中出现重复条目。然而,当绑定表树在绘制调用(draw call,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图形处理单元GPU,包括:三维3D管线,所述3D管线能操作用于执行3D操作;子核心,所述子核心能操作用于维护缓存结构,所述缓存结构包括(i)状态缓存SC,所述状态缓存SC具有多个SC条目,每个SC条目包含绑定资源的状态,以及(ii)直接状态访问表DSAT,所述直接状态访问表DSAT具有多个DSAT条目,每个DSAT条目包含表示到所述SC的索引的状态位置标识符SLID,其中,所述DSAT包括由表示与所述3D管线相关联的绑定表流的条目地址的状态绑定表偏移SBTO值标记并且被存储在与所述GPU相关联的存储器子系统内的内容可寻址存储器CAM;以及共享功能,所述共享功能能操作用于向所述缓存结构发出对由所述共享功能访问的特定绑定资源的状态的请求,其中所述请求包括指示指向所述绑定表流内的条目的SBTO的信息;以及其中响应于所述请求,所述缓存结构能操作用于作出关于基于所述SBTO在对所述缓存结构的单个访问期间、所述特定绑定资源的状态是否存在于所述缓存结构内的确定。2.如权利要求1所述的GPU,其中,响应于所述确定是肯定的,所述DSAT能操作用于使得所述SC通过基于所述多个DSAT条目中匹配所述SBTO的特定DSAT条目的SLID来对所述SC进行索引以输出所述特定绑定资源的状态。3.如权利要求1所述的GPU,其中,响应于所述SBTO表示所述DSAT内的缓存命中且所述确定是否定的,所述SC能操作用于分配所述多个SC条目中的新SC条目并向所述存储器子系统发出对所述特定绑定资源的状态的请求。4.如权利要求1

3中任一项所述的GPU,其中,所述缓存结构进一步包括绑定表缓存BTC,所述绑定表缓存BTC包括多个BTC条目,每个BTC条目包含从所述绑定表流缓存的状态偏移的缓存行,其中所述BTC包括由所述SBTO的部分标记的CAM,并且其中响应于所述SBTO表示所述DSAT内的缓存未命中,所述DSAT进一步能操作用于分配所述多个DSAT条目中的新DSAT条目。5.如权利要求4所述的GPU,其中,所述SC包括由状态偏移字段标记的CAM,并且其中响应于所述SBTO表示所述BTC内的缓存命中,所述DSAT进一步能操作用于使得所述BTC从存储在所述多个BTC条目中的、与所述SBTO的部分匹配的特定BTC条目内的状态偏移的缓存行返回与所述SBTO相关联的状态偏移,并且试图基于所述状态偏移来定位所述SC内的所述特定绑定资源的状态。6.如权利要求4所述的GPU,其中,所述缓存结构进一步包括乱序OOO跟踪表,所述乱序OOO跟踪表包括多个跟踪条目,每个跟踪条目包含指向所述多个BTC条目中的特定BTC条目的指针和表示包含在所述特定BTC条目内的状态偏移的所述缓存行中的选择器的偏移,并且其中响应于所述SBTO表示所述BTC内的缓存未命中,所述BTC能操作用于:分配所述多个BTC条目中的新BTC条目;向所述存储器子系统发出对与所述新BTC条目相关联的状态偏移的缓存行的请求;以及通过使得所述OOO跟踪表分配所述多个跟踪条目中的新未决跟踪条目来促进对所述存储器子系统的未完成请求的乱序处理。7.如权利要求1

3中任一项所述的GPU,其中所述共享功能包括纹理采样器。
8.一种方法,包括:在图形处理单元GPU的子核心内本地地维护缓存结构,所述缓存结构包括(i)状态缓存SC,所述状态缓存SC具有多个SC条目,每个SC条目包含绑定资源的状态,以及(ii)直接状态访问表DSAT,所述直接状态访问表DSAT具有多个DSAT条目,每个DSAT条目包含表示到所述SC的索引的状态位置标识符SLID,其中,所述DSAT包括由表示与所述GPU的三维3D管线相关联的绑定表流的条目地址的状态绑定表偏移SBTO值标记并且被存储在与所述GPU相关联的存储器子系统内的内容可寻址存储器CAM;接收对由所述3D管线的共享功能访问的特定绑定资源的状态的请求,其中所述请求包括指示指向所述绑定表流内的条目的SBTO的信息;以及基于所述SBTO来确定在对所述缓存结构的单个访问期间、所述特定绑定资源的状态是否存在于所述缓存结构内。9.如权利要求8所述的方法,进一步包括响应于所述确定是肯定的,使得所述SC通过基于所述多个DSAT条目中匹配所述SBTO的特定DSAT条目的SLID来对所述SC进行索引以输出所述特定绑定资源的状态。10.如权利要求8所述的方法,进一步包括响应于所述SBTO表示所述DSAT内的缓存命中并且所述确定是否定的而进行以下操作:分配所述多个SC条目的新SC条目;以及向所述存储器子系统发出对所述特定绑定资源的状态的请求。11.如权利要求8

10中任...

【专利技术属性】
技术研发人员:C
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1