基于组合的高速缓存策略测试来配置高速缓存的高速缓存策略制造技术

技术编号:36737475 阅读:18 留言:0更新日期:2023-03-04 10:10
本发明专利技术提供一种电子设备,其包括具有高速缓存控制器和高速缓存存储器的高速缓存。电子设备还包括高速缓存策略管理器。高速缓存策略管理器使高速缓存控制器将两个或更多个高速缓存策略用于高速缓存存储器中的多个测试区域中的每一个测试区域中的高速缓存操作,其中在每个测试区域中使用两个或更多个高速缓存策略的不同的配置值。高速缓存策略管理器基于高速缓存操作的性能度量为两个或更多个高速缓存策略中的至少一个高速缓存策略选择所选择的配置值,同时在测试区域中使用两个或更多个高速缓存策略的不同的配置值。高速缓存策略管理器使高速缓存控制器在将至少一个高速缓存策略用于高速缓存存储器的主区域中的高速缓存操作时使用所选择的配置值。缓存操作时使用所选择的配置值。缓存操作时使用所选择的配置值。

【技术实现步骤摘要】
【国外来华专利技术】基于组合的高速缓存策略测试来配置高速缓存的高速缓存策略

技术介绍

[0001]相关技术
[0002]许多现代电子设备包括执行程序代码(例如,应用程序、操作系统等)中的指令的处理器(例如,中央处理单元、图形处理单元等),该程序代码使处理器并因此使电子设备执行相关联的操作。在这些电子设备中的许多电子设备中,执行指令需要处理器从非易失性存储装置诸如硬盘或高容量非易失性半导体存储器中检索指令和数据。因为从非易失性存储装置检索指令和数据花费相对长的时间,所以电子设备通常还包括易失性存储器(有时称为

主存储器

),指令和数据的副本加载到易失性存储器中(例如,以4kB页面等)以使处理器能够更快地检索指令和数据。虽然从易失性存储器中检索指令和数据可以比从非易失性存储器中检索指令和数据快得多,但从易失性存储器中检索指令和数据要花费足够长的时间,使得处理器经常被迫等待所请求的指令和数据从存储器中返回。因此,电子设备通常包括用于为处理器存储有限数量的指令和/或数据的副本的快速访问高速缓存存储器(或更简单地称为

高速缓存

)。例如,一些电子设备包括高速缓存的分级结构,该高速缓存的分级结构包括作为分级结构中访问最高且最快的高速缓存的64kB一级(L1)高速缓存、处于分级结构中中间的512kB二级(L2)高速缓存,以及作为分级结构中访问最低且最慢的高速缓存的2MB三级(L3)高速缓存。因为在从易失性存储器检索指令和/或数据所需的一小部分时间内可以从高速缓存检索指令和/或数据,所以高速缓存可以为处理器的性能提供相当大的提升。
[0003]因为高速缓存仅存储有限数量的指令和/或数据的副本,所以高速缓存在操作期间变得充满指令和/或数据的副本是常见的。当高速缓存变得充满指令和/或数据的副本时,为了将指令和/或数据的任何其他副本存储在高速缓存中,必须逐出(或简单地重写)存储在高速缓存中的指令和/或数据的现有副本。因为关于在高速缓存中存储(或不存储)指令和/或数据的副本以及逐出指令和/或数据的哪些副本的决定可能对高速缓存(并因此对依赖于高速缓存的处理器)的性能具有显著的影响,所以通常根据一个或多个高速缓存策略来管理高速缓存。高速缓存策略是或者包括关于何时、哪些、如何和/或在何处存储、访问、逐出/替换指令和/或数据的副本以及/或者以其他方式在一个高速缓存中和/或在高速缓存分级结构中的多个高速缓存中进行交互的规则、指南、规范和/或控制。例如,高速缓存策略可以规定指令和/或数据的哪些副本被存储在给定的高速缓存中以及何时被存储在给定的高速缓存中,指令和/或数据的哪些副本将被回写到较低级别的高速缓存中以及何时将被回写到较低级别的高速缓存中,指令和/或数据的哪些副本将被逐出以便为指令和/或数据的传入副本留出空间以及何时将被逐出以便为指令和/或数据的传入副本留出空间等。
[0004]在一些电子设备中,高速缓存控制器(或其他功能块)确定要使用哪些高速缓存策略以及/或者如何为一个或多个高速缓存配置高速缓存策略。为了确定要使用的高速缓存策略和/或其配置,一些高速缓存控制器测试高速缓存中的各个高速缓存策略的性能。例
如,当测试给定的高速缓存策略时,高速缓存控制器可以使用给定的高速缓存策略和/或其配置在高速缓存中执行高速缓存操作(例如,存储数据和/或指令的副本、访问数据和/或指令的副本等)。在执行高速缓存操作时,高速缓存控制器记录信息,诸如高速缓存访问未命中(或命中)、逐出速率、操作等待时间等。高速缓存控制器然后使用所记录的信息来确定是否要使用给定的高速缓存策略和/或如何为高速缓存中的后续高速缓存操作配置高速缓存策略。
[0005]虽然测试高速缓存策略和/或其配置可有助于确定将在高速缓存中使用的高速缓存策略和/或其配置,但在一些情况下,在给定高速缓存策略和/或其配置的使用的情况下,测试并不能充分地表示高速缓存的性能。例如,两个或更多个高速缓存策略(例如,替换和回写式/直写式策略等)和/或其配置的组合可以同时在高速缓存中使用。在这种情况下,各个高速缓存策略和/或其配置的上述测试可以提供对高速缓存性能的表征,该表征由于两个或更多个高速缓存策略和/或其配置的组合的交互而不表示实际的高速缓存性能。
附图说明
[0006]图1呈现了根据一些实施方案的示出电子设备的框图。
[0007]图2呈现了根据一些实施方案的示出核心的框图。
[0008]图3呈现了根据一些实施方案的示出高速缓存策略管理器和高速缓存的框图。
[0009]图4呈现了根据一些实施方案的示出高速缓存存储器中的测试区域和主区域的框图。
[0010]图5呈现了根据一些实施方案的示出用于为高速缓存配置高速缓存策略的过程的流程图。
[0011]图6呈现了根据一些实施方案的示出在高速缓存存储器中的测试区域中使用的高速缓存策略的框图。
[0012]图7呈现了根据一些实施方案的示出用于执行两个或更多个高速缓存策略的配置的每配置值测试的过程的流程图。
[0013]图8呈现了根据一些实施方案的示出用于每配置值测试的测试区域的框图。
[0014]图9呈现了根据一些实施方案的示出用于对两个或更多个高速缓存策略的配置执行一对多测试的过程的流程图。
[0015]图10呈现了根据一些实施方案的示出用于一对多测试的测试区域的框图。
[0016]图11呈现了根据一些实施方案的示出用于执行两个或更多个高速缓存策略的配置的每区域测试的过程的流程图。
[0017]在整个附图和说明书中,相同的附图标号表示相同的附图元件。
具体实施方式
[0018]呈现以下描述是为了使所属领域的技术人员能够进行和使用所描述的实施方案,并且在特定的应用及其要求的上下文中提供了以下描述。所属领域的技术人员将容易明白对所描述的实施方案的各种修改,并且本文所述的一般原理可应用于其他实施方案和应用。因此,所描述的实施方案不限于所示出的实施方案,而是将符合与本文所述的原理和特征一致的最宽范围。
[0019]术语
[0020]在以下描述中,各种术语用于描述实施方案。以下内容是这些术语中的一个术语的简化的一般的描述。需注意,该术语可具有重要的附加方面,为了清楚和简洁起见,在本文中未列举这些方面,因此该描述并非旨在限制此术语。
[0021]功能块:功能块是指一组相互关联的电路系统,诸如集成电路电路系统、分立电路系统等。电路系统是

