System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及一种缓存管理方法、电子设备、缓存管理装置和存储介质。
技术介绍
1、计算机利用缓存机制访问内存,避免直接访问内存而导致性能受限于内存带宽。由于缓存容量有限,为了在其中缓存新数据,则已缓存的部分数据会被驱逐出缓存以空出存储空间以容纳新数据。通常计算机缓存为多级结构,对于拥有多个主动访问内存的设备的系统,例如多(处理器)核心的计算机系统,其最后一级缓存被总线上所有主动设备或核心共享。各个核心会互相驱逐彼此缓存的数据而导致各自的性能都变得不稳定。因此,计算机系统在合适的场景下减少低效率缓存或者排除各个核心或处理器之间的实时性干扰是必要的。
技术实现思路
1、本公开的至少一个实施例提供了一种缓存管理方法,所述缓存管理方法包括:响应于对第一内存块的访问请求,将所述第一内存块中存储的内容填充到缓存中选择的第一缓存块中;以及根据所述第一内存块的缓存锁定属性,设置所述第一缓存块的属性为缓存锁定。
2、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于通过缓存块驱逐算法确定驱逐对象为所述第一缓存块并且确定所述第一缓存块的属性为缓存锁定,放弃或推迟对于所述第一缓存块的驱逐。
3、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于通过缓存块驱逐算法确定驱逐对象为所述第一缓存块、确定所述第一缓存块的属性为缓存锁定并且发起所述访问请求的处理器不是第一处理器或第一进程,放弃或推迟对于所述第一缓存块的驱逐,
4、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述根据所述第一内存块的缓存锁定属性,设置所述第一缓存块的属性为缓存锁定,包括:根据与所述第一内存块对应的第一页表项中记录的缓存锁定标记为真,确定所述第一内存块的属性为缓存锁定;以及响应于确定所述第一内存块的属性为缓存锁定,设置所述第一缓存块的属性为缓存锁定。
5、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述第一页表项的缓存锁定标记位于所述第一页表项的页级缓存禁用字段。
6、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于与所述第一内存块对应的第一页表项的缓存锁定标记为真并且在页表翻译缓存中具有与所述第一内存块对应的第一页表翻译缓存项的情况下,将所述第一页表翻译缓存项中的缓存锁定标记设置为真。
7、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:在应用程序运行过程中调用第一函数,通过所述第一函数通知操作系统将所述应用程序使用的第一虚拟内存空间对应的第一物理内存空间设置为缓存锁定,其中,所述第一物理内存空间包括所述第一内存块;以及响应于所述第一物理内存空间被设置为缓存锁定,在为所述第一内存块建立页表项时添加所述缓存锁定标记。
8、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:在应用程序中调用第二函数,通过所述第二函数通知操作系统将所述应用程序使用的第一虚拟内存空间对应的第一物理内存空间设置为非缓存锁定以撤销所述第一内存块的缓存锁定属性;以及响应于所述第二函数的调用,清除与所述第一内存块对应的页表项中记录的所述缓存锁定标记。
9、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于与所述第一内存块对应的页表项中记录的所述缓存锁定标记被清除,将所述第一页表翻译缓存项中记录的所述缓存锁定标记设置为假。
10、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述操作系统通过控制内存管理单元以设定与所述第一内存块对应的页表项是否存在缓存锁定属性。
11、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于与所述第一内存块对应的页表项中记录的所述缓存锁定标记被清除,将所述第一缓存块的缓存锁定属性设置为假。
12、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于所述第一缓存块的缓存锁定属性为假且通过缓存块驱逐算法确定驱逐对象为所述第一缓存块,将所述第一缓存块的内容驱逐出所述缓存。
13、例如,在本公开的至少一个实施例提供的缓存管理方法中,所述缓存管理方法还包括:响应于页表翻译缓存中与所述第一内存块对应的页表翻译缓存项中记录的缓存锁定标记为真,确定所述第一内存块的属性为缓存锁定。
14、本公开的至少一个实施例还提供了一种电子设备,所述电子设备包括缓存控制器,其中,所述缓存控制器被配置为:响应于对第一内存块的访问请求,将所述第一内存块中存储的内容填充到缓存中选择的第一缓存块中;以及根据所述第一内存块的缓存锁定属性,设置所述第一缓存块的属性为缓存锁定。
15、本公开的至少一个实施例还提供了一种缓存管理装置,所述缓存管理装置包括存储器和处理器,所述存储器配置为存储计算机可执行指令;以及所述处理器配置为执行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器执行时实现如上任一实施例所述的方法。
16、本公开的至少一个实施例还提供了一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由处理器执行时,实现如上任一实施例所述的方法。
本文档来自技高网...【技术保护点】
1.一种缓存管理方法,包括:
2.根据权利要求1所述的缓存管理方法,还包括:
3.根据权利要求1所述的缓存管理方法,还包括:
4.根据权利要求1所述的缓存管理方法,其中,所述根据所述第一内存块的缓存锁定属性,设置所述第一缓存块的属性为缓存锁定,包括:
5.根据权利要求4所述的缓存管理方法,其中,所述第一页表项的缓存锁定标记位于所述第一页表项的页级缓存禁用字段。
6.根据权利要求4所述的缓存管理方法,还包括:
7.根据权利要求4所述的缓存管理方法,还包括:
8.根据权利要求4所述的缓存管理方法,还包括:
9.根据权利要求8所述的缓存管理方法,还包括:
10.根据权利要求7或8所述的缓存管理方法,其中,所述操作系统通过控制内存管理单元以设定与所述第一内存块对应的页表项是否存在缓存锁定属性。
11.根据权利要求8所述的缓存管理方法,还包括:
12.根据权利要求11所述的缓存管理方法,还包括:
13.根据权利要求1所述的缓存管理方法,还包括:
...【技术特征摘要】
1.一种缓存管理方法,包括:
2.根据权利要求1所述的缓存管理方法,还包括:
3.根据权利要求1所述的缓存管理方法,还包括:
4.根据权利要求1所述的缓存管理方法,其中,所述根据所述第一内存块的缓存锁定属性,设置所述第一缓存块的属性为缓存锁定,包括:
5.根据权利要求4所述的缓存管理方法,其中,所述第一页表项的缓存锁定标记位于所述第一页表项的页级缓存禁用字段。
6.根据权利要求4所述的缓存管理方法,还包括:
7.根据权利要求4所述的缓存管理方法,还包括:
8.根据权利要求4所述的缓存管理方法,还包括:
9.根据权利要求8所述的缓存管理方...
【专利技术属性】
技术研发人员:陶宇虹,张惠,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。