用于预取流量的改进控制的方法和系统技术方案

技术编号:10218159 阅读:135 留言:0更新日期:2014-07-16 16:30
描述了预取流量的改进控制,具体描述了用于改进控制由处理器生成的流量的方法及系统。在一个实施例中,当设备生成为来自存储器层级的一条数据或指令生成预取请求时,设备包括在请求中的预取标识符。此标识符将请求标记为预取请求而不是非预取请求,例如时间敏感型请求。基于该标识符,当预取流量没有被存储器层级完成时,存储器层级然后可以在高流量时发布中止响应,这抑制了预取流量。在接收到中止响应时,设备删除预取请求的任何记录的至少一部分,并且如果后来需要数据/指令,则以比原来的预取请求更高的优先级发布新的请求。

【技术实现步骤摘要】
【专利摘要】本专利技术描述了预取流量的改进控制,具体描述了用于改进控制由处理器生成的流量的方法及系统。在一个实施例中,当设备生成为来自存储器层级的一条数据或指令生成预取请求时,设备包括在请求中的预取标识符。此标识符将请求标记为预取请求而不是非预取请求,例如时间敏感型请求。基于该标识符,当预取流量没有被存储器层级完成时,存储器层级然后可以在高流量时发布中止响应,这抑制了预取流量。在接收到中止响应时,设备删除预取请求的任何记录的至少一部分,并且如果后来需要数据/指令,则以比原来的预取请求更高的优先级发布新的请求。【专利说明】预取流量的改进控制
技术介绍
为了减少与访问存储在主存储器中的数据相关联的延迟,处理器通常使用存储器层级,其包括一个或多个缓存。通常有两个或三个级别的缓存,记为L1、L2和L3,并且在一些示例中,前两个缓存(LI和L2)可以是片上缓存,其通常以SRAM (静态随机存取存储器)实现,而第三级缓存(L3)可以是片外缓存。在其他的示例中,例如在片上系统(SoC)中,所有的存储器可在同一块硅片上实现。缓存比以DRAM实现的主存储器小,但涉及访问缓存的延迟比主存储器短得多,并且在层级中的较下层中变得更短(LI缓存被认为是最低级别缓存)。由于延迟与缓存的大小至少近似有关,所以更低级别的缓存(例如LI)通常比更高级别的缓存(例如L2)更小。当处理器,或者更具体地,处理器运行的MEM阶段,访问一条数据或指令时,条数据或指令从层级中可用的最低一级被访问(最低一级是最接近处理器的一级)。例如,将在LI缓存中执行查找,如果项目(即数据/指令)在LI缓存中,这被称为缓存命中。然而,如果项目不在LI缓存中,这是缓存未中,并接着检查层级中的下一级别直到找到项目(例如L2缓存,如果项目也不在L2缓存中,则其次是L3缓存)。在缓存未中的情况下,项目被带入缓存。由于在最低级的缓存(例如LI缓存)中缓存未中引起的存储器层级的遍历,引入了延迟,为了克服这一点,处理器可以在需要数据和/或指令之前取得它们,这个过程被称为“预取”。预取可以针对以下项目(即数据/指令):处理器将来肯定会需要的项目,如果程序中采用特定分支则处理器可能需要的项目,和/或基于替代的预测方法而被预取的项目。分支预测可以用来预测可能会采用哪些分支,减少浪费的预取量(即,预取了项目,但实际上并没有被处理器所使用)。例如,乱序处理器使用分支预测和投机预取以允许在预测的分支中的指令被乱序地投机执行。下面描述的实施例不限于解决已知的管理预取流量的方法的缺点的任何或所有实现。
技术实现思路
以简化的形式提供本
技术实现思路
以介绍概念的选择,其将会在下面的【具体实施方式】中进一步描述。该
技术实现思路
并不意图标识所要求保护主题的敏感特征或重要特征,也不是为了用于帮助确定所要求保护的主题的范围。描述了用于改进控制由处理器生成的流量的方法和系统。在一个实施例中,当设备为来自存储器层级的一条数据或指令生成预取请求时,设备包括在请求中的预取标识符。这个标识符将请求标记为预取请求而不是非预取请求,例如时间敏感型请求。基于该标识符,在预取流量没有被存储器层级完成时,存储器层级然后可以在高流量时发布抑制预取流量的中止响应。在接收到中止响应时,设备删除预取请求的任何记录的至少一部分,并且如果后来需要数据/指令,则以比原来的预取请求更高的优先级发布新的请求。第一方面提供了控制由处理器生成的流量的方法,所述方法包括:将预取标识符附加到预取请求,预取请求从存储器层级请求项目,其中项目包括一条数据或指令;将预取请求从处理器传输到存储器层级;以及响应于接收对应于预取请求的中止响应,移除关于预取请求的本地存储的至少一部分数据。第二方面提供了控制由处理器生成的流量的方法,所述方法包括:在存储器层级中的节点处接收来自处理器的预取请求,预取请求包括预取标识符,并且请求存储在存储器层级中的项目,其中所述项目包括一条数据或指令;基于预取标识符和处在存储器层级的一部分内的流量级别的评估,确定是否生成对应于预取请求的中止响应;如果评估确定将生成中止响应,则生成对应于预取请求的中止响应;并且将中止响应传输到处理器。第三方面提供了一种系统,包括:多个设备,其被安排用来生成来自存储器层级的项目的请求,其中项目包括一条数据或指令;存储器层级的至少一部分;以及连接多个设备和存储器层级的至少一条总线,其中多个设备中的至少一个包括:第一硬件逻辑,其被安排用来将预取标识符附加到预取请求,预取请求从存储器层级请求项目并将预取请求从处理器传输到存储器层级;以及第二硬件逻辑,其被安排用来响应于接收对应于预取请求的中止响应,移除关于预取请求的本地存储的至少一部分数据。第四方面提供了重置一部分系统的方法,该方法包括:在存储器层级中生成中止所有响应;并且响应于在处理器处接收中止所有响应,移除本地存储的、与先前发送到所述存储器层级的存储在所述存储器层级的数据项目的任何未完成的请求有关的至少一部分数据。第五方面提供了一种基本上如参考附图2-5中任意一个描述的方法。第六方面提供了基本上如参考附图1描述的一种系统。这里描述的方法可以由配置了软件的计算机执行,所述软件以机器可读形式存储在有形存储介质中,例如当程序运行在计算机上时和当计算机程序可以实施在计算机可读介质上时,为包括用于配置计算机来执行描述方法的组成部分的计算机程序代码的计算机程序形式,或者为包括适于执行在这里描述的任何方法的所有步骤的计算机程序代码模块的计算机程序形式。有形(或非瞬态)存储介质的示例包括磁盘、拇指驱动器、存储器卡等,并不包括传播信号。软件可以适应于在并行处理器或串行处理器上执行,从而可以以任何合适的顺序或同时进行所述方法步骤。这认可了:固件和软件可以被分别使用并且是有价值的。它的目的是包含运行于或控制“哑的”或标准硬件的软件,以实现所需的功能。其还意图包含“描述”或定义硬件配置的软件,例如HDL (硬件描述语言)软件,如硅芯片设计所使用的,或用于配置通用可编程芯片,以实现所需的功能。优选的特征可以在合适处进行组合,这对技术人员来说是显而易见的,并且可与专利技术的任何方面进行组合。【专利附图】【附图说明】本专利技术的实施例将会以示例的方式并参考以下附图描述,其中:图1是系统的示意图;图2是控制预取流量的示例方法的流程图;图3是控制预取流量的另一个示例方法的流程图;图4是显不了权利要求1的系统中的不例消息流不意图;和图5是显示了控制流量的示例方法的示意图。贯穿各图使用共同的参考数字表示相似的特征。【具体实施方式】以下仅仅以示例的方式描述本专利技术的实施例。这些示例代表了将本专利技术付诸实践的对于 申请人:来讲已知的最佳方式,但是它们并不是唯一的实现方法。描述阐明了示例的功能和构建和操作示例的步骤的顺序。然而,相同或同等的功能和顺序可由不同的示例来完成。下面的描述关于控制在处理器和存储器之间和/或在存储器层级之间的流量的改进方法。具体地讲,描述了控制预取流量的方法。也描述了可以实现一些或全部方法步骤的硬件和/或软件。如上所述,处理器可以从关联的存储器层级预取数据和/或指令,以减少与遍历存储器层级(例如,在最闻级缓存的缓存未中的情况下)相关联的延迟,以提闻效率(例如,在乱序处理器的情况本文档来自技高网
...

【技术保护点】
一种控制由处理器生成的流量的方法,所述方法包括:在所述处理器处将预取标识符附加到预取请求(202),以将所述预取请求标记为预取请求而不是非预取请求,所述预取请求从存储器层级请求项目,其中所述项目包括一条数据或指令;将所述预取请求从所述处理器传输到所述存储器层级(204);以及响应于在所述处理器处接收对应于由所述存储器层级的节点基于所述预取标识符生成的所述预取请求的中止响应(216),移除与所述预取请求相关的本地存储到所述处理器的至少一部分数据(218)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:J·梅雷迪思
申请(专利权)人:想象力科技有限公司
类型:发明
国别省市:英国;GB

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

1