在处理的同时选择性地写回脏高速缓存行制造技术

技术编号:37059843 阅读:15 留言:0更新日期:2023-03-29 19:36
本发明专利技术涉及一种图形流水线(200),其包括具有高速缓存行(310至313)的高速缓存(207,305),这些高速缓存行被配置为存储在该图形流水线中处理帧所用的数据。该图形流水线使用处理器(115)来实现,该处理器使用存储在该高速缓存中的数据为该图形流水线处理帧。该处理器处理第一帧并且在处理该第一帧的同时将脏高速缓存行从该高速缓存写回到存储器(105)。该脏高速缓存行保留在该高速缓存中,并且在被写回该存储器之后被标记为干净。在一些情况下,该处理器生成指示基于系统存储器控制器处的读取命令占用率来写回该脏高速缓存行的优先级的提示(335)。级的提示(335)。级的提示(335)。

【技术实现步骤摘要】
【国外来华专利技术】在处理的同时选择性地写回脏高速缓存行

技术介绍

[0001]包括图形处理单元(GPU)的处理系统实现了高速缓存层级结构(或多级高速缓存),该高速缓存层级结构使用不同速度的高速缓存层级结构来存储被频繁访问的数据。被更加频繁请求的数据通常被高速缓存在相对高速的高速缓存(诸如L1高速缓存)中,该高速缓存在物理上(或逻辑上)更靠近处理器核心或计算单元部署。较高级别的高速缓存(诸如L2高速缓存、L3高速缓存等)存储较不频繁请求的数据。最后一级高速缓存(LLC)是最高级别(和最低访问速度)的高速缓存,并且LLC直接从系统存储器读取数据并直接将数据写入到系统存储器。高速缓存与存储器不同,因为它们响应于需要写入到高速缓存行的新数据而实现高速缓存替换策略以替换高速缓存行中的数据。例如,最近最少使用(LRU)策略通过驱逐LRU高速缓存行中的数据并且将新数据写入LRU高速缓存行来替换在最长时间间隔内未被访问的高速缓存行中的数据。GPU逐帧地处理数据,例如,GPU中的图形流水线一次渲染一帧。因此,用于高速缓存图形流水线的数据的高速缓存层级结构在一帧结束时并且在后续帧开始之前从高速缓存中驱逐脏数据。驱逐脏数据需要将脏高速缓存行写回到系统存储器,这消耗大量的带宽并且导致高速缓存分级结构和系统存储器之间的流量出现瓶颈。由于用于将新数据读取到干净高速缓存行中并且将脏高速缓存行写回到系统存储器的带宽受限,这些瓶颈在后续帧开始时对GPU的性能产生重大影响。

技术实现思路