相互关联的

,因为电路系统中的电路元件共享至少一个属性。例如,电路系统可以被包括在、制造在或者以其他方式耦接到特定的集成电路芯片、基板、电路板或其部分,可以涉及指定的操作(例如,计算操作、控制操作、存储器操作等)的执行,可以由公共控制元件和/或公共时钟控制,等等。功能块的电路系统可具有任何数量的电路元件,从单个电路元件(例如,单个集成电路逻辑门或分立电路元件)到数百万或数十亿个电路元件(例如,集成电路存储器)。在一些实施方案中,功能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种电子设备,包括:高速缓存,所述高速缓存包括高速缓存控制器和高速缓存存储器;以及高速缓存策略管理器,所述高速缓存策略管理器被配置为:使所述高速缓存控制器将两个或更多个高速缓存策略用于所述高速缓存存储器中的多个测试区域中的每一个测试区域中的高速缓存操作,其中在每个测试区域中使用所述两个或更多个高速缓存策略的不同的配置值;基于高速缓存操作的性能度量来选择所述两个或更多个高速缓存策略中的至少一个高速缓存策略的所选择的配置值;以及使所述高速缓存控制器在将所述至少一个高速缓存策略用于所述高速缓存存储器的主区域中的高速缓存操作时使用所述选择的配置值。2.根据权利要求1所述的电子设备,其中,为了选择所述选择的配置值,所述高速缓存策略管理器被配置为:当所述高速缓存控制器将所述两个或更多个高速缓存策略用于所述多个测试区域中的高速缓存操作时记录测试区域的竞争群组的性能度量,测试区域的每个竞争群组包括第一组测试区域和第二组测试区域,其中对于所有所述测试区域,相应的配置值是相同的;以及从满足对应的群组性能度量目标的测试区域的所述竞争群组中选择所述选择的配置值。3.根据权利要求2所述的电子设备,其中,当记录所述性能度量时,所述高速缓存策略管理器被配置为:更新与测试区域的竞争群组相关联的计数器,所述更新包括针对测试区域的每个竞争群组:当对于测试区域的所述竞争群组的所述第一组测试区域发生事件时,增加与测试区域的所述竞争群组相关联的所述计数器;以及当对于测试区域的所述竞争群组的所述第二组测试区域发生所述事件时,减小与测试区域的所述竞争群组相关联的所述计数器。4.根据权利要求3所述的电子设备,其中,当选择所述选择的配置值时,所述高速缓存策略管理器被配置为:从测试区域的第一竞争群组开始直到到达测试区域的最终的竞争群组,对于测试区域的当前竞争群组:基于与测试区域的所述当前竞争群组相关联的所述计数器,确定测试区域的所述当前竞争群组中的所述第一组测试区域或所述第二组测试区域中满足性能度量目标值的测试区域的特定群组;以及将测试区域的所述特定群组设置为测试区域的所述当前竞争群组;以及从测试区域的所述最终的竞争群组的所述配置值中选择所述选择的配置值。5.根据权利要求1所述的电子设备,其中,为了选择所述选择的配置值,所述高速缓存策略管理器被配置为:当所述高速缓存控制器将所述两个或更多个高速缓存策略用于所述多个测试区域中的高速缓存操作时记录测试区域的竞争群组的性能度量,测试区域的每个竞争群组具有仅
包括所述测试区域中的相应的一个测试区域的第一组测试区域和包括剩余测试区域的第二组测试区域;以及从满足群组性能度量目标的测试区域的所述竞争群组中选择所述选择的配置值。6.根据权利要求5所述的电子设备,其中,当记录所述性能度量时,所述高速缓存策略管理器被配置为:更新与测试区域的所述竞争群组相关联的计数器,所述更新包括针对测试区域的每个竞争群组:当对于测试区域的所述竞争群组的所述第一组测试区域中的所述测试区域中的所述一个测试区域发生事件时,增加与测试区域的所述竞争群组相关联的所述计数器;以及当对于测试区域的所述竞争群组的所述第二组测试区域中的任何所述剩余测试区域发生所述事件时,减小与测试区域的所述竞争群组相关联的所述计数器。7.根据权利要求6所述的电子设备,其中,当增加与测试区域的给定的竞争群组相关联的所述计数器时,所述高速缓存策略管理器被配置为:对于测试区域的所述给定的竞争群组,与所述第一组测试区域和所述第二组测试区域中的测试区域数量的比率成比例地增加所述计数器。8.根据权利要求6所述的电子设备,其中,当选择所述选择的配置值时,所述高速缓存策略管理器被配置为:基于与测试区域的所述竞争群组相关联的所述计数器来确定所述计数器满足性能度量目标值的测试区域的特定的竞争群组;从用于测试区域的所述特定的竞争群组的所述第一组测试区域中的所述测试区域中的所述一个测试区域的所述配置值中选择所述选择的配置值。9.根据权利要求1所述的电子设备,其中,为了选择所述选择的配置值,所述高速缓存策略管理器被配置为:当所述高速缓存控制器将所述两个或更多个高速缓存策略用于所述多个测试区域中的高速缓存操作时记录每个测试区域的性能度量;以及从满足对应的群组性能度量目标的所述测试区域中选择所述选择的配置值。10.根据权利要求1所述的电子设备,其中,在将所述两个或更多个高速缓存策略用于高速缓存操作时,所述高速缓存控制器被配置为:根据两个单独的高速缓存策略中的每一者,控制以下各项中的至少一项:将数据存储在所述高速缓存存储器的所述测试区域中的高速缓存块中;访问所述高速缓存存储器的所述测试区域中的高速缓存块中的数据;以及逐出所述高速缓存存储器的所述测试区域中的高速缓存块中的数据。11.根据权利要求1所述的电子设备,其中,在将所述两个或更多个高速缓存策略用于高速缓存操作时,所述高速缓存控制器被配置为使用以下各项中的一项或多项:定时策略,所述定时策略规定特定类型的数据在所述高速缓存存储器中的高速缓存块中保留的时间长度;数据副本策略,所述数据副本策略规定特定类型的数据的副本是否将被存储在所述高速缓存存储器中的高速缓存块中;替换策略,所述替换策略规定将数据从所述高速缓存存储器逐出以清除空间以用于在
所述高速缓存存储器中存储其他数据的条件;以及所修改的数据回写策略,所修改的数据回写策略用于所述高速缓存存储器中的高速缓存块中的数据。12.根据权利要求1所述的电子设备,其中:所述高速缓存存储器中的所述多个测试区域具有以字节为单位的第一大小;并且所述高速缓存存储器的所述主区域具有以字节为单位的第二大小,所述第二大小比所述第一大小大一个或多个数量级。13.一种用于在电子设备中的高速缓存存储器中执行高速缓存操作的方法,所述电子设备包括所述高速缓存存储器、所述...

【专利技术属性】
技术研发人员:约翰
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

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

1