用于自适应混合硬件预取的系统和方法技术方案

技术编号:36684653 阅读:23 留言:0更新日期:2023-02-27 19:45
一种装置包括处理器核和存储器层级结构。存储器层级结构包括主存储器以及主存储器与处理器核之间的一个或更多个缓存。多个硬件预取器耦合至存储器层级结构,并且预取控制电路耦合至多个硬件预取器。预取控制电路被配置成比较一个或更多个缓存性能度量在两个或更多个采样间隔内的改变并且响应于一个或更多个性能度量在至少第一采样间隔与第二采样间隔之间的改变来控制多个硬件预取器的操作。之间的改变来控制多个硬件预取器的操作。之间的改变来控制多个硬件预取器的操作。

【技术实现步骤摘要】
【国外来华专利技术】用于自适应混合硬件预取的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求2020年5月30日提交的美国临时专利申请第63/032,592号的权益。


[0003]本公开内容总体上涉及在计算系统中的缓存中预取数据。

技术介绍

[0004]计算系统可以使用缓存存储器来提高计算性能。例如,计算系统可以将其需要更频繁访问的数据存储在更小、更快的缓存存储器中,而不是将该数据存储在更慢、更大的存储器(例如,主存储器单元)中。因此,计算系统能够更快地访问数据,这可以减少存储器访问的等待时间。
[0005]计算系统可以具有以本文中所称的缓存级进行排序的缓存层级。通常,从最高级缓存到最低级缓存对缓存级进行编号。在缓存层级中可以有两级、三级、四级或甚至更多级的缓存。在本文中,使用惯例以最小的编号指代最高级缓存,其中逐渐降低的缓存级接收逐渐增大的编号。例如,层级中的最高级缓存可以被称为缓存级1(L1)。此处,较低级的缓存级可以被称为L2、L3、L4等。缓存级1(L1)通常是处理器附近的小型快速缓存。最低级缓存通常被称为末级缓存(LLC)。
[0006]当处理器需要数据(称为目标数据)时,处理器通常向最高级缓存(例如,L1)请求目标数据。如果目标数据不在缓存中,则这被称为缓存未命中。在缓存未命中的情况下,通常检查下一级缓存以确定目标数据是否在下一级缓存处。此过程通常被重复进行,直到最高级缓存对目标数据进行了搜索为止。如果没有一个缓存具有目标数据,则从主存储器访问目标数据。

技术实现思路

