【技术实现步骤摘要】
区域感知增量预取器
[0001]本公开总体上涉及处理系统领域,并且更具体地涉及区域感知增量(delta)预取器。
技术介绍
[0002]存储器预取是一种由许多现代计算机处理器实现的、用于增强核心性能的技术。预取可用于加快指令或数据的取得(fetch)操作并减少等待时间。通常,处理器监测执行应用的存储器访问模式,并尝试预测在应用的执行期间将被处理器访问的指令或数据。标识的指令或数据从较慢的存储器中的其原始存储位置被取得,并在这些标识的指令或数据被应用需要之前被移动到较快的本地存储器中。本地存储器通常是缓存,并且允许比主存储器访问或较低级别的存储访问显著更快地访问其内容,这是因为缓存更靠近于处理器。然而,等待时间仍然是高性能核心的瓶颈。
附图说明
[0003]图1是根据至少一个实施例的实现区域感知增量预取的计算系统的简化框图。
[0004]图2是图示根据至少一个实施例的、与区域感知增量预取相关联的子区域缓冲器的详细信息的框图。
[0005]图3是图示根据至少一个实施例的、可在区域感知增量预取中使用的元数据的示例的框图。
[0006]图4是图示根据至少一个实施例的、与区域感知增量预取相关联的模式表的详细信息的框图。
[0007]图5是图示根据至少一个实施例的、区域感知增量(region aware delta,RAD)预取器中操作的流程的框图。
[0008]图6是图示根据至少一个实施例的、关于两个波前的经解耦的预取生成和发出的框图。
[0009]图7是图示根据 ...
【技术保护点】
【技术特征摘要】
1.一种装置,包括:存储器电路系统,包括第一数据结构;预取电路系统,耦合至所述存储器电路系统,所述预取电路系统用于:在所述第一数据结构中存储与分配给程序的存储器区域的第一子区域相对应的第一子区域条目,所述第一子区域条目包括多个增量值,所述多个增量值中的第一增量值表示与所述存储器区域的第二子区域内的连续存储器访问相关联的两个缓存行之间的第一距离;检测所述第一子区域中第一缓存行的第一存储器访问;基于所述第一缓存行和所述多个增量值来标识预取候选;以及基于要被预取到缓存中的所述预取候选中的至少两个预取候选来发出至少一个预取请求。2.如权利要求1所述的装置,其中所述第一子区域条目用于响应于所述预取电路系统检测到对所述第一子区域的新存储器访问请求以及确定所述第一数据结构缺少所述第一子区域条目而被存储在所述第一数据结构中。3.如权利要求1所述的装置,其中,所述预取电路系统进一步用于:确定第二增量值,所述第二增量值表示所述第一子区域中的所述第一缓存行与所述第一子区域中的第二缓存行之间的第二距离,所述第二缓存行用于在所述第一缓存行被访问之前并且在没有对所述第一子区域的中间存储器访问的情况下被所述程序访问。4.如权利要求3所述的装置,其中,所述预取电路系统进一步用于:响应于确定所述第二增量值是所述第一子区域条目中的所述多个增量值中的一个增量值,使映射到所述第一子区域条目中的所述第二增量值的第二频率值递增。5.如权利要求3所述的装置,其中,所述预取电路系统进一步用于:响应于确定所述第二增量值未被包括在所述第一子区域条目中的所述多个增量值中,将所述第二增量值和映射到所述第二增量值的第二频率值存储在所述第一子区域条目中。6.如权利要求5所述的装置,其中,所述预取电路系统用于:响应于确定所述第二频率值至少为3,将所述第一子区域条目从所述第一数据结构驱逐。7.如权利要求3所述的装置,其中,所述预取电路系统进一步用于:确定第三增量值,所述第三增量值表示所述第一缓存行与所述第一子区域中的第三缓存行之间的第三距离,所述第三缓存行用于在所述第二缓存行被访问之前并且在没有对所述第一子区域的中间存储器访问的情况下被所述程序访问;以及响应于确定所述第三增量值是所述第一子区域条目中所述多个增量值中的一个增量值,使映射到所述第一子区域条目中的所述第三增量值的第三频率值递增。8.如权利要求7所述的装置,其中,所述预取电路系统进一步用于:确定第四增量值,所述第四增量值表示所述第一缓存行与所述第一子区域中的第四缓存行之间的第四距离,所述第四缓存行用于在所述第三缓存行被访问之前并且在没有对所述第一子区域的中间存储器访问的情况下被所述程序访问;以及响应于确定所述第四增量值是所述第一子区域条目中所述多个增量值中的一个增量值,使映射到所述第一子区域条目中的所述第四增量值的第四频率值递增。
9.如权利要求1
‑
8中任一项所述的装置,其中第一时间窗口在所述第一子区域条目被存储在所述第一数据结构中时开始,并且其中所述第一时间窗口在所述第一子区域条目从所述第一数据结构被驱逐时结束。10.如权利要求9所述的装置,其中,所述预取候选用于响应于确定所述第一缓存行在所述第一时间窗口期间尚未被所述程序访问而被标识。11.如权利要求9所述的装置,其中,所述预取电路系统进一步用于:将区域条目存储在所述存储器电路系统的第二数据结构中以跟踪针对所述存储器区域的、预定数量的最频繁出现的增量值;以及将所述预定数量的最频繁出现的增量值加载到所述第一子区域条目中作为所述多个增量值。12.如权利要求11所述的装置,其中,所述预取电路系统进一步用于:在所述第一时间窗口之前,从所述第一数据结构驱逐与所述存储器区域的所述第二子区域相对应的第二子区域条目;以及用来自所述第二子区域条目的多个选择的增量值来更新所述区域条目中的所述预定数量的最频繁出现的增量值。13.如权利要求12所述的装置,其中,所述预取电路系统进一步用于:选择所述第二子区域条目中的所述多个选择的增量值,以至少部分基于所述多个选择的增量值的相应频率值来更新所述区域条目中的所述预定数量的最频繁出现的增量值;其中更新所述区域条目中的所述预定数量的最频繁出现的增量值包括将用与所述多个选择的增量相对应的多个频率值来更新所述区域条目中的相对应的频率值。14.如权利要求1
‑
8中的任一项所述的装置,其特征在于,所述预取电路...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。