缓存替换方法及装置、电子设备、存储介质制造方法及图纸

技术编号:36892999 阅读:13 留言:0更新日期:2023-03-15 22:06
本发明专利技术公开了一种缓存替换方法及装置、电子设备、存储介质;所述方法包括:当电子设备访问数据时缓存发生缓存缺失,根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行;将从下一级存储器中读取的所述数据填充到所述目标缓存行,所述下一级存储器为缓存或者内存。所述方法能够根据缓存行对应的线程的重要程度确定待替换的缓存行,提升了用户体验。提升了用户体验。提升了用户体验。

【技术实现步骤摘要】
缓存替换方法及装置、电子设备、存储介质


[0001]本申请实施例涉及缓存控制
,涉及但不限于一种缓存替换方法及装置、电子设备、存储介质。

技术介绍

[0002]在最新的ARM处理器中,一级缓存L1 cache和二级缓存L2 cache都属于CPU独占的,其中最新的ARM微架构中出现2个相邻CPU共享二级缓存L2 cache的情况,三级缓存L3cache为整个CPU子系统CPUSS所共享。由于三级缓存L3 cache是被所有CPU所共享的。所以一旦L3 cache发生缺失miss,即数据没有被缓存到L3 cache中,就需要从下一级的存储器中读出相应的数据内容到L3 cache中。由于cache的大小有限,当L3 cache全部缓存了有效数据的话,需要采用一种策略从L3 cache中查找到一个cache line,并将其替换掉。当前的缓存替换策略,包括基于最近最少使用LRU的替换策略、随机替换策略等。
[0003]以安卓系统的手持终端为例,应用被分为与用户交互的前台应用(top

app),被切换出去的后台应用(background)。当前台应用跟后台应用同时发生大量的数据读写操作时。基于LRU或者基于随机的cache替换策略并没有考虑到前台应用或者后台应用跟用户体验之间的关联性。即现有的cache替换策略没有考虑到在不同应用场景中cache替换策略需要做一些资源倾斜,以满足软件或者场景的需求,造成用户体验不好。

技术实现思路