[0007]根据本公开内容的一个方面,提供了一种装置,该装置包括:处理器核;存储器层级结构,其包括主存储器以及主存储器与处理器核之间的一个或更多个缓存;以及耦合至存储器层级结构的多个硬件预取器。耦合至多个硬件预取器的预取控制电路被配置成:测量一个或更多个缓存性能度量在两个或更多个采样间隔内的改变,以及响应于一个或更多个性能度量在连续采样间隔之间的改变来控制多个硬件预取器的操作。
[0008]可选地,在前述方面的任一方面中,一个或更多个性能度量的改变包括预取准确度在至少第一采样间隔与第二采样间隔之间的改变。
[0009]可选地,在前述方面的任一方面中,预取控制电路被配置成响应于预取准确度从第一采样间隔到第二采样间隔的降低而减小硬件预取器的侵略性。
[0010]可选地,在前述方面的任一方面中,预取控制电路还被配置成响应于检测到的系统利用率水平来控制多个硬件预取器的操作,预取控制电路被配置成响应于高系统利用率而减小硬件预取器的侵略性。
[0011]可选地,在前述方面的任一方面中,预取控制电路被配置成通过减小由硬件预取器使用的程度或距离中的至少一个来减小硬件预取器的侵略性。
[0012]可选地,在前述方面的任一方面中,多个硬件预取器包括第一硬件预取器、第二硬件预取器和第三硬件预取器,每个硬件预取器被连接成从预取控制电路接收单独的控制信号。
[0013]可选地,在前述方面的任一方面中,第一硬件预取器是多偏移预取器(MOP),所述第二硬件预取器是空间存储器流(SMS)预取器,并且所述第三硬件预取器是增强型下一行预取器(ENP)。
[0014]可选地,在前述方面的任一方面中,第一采样间隔和第二采样间隔分别由相应的缓存中的预定数目的驱逐来定义。
[0015]可选地,在前述方面的任一方面中,主存储器与处理器核之间的一个或更多个缓存包括一级(L1)缓存和二级(L2)缓存,多个硬件预取器中的每一个根据单独的性能度量和单独的采样间隔对L1缓存和L2缓存单独操作。
[0016]根据本公开内容的另一方面,提供了一种方法,该方法包括:操作多个硬件预取器以预取存储器层级结构中的数据,存储器层级结构包括主存储器以及主存储器与处理器核之间的一个或更多个缓存;计算一个或更多个性能度量在两个或更多个采样间隔内的改变;以及响应于一个或更多个性能度量在至少第一采样间隔与第二采样间隔之间的改变来控制多个硬件预取器。
[0017]可选地,在前述方面的任一方面中,一个或更多个性能度量的改变包括预取准确度在至少第一采样间隔与第二采样间隔之间的改变。
[0018]可选地,在前述方面的任一方面中,响应于一个或更多个性能度量的改变来控制多个硬件预取器包括:响应于预取准确度从第一采样间隔到第二采样间隔的降低来减小硬件预取器的侵略性。
[0019]可选地,在前述方面的任一方面中,该方法还包括:响应于检测到的系统利用率水平来控制多个硬件预取器,包括响应于高系统利用率来减小硬件预取器的侵略性。
[0020]可选地,在前述方面的任一方面中,减小硬件预取器的侵略性包括减小由硬件预取器使用的程度或距离中的至少一个。
[0021]可选地,在前述方面的任一方面中,该方法还包括:向多个硬件预取器中的第一硬件预取器发送第一控制信号;向多个硬件预取器中的第二硬件预取器发送第二控制信号;以及向多个硬件预取器中的第三硬件预取器发送第三控制信号。
[0022]可选地,在前述方面的任一方面中,第一硬件预取器是多偏移预取器(MOP),第二硬件预取器是空间存储器流(SMS)预取器,并且第三硬件预取器是增强型下一行预取器(ENP)。
[0023]可选地,在前述方面的任一方面中,该方法还包括对来自存储器层级结构的缓存的驱逐进行计数,第一采样间隔和第二采样间隔由来自缓存的预定数目的驱逐来定义。
[0024]可选地,在前述方面的任一方面中,主存储器与处理器核之间的一个或更多个缓存包括一级(L1)缓存和二级(L2)缓存,并且计算一个或更多个性能度量的改变包括:计算L1缓存的性能度量的第一改变以及计算L2缓存的性能度量的第二改变。
[0025]根据本公开内容的又一方面,提供了一种计算机系统,包括:处理器核;存储器层
级结构,其包括主存储器以及在主存储器与处理器核之间的至少第一缓存和第二缓存;耦合至存储器层级结构的多个硬件预取器,多个硬件预取器至少包括多偏移预取器(MOP)、空间存储器流(SMS)预取器和增强型下一行预取器(ENP);以及耦合至多个硬件预取器的预取控制电路,预取控制电路被配置成:比较第一缓存和第二缓存的预取准确度在两个或更多个采样间隔内的改变,以及响应于相应的缓存的预取准确度在相应的缓存的至少第一采样间隔与第二采样间隔之间的改变来控制多个硬件预取器的侵略性。
[0026]可选地,在前述方面的任一方面中,预取控制电路被配置成响应于预取准确度从第一采样间隔到第二采样间隔的降低而减小硬件预取器的侵略性,并且被配置成响应于硬件预取器的预取准确度从第一采样间隔到第二采样间隔的增加而增加硬件预取器的侵略性。
[0027]可选地,在前述方面的任一方面中,预取控制电路还被配置成响应于检测到的系统利用率水平来控制多个硬件预取器的操作,预取控制电路被配置成响应于高系统利用率来减小硬件预取器的侵略性。
[0028]可选地,在前述方面的任一方面中,预取控制电路被配置成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:处理器核;存储器层级结构,其包括主存储器以及所述主存储器与所述处理器核之间的一个或更多个缓存;耦合至所述存储器层级结构的多个硬件预取器;以及耦合至所述多个硬件预取器的预取控制电路,所述预取控制电路被配置成测量一个或更多个缓存性能度量在两个或更多个采样间隔内的改变,并且所述预取控制电路被配置成响应于一个或更多个性能度量在至少第一采样间隔与第二采样间隔之间的改变来控制所述多个硬件预取器的操作。2.根据权利要求1所述的装置,其中,所述一个或更多个性能度量的改变包括检测预取准确度在至少所述第一采样间隔与所述第二采样间隔之间的改变。3.根据权利要求1至2中任一项所述的装置,其中,所述预取控制电路被配置成响应于预取准确度从所述第一采样间隔到所述第二采样间隔的降低而减小所述硬件预取器的侵略性。4.根据权利要求3所述的装置,其中,所述预取控制电路还被配置成响应于检测到的系统利用率水平来控制所述多个硬件预取器的操作,所述预取控制电路被配置成响应于高系统利用率而减小所述硬件预取器的侵略性。5.根据权利要求3或4中任一项所述的装置,其中,所述预取控制电路被配置成通过减小由所述硬件预取器使用的程度或距离中的至少一个来减小所述硬件预取器的侵略性。6.根据权利要求1至5中任一项所述的装置,其中,所述多个硬件预取器包括第一硬件预取器、第二硬件预取器和第三硬件预取器,每个硬件预取器被连接成从所述预取控制电路接收单独的控制信号。7.根据权利要求6所述的装置,其中,所述第一硬件预取器是多偏移预取器(MOP),所述第二硬件预取器是空间存储器流(SMS)预取器,并且所述第三硬件预取器是增强型下一行预取器(ENP)。8.根据权利要求1至7中任一项所述的装置,其中,所述第一采样间隔和所述第二采样间隔分别由相应的缓存中的预定数目的驱逐来定义。9.根据权利要求1至8中任一项所述的装置,其中,所述主存储器与所述处理器核之间的所述一个或更多个缓存包括一级(L1)缓存和二级(L2)缓存,所述多个硬件预取器中的每一个根据单独的性能度量和单独的采样间隔对L1缓存和L2缓存单独操作。10.一种方法,包括:操作多个硬件预取器以预取存储器层级结构中的数据,所述存储器层级结构包括主存储器以及所述主存储器与处理器核之间的一个或更多个缓存;计算一个或更多个性能度量在两个或更多个采样间隔内的改变;以及响应于所述一个或更多个性能度量在至少第一采样间隔与第二采样间隔之间的改变来控制所述多个硬件预取器。11.根据权利要求10所述的方法,其中,所述一个或更多个性能度量的改变包括预取准确度在至少所述第一采样间隔与所述第二采样间隔之间的改变。12.根据权利要求10至11中任一项所述的方法,其中,响应于所述一个或更多个性能度
量的改变来控制所述多个硬件预取器包括:响应于预取准确度从所述第一采样间隔到所述第二采样间隔的降低来减小硬件预取器的侵略性。13.根据权利要求12所述的方法,还包括:响应于检测到的系统利用率水平来控制所述多个硬件预取器,包括响应于高系统利用率来减小所述硬件预取器的侵略性。14.根据权利要求12至13中任一项所述的方法,其中,减小所述硬件预取器的侵略性包括减小由所述硬件预取器使用的程度或距离中的至少一个。15.根据权利要求10至14中任一项所述的方法,还包括:向所述多个硬件预取器中的第一硬件预取器发送第一控制信号;向所述多个硬件预取器中的第二硬件预取器发送第二控制信号;以及向所述多个硬件预取器中的第三硬件预取器发送第三控制信号。16.根据权利要...

【专利技术属性】
技术研发人员:埃赫桑
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1