[0002]根据一些实施方案,一种装置包括高速缓存,该高速缓存包括被配置为存储在图形流水线中处理帧所用的数据的高速缓存行。该装置还包括实现图形流水线的处理器,其中该处理器被配置为处理第一帧并且在处理第一帧的同时将脏高速缓存行从高速缓存写回到存储器,其中脏高速缓存行中的数据保留在高速缓存中并且在被写回到存储器之后被标记为干净。该装置还可以具有以下方面中的一个或任何组合:该处理器被配置为基于系统存储器控制器(SMC)处的读取命令占用率将脏高速缓存行选择性地写回到存储器;该处理器被配置为响应于读取命令占用率小于第一阈值而将脏高速缓存行中的数据传输到SMC,其中该SMC被配置为将从处理器接收的数据写回到存储器;该处理器被配置为响应于读取命令占用率大于第一阈值且小于第二阈值而将脏高速缓存行中的数据以指示将数据写回到存储器是低优先级的提示传输到SMC;该SMC被配置为响应于接收到提示而在将数据写回到存储器之前提供未决的读取请求;该处理器被配置为响应于读取命令占用率大于第二阈值而绕过将脏高速缓存行中的数据传输到SMC。该装置还可以包括以下方面中的一个或任何组合:处理器被配置为响应于脏高速缓存行被标记为干净而在从第一帧到第二帧的转换期间绕过将脏高速缓存行写回到存储器;并且该处理器被配置为响应于完成第一帧的处理并发起第二帧的处理而写回未被标记为干净的脏高速缓存行中的数据。
[0003]根据一些实施方案,一种方法包括使用存储在与图形流水线相关联的高速缓存的高速缓存行中的数据在图形流水线中处理第一帧。该方法还包括在处理第一帧的同时将脏高速缓存行从高速缓存写回到存储器,并且将脏高速缓存行中的数据保留在高速缓存中。
该方法还包括在脏高速缓存行被写回到存储器之后将脏高速缓存行标记为干净。该方法还可以具有以下方面中的一个或任何组合:其中写回脏高速缓存行包括基于系统存储器控制器(SMC)处的读取命令占用率将脏高速缓存行选择性地写回到存储器;其中写回脏高速缓存行包括响应于读取命令占用率小于第一阈值,将脏高速缓存行中的数据传输到SMC;该方法还包括将从SMC接收的数据写回到存储器;写回脏高速缓存行包括响应于读取命令占用率大于第一阈值且小于第二阈值而将脏高速缓存行中的数据以指示将数据写回到存储器是低优先级的提示传输到SMC;该方法还包括响应于接收到该提示而在将数据写回到存储器之前在SMC处提供未决的读取请求;其中选择性地将脏高速缓存行写回到存储器包括响应于读取命令占用率大于第二阈值而绕过将脏高速缓存行中的数据传输到SMC;该方法还包括响应于脏高速缓存行被标记为干净而在从第一帧到第二帧的转换期间绕过将脏高速缓存行写回到存储器;或该方法还包括响应于完成第一帧的处理并且发起第二帧的处理而写回未被标记为干净的脏高速缓存行中的数据。
[0004]根据一些实施方案,一种装置包括被配置为实现图形流水线的一组计算单元,并且还包括在与该组计算单元相关联的高速缓存层级结构中的最后一级高速缓存(LLC),其中计算单元被配置为在基于存储在脏高速缓存行中的数据处理第一帧的同时将脏高速缓存行从LLC写回到存储器,并且其中脏高速缓存行在被写回到存储器之后被标记为干净。装置还可以具有以下方面中的一个或任何组合:计算单元被配置为基于系统存储器控制器(SMC)的读取命令占用率来确定将脏高速缓存行从LLC写回到存储器的优先级;或者计算单元被配置为响应于脏高速缓存行被标记为干净而在从第一帧到第二帧的转换期间绕过将脏高速缓存行写回到存储器,并且其中计算单元被配置为响应于完成第一帧的处理并且发起第二帧的处理而写回未标记为干净的脏高速缓存行中的数据。
附图说明
[0005]通过参考附图,本公开被更好地理解,并且其许多特征和优点对于本领域技术人员是显而易见的。在不同附图中使用相同的附图标记表示类似或相同的项目。
[0006]图1是根据一些实施方案的在处理的同时选择性地写回脏高速缓存行的处理系统的框图。
[0007]图2描绘了根据一些实施方案的被配置为处理高阶几何图元以便以预先确定的分辨率生成三维(3D)场景的光栅化图像的图形流水线。
[0008]图3是根据一些实施方案的存储器系统的一部分的框图。
[0009]图4是根据一些实施方案的在使用高速缓存中的数据处理帧的同时选择性地写回脏高速缓存行的方法的流程图。
具体实施方式
[0010]图1至图4公开了用于在图形处理单元(GPU)中的帧转换期间通过以下方法减少最后一级高速缓存(LLC)和系统存储器之间的可用带宽瓶颈的系统和技术:基于指示系统存储器的未决的读取命令的数量的读取命令占用率选择性地写回LLC的脏高速缓存行中的数据。写回到系统存储器的数据被保留在脏高速缓存行中,这些脏高速缓存行被标记为指示所标记的高速缓存行中的数据已经被写回到系统存储器,因此例如在从第一帧到第二帧的
过渡期间,所标记的高速缓存行可被视为干净的高速缓存行。在一些实施方案中,通过将读取命令占用率与一个或多个阈值进行比较而将脏高速缓存行选择性地写回到系统存储器。例如,如果读取命令占用率小于第一阈值,则将脏高速缓存行中的数据传输到将数据写回到系统存储器的系统存储器控制器(SMC)。如果读取命令占用率大于第二阈值(第二阈值大于第一阈值),则以指示将数据写回到系统存储器是低优先级的提示向SMC发送将脏高速缓存行写回到系统存储器的请求。因此,SMC在执行对系统存储器的低优先级写入之前提供未决的读取请求。如果读取命令占用率大于第三阈值(其大于第二阈值),则不向SMC传输将脏高速缓存行写回到系统存储器的请求。...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种设备,包括:高速缓存,所述高速缓存包括被配置为存储在图形流水线中处理帧所用的数据的高速缓存行;以及处理器,所述处理器实现所述图形流水线,其中所述处理器被配置为处理第一帧并且在处理所述第一帧的同时将脏高速缓存行从所述高速缓存写回到存储器,其中所述脏高速缓存行中的数据被保留在所述高速缓存中并且在被写回到所述存储器之后被标记为干净。2.根据权利要求1所述的装置,其中所述处理器被配置为基于系统存储器控制器(SMC)处的读取命令占用率来选择性地将所述脏高速缓存行写回到所述存储器。3.根据权利要求2所述的装置,其中所述处理器被配置为响应于所述读取命令占用率小于第一阈值而将所述脏高速缓存行中的数据传输到所述SMC,其中所述SMC被配置为将从所述处理器接收的所述数据写回到所述存储器。4.根据权利要求3所述的装置,其中所述处理器被配置为响应于所述读取命令占用率大于所述第一阈值且小于第二阈值而将所述脏高速缓存行中的所述数据以指示将所述数据写回到所述存储器是低优先级的提示传输到所述SMC。5.根据权利要求4所述的装置,其中所述SMC被配置为响应于接收到所述提示而在将所述数据写回到所述存储器之前提供未决的读取请求。6.根据权利要求5所述的装置,其中所述处理器被配置为响应于所述读取命令占用率大于所述第二阈值而绕过将所述脏高速缓存行中的所述数据传输到所述SMC。7.根据权利要求1所述的装置,其中所述处理器被配置为响应于所述脏高速缓存行被标记为干净而在从所述第一帧到第二帧的转换期间绕过将所述脏高速缓存行写回到所述存储器。8.根据权利要求7所述的装置,其中所述处理器被配置为响应于完成所述第一帧的处理并且发起第二帧的处理而写回未被标记为干净的脏高速缓存行中的数据。9.一种方法,包括:使用存储在与图形流水线相关联的高速缓存的高速缓存行中的数据在所述图形流水线中处理第一帧;在处理所述第一帧的同时将脏高速缓存行从所述高速缓存写回到存储器;将所述脏高速缓存行中的所述数据保留在所述高速缓存中;以及在所述脏高速缓存行被写回到所述存储器之后将所述脏高速缓存行标记为干净。10.根据权利要求9所述的方法,其中写回所述脏高速缓存行包括基于系统存储器控制器(SMC)处的读取命令占用率将所述脏高速...

【专利技术属性】
技术研发人员:努尔
申请(专利权)人:ATI科技无限责任公司
类型:发明
国别省市:

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

1