[0004]有鉴于此,本申请实施例提供的缓存替换方法及装置、电子设备、存储介质,能够根据缓存行对应的线程的重要程度确定待替换的缓存行,提升了用户体验。本申请实施例提供的缓存替换方法及装置、电子设备、存储介质是这样实现的:
[0005]第一方面,本申请实施例提供的缓存替换方法,包括:当电子设备访问数据时缓存发生缓存缺失,根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行;将从下一级存储器中读取的所述数据填充到所述目标缓存行,所述下一级存储器为缓存或者内存。
[0006]第二方面,本申请实施例提供的缓存替换装置,包括:缓存行确定模块,用于若电子设备访问数据时缓存发生缓存缺失,根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行;缓存行替换模块,用于将从下一级存储器中读取的所述数据填充到所述目标缓存行,所述下一级存储器为缓存或者内存。
[0007]第三方面,本申请实施例提供的电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例第一方面提供的方法。
[0008]第四方面,本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面提供的方法。
[0009]本申请实施例所提供的缓存替换方法、装置、电子设备和计算机可读存储介质,能
够根据缓存行对应的线程的重要程度确定待替换的缓存行,提升了用户体验,从而解决
技术介绍
中所提出的技术问题。
附图说明
[0010]此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
[0011]图1为本申请实施例提供的一种电子设备的结构示意图;
[0012]图2为本申请实施例提供的一种缓存替换方法的流程示意图;
[0013]图3为本申请实施例提供的另一种缓存替换方法的流程示意图;
[0014]图4为本申请实施例提供的再一种缓存替换方法的流程示意图;
[0015]图5为本申请实施例提供的一种获取目标缓存访问信息的方法的流程示意图;
[0016]图6为本申请实施例提供的一种确定缓存空间阈值的方法流程示意图;
[0017]图7为本申请实施例提供的一种缓存替换方法的总体流程示意图;
[0018]图8为本申请实施例提供的一种缓存替换装置的结构示意图。
具体实施方式
[0019]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
[0020]图1为本申请实施例提供的一种电子设备的结构示意图。如图1所示,电子设备100至少可以包括处理器110、缓存120、内存控制器130以及内存140。处理器110是电子设备100的核心,处理器110可以调用电子设备100中不同的软件程序实现不同的功能。例如,处理器110能够实现对缓存120以及内存140的访问。可以理解的是,处理器110可以是中央处理器(central processing unit,CPU)。除了CPU外,处理器还可以是其他特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。实际应用中,电子设备还可以包括多个处理器。为了描述方便,本申请实施例以一个处理器为例进行示例。另外,处理器可以是单核处理器,也可以是多核处理器。在多核处理器架构中,处理器中可以包括多个处理器核。例如,如图1所示,处理器110中可以包括一个或多个CPU核150。可以理解的是,CPU核150只是处理器核的一种示例。在本申请实施例中不对处理器的数量以及一个处理器中处理器核的数量进行限定。
[0021]缓存120是电子设备100中位于处理器110与内存140之间的临时存储器。由于缓存120的速率较快,因此,缓存120用于与CPU核108进行高速数据交换。缓存120用于缓存内存140中的部分数据以及将要写入内存140的数据。当处理器110访问数据时,处理器110会先在缓存120中查找,当缓存120中没有处理器110所需访问的数据时,处理器110才访问内存140,从而加快了处理器110的访问速率。具体的,缓存120可以包括缓存控制器160以及存储介质170。缓存控制器160是缓存120中的控制电路,能够对存储介质170进行访问。
[0022]例如,缓存控制器160可以根据处理器110发送的读操作指令向处理器105返回存储介质170中缓存的数据。缓存控制器160还可以根据处理器110的写操作指令将待写入的数据缓存于缓存120的存储介质170中。并且,缓存控制器160还可以对存储介质170中缓存
的数据进行管理。本领域人员可以知道,缓存120可以集成在处理器110中。在多核处理器系统中,每个CPU核108都可以包含一个缓存120。
[0023]通常,缓存120由静态随机存取存储器(Static Random Access Memory,SRAM)组成。然而,SRAM存储单元越来越难减小,因此,采用SRAM做缓存时其缓存容量受限。并且,SRAM还存在静态漏电等问题。因此,随着存储技术的发展,越来越多的非易失性存储介质被作为缓存。例如,存储介质170可以包括相变随机存取存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存替换方法,其特征在于,所述方法包括:当电子设备访问数据时缓存发生缓存缺失,根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行;将从下一级存储器中读取的所述数据填充到所述目标缓存行,所述下一级存储器为缓存或者内存。2.根据权利要求1所述的方法,其特征在于,每个所述缓存行预设有标识信息,所述标识信息用于指示所述缓存行对应的线程的重要程度,根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行,包括:确定所述标识信息为第一预设标识的缓存行为目标缓存行,所述第一预设标识指示所述缓存行对应的线程的重要程度最低。3.根据权利要求1所述的方法,其特征在于,所述电子设备通过目标线程访问数据,在根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行之前,还包括:确定所述目标线程的线程级别为关键线程,其中,所述线程级别包括关键线程和非关键线程。4.根据权利要求3所述的方法,其特征在于,在所述确定所述目标线程的线程级别为关键线程之后,还包括:获取缓存空间阈值,所述缓存空间阈值用于指示所述缓存中允许所述关键线程对应的缓存行占用的空间大小;确定所述缓存中的目标空间大小是否超过所述缓存空间阈值,得到判断结果,所述目标空间大小为当前所述缓存中所述关键线程对应的缓存行所占用的空间大小;所述根据所述缓存中各个缓存行对应的线程的重要程度确定目标缓存行,包括:根据所述判断结果以及所述缓存中各个缓存行对应的线程的重要程度确定所述目标缓存行。5.根据权利要求4所述方法,其特征在于,所述根据所述判断结果以及所述缓存中各个缓存行对应的线程的重要程度确定所述目标缓存行,包括:若所述判断结果为所述目标空间大小未超过所述缓存空间阈值,则确定所述标识信息为第二预设标识的缓存行为目标缓存行;若所述判断结果为所述目标空间大小超过所述缓存空间阈值,则确定所述标识信息为第三预设标识的缓存行为目标缓存行,所述第二预设标识所指示的所述重要程度低于所述第三预设标识所指示的所述重要程度。6.根据权利要求4所述的方法,其特征在于,在所述获取缓存空间阈值之前,所述方法还包括:通过所述电子设备的性能监视单元采集的第一缓存访问信息和第二缓存访问信息确定目标缓存访问信息,所述第一缓存访问信息为执行所述目标线程过程中对应的缓存访问信息,所述第二缓存访问信息为结束所述目标线程后对应的缓存访问...

【专利技术属性】
技术研发人员:崔晓刚
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1