缓存器、共享缓存管理方法及控制器技术

技术编号:12905796 阅读:112 留言:0更新日期:2016-02-24 13:49
提供了一种缓存器、共享缓存管理方法及控制器,涉及计算机领域,缓存器包括:缓存单元、状态寄存器、优先级计算单元和控制器;状态寄存器用于记录N个内核各自对缓存单元的第一访问信息;优先级计算单元用于根据第一访问信息计算N个内核各自的替换优先级;控制器,用于从替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。通过根据状态寄存器记录的第一访问信息计算N个内核各自的替换优先级,根据替换优先级确定共享缓存中待替换的缓存块,解决了现有技术中内核只能从对应的一部分缓存块中确定待替换的缓存块的问题,达到提高共享缓存利用率和系统性能的效果。

【技术实现步骤摘要】
【国外来华专利技术】缓存器、共享缓存管理方法及控制器
本专利技术涉及计算机领域,特别涉及一种缓存器、共享缓存管理方法及控制器。
技术介绍
随着计算机领域的不断发展,多核处理器的应用越来越广泛,能否有效管理共享高速缓存对于系统的性能会产生重要的影响。在现有的共享缓存管理方案中,通常为多核系统中的每个内核分配共享缓存中的一部分缓存块,多核系统中的某一个内核在访问缓存(读取或者写入)未命中并进行缓存块重填操作时,在该内核对应的缓存块中确定待替换的缓存块,并用待读取或者待写入的数据替换该待替换的缓存块中原有的数据。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:现有的共享缓存管理方案中,内核只能从对应的一部分缓存块中确定待替换的缓存块,在实际应用中很可能出现一些内核对应的缓存块被频繁重用而其它内核对应的缓存块则长时间空闲的情形,导致共享缓存利用率不高,影响系统性能。
技术实现思路
为了解决现有技术中内核只能从对应的一部分缓存块中确定待替换的缓存块而导致的缓存利用率不高的问题,本专利技术实施例提供了一种缓存器、共享缓存管理方法及控制器。所述技术方案如下:第一方面,提供了一种缓存器,所述缓存器包括:缓存单元、状态寄存器、优先级计算单元和控制器;所述缓存单元分别与所述状态寄存器和所述控制器相连接;所述状态寄存器分别与所述缓存单元和所述优先级计算单元连接;所述优先级计算单元分别与所述状态寄存器和所述控制器相连接;所述缓存单元包括共享缓存以及N个阴影标签,所述N个阴影标签分别与处理器的N个内核相对应;N≥2,且N为整数;所述状态寄存器,用于记录所述N个内核各自对所述缓存单元的第一访问信息,所述第一访问信息包括:访问所述共享缓存的次数、占用所述共享缓存中的缓存块的数量、访问所述共享缓存并命中的次数以及访问所述阴影标签并命中的次数;所述优先级计算单元,用于根据所述状态寄存器记录的所述N个内核各自对所述缓存单元的第一访问信息计算所述N个内核各自的替换优先级;所述替换优先级用于表征对应的内核所占用的缓存块被替换的优先程度;所述控制器,用于在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述优先级计算单元中获取所述N个内核各自的替换优先级,并从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。在第一方面的第一种可能实现方式中,所述控制器,还用于根据性能目标为所述N个内核分配各自的目标缓存占用量,所述性能目标包括整体命中率最大化、公平性或者服务质量中的至少一种;获取替换优先级最高的内核的实际缓存占用量;检测所述实际缓存占用量是否不大于所述目标缓存占用量;若检测结果为所述实际缓存占用量不大于所述目标缓存占用量,则控制所述优先级计算单元重新计算所述N个内核各自的替换优先级。在第一方面的第二种可能实现方式中,所述状态寄存器还与所述控制器相连;所述状态寄存器,还用于记录所述共享缓存中的各个缓存块各自对应的第二访问信息,所述第二访问信息包括被所述N个内核分别占用的次数;所述控制器,用于在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述状态寄存器获取替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息,并根据所述替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息确定所述待替换的缓存块。结合第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,所述控制器,用于从所述替换优先级最高的内核当前占用的缓存块中确定第一类型缓存块,所述第一类型缓存块为被所述替换优先级最高的内核占用的次数最少的缓存块;从所述第一类型缓存块中确定第二类型缓存块,所述第二类型缓存块为被所述N个内核占用的总次数最少的缓存块;根据替换算法从所述第二类型缓存块中确定所述待替换的缓存块。第二方面,提供了一种共享缓存管理方法,用于如上述第一方面或者第一方面的任一可能实现方式所述的缓存器中,其特征在于,所述方法包括:在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述优先级计算单元中获取处理器的N个内核各自的替换优先级;所述替换优先级用于表征对应的内核所占用的缓存块被替换的优先程度;从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。在第二方面的第一种可能实现方式中,所述方法包括:根据性能目标为所述N个内核分配各自的目标缓存占用量,所述性能目标包括整体命中率最大化、公平性或者服务质量中的至少一种;获取替换优先级最高的内核的实际缓存占用量;检测所述实际缓存占用量是否不大于所述目标缓存占用量;若检测结果为所述实际缓存占用量不大于所述目标缓存占用量,则控制所述优先级计算单元重新计算所述N个内核各自的替换优先级。在第二方面的第二种可能实现方式中,所述状态寄存器还用于记录所述共享缓存中的各个缓存块各自对应的第二访问信息,所述第二访问信息包括被所述N个内核分别占用的次数;所述从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块,包括:从所述状态寄存器获取替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息;根据所述替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息确定所述待替换的缓存块。结合第二方面的第二种可能实现方式,在第二方面的第三种可能实现方式中,所述根据所述替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息确定所述待替换的缓存块,包括:从所述替换优先级最高的内核当前占用的缓存块中确定第一类型缓存块,所述第一类型缓存块为被所述替换优先级最高的内核占用的次数最少的缓存块;从所述第一类型缓存块中确定第二类型缓存块,所述第二类型缓存块为被所述N个内核占用的总次数最少的缓存块;根据替换算法从所述第二类型缓存块中确定所述待替换的缓存块。第三方面,提供了一种控制器,用于如上述第一方面或者第一方面的任意可能实现方式所述的缓存器中,其特征在于,所述控制器包括:第一获取模块,用于在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述优先级计算单元中获取处理器的N个内核各自的替换优先级;所述替换优先级用于表征对应的内核所占用的缓存块被替换的优先程度;确定模块,用于从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。在第三方面的第一种可能实现方式中,所述控制器包括:分配模块,用于根据性能目标为所述N个内核分配各自的目标缓存占用量,所述性能目标包括整体命中率最大化、公平性或者服务质量中的至少一种;第二获取模块,用于获取替换优先级最高的内核的实际缓存占用量;检测模块,用于检测所述实际缓存占用量是否不大于所述目标缓存占用量;控制模块,用于若检测结果为所述实际缓存占用量不大于所述目标缓存占用量,则控制所述优先级计算单元重新计算所述N个内核各自的替换优先级。在第三方面的第二种可能实现方式中,所述确定模块,包括:获取单元,用于从所述状态寄存器获取替换优先级最高的内核当前占用的各个缓存块各自对应的第二访问信息;确定单元,用于根据所述替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息确定所述待替换的缓存块;其中,所述状态寄存器还用于记录所述共享缓存中的各个缓存块各自对应的所述第二访问信息,所本文档来自技高网...

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种缓存器,其特征在于,所述缓存器包括:缓存单元、状态寄存器、优先级计算单元和控制器;所述缓存单元分别与所述状态寄存器和所述控制器相连接;所述状态寄存器分别与所述缓存单元和所述优先级计算单元连接;所述优先级计算单元分别与所述状态寄存器和所述控制器相连接;所述缓存单元包括共享缓存以及N个阴影标签,所述N个阴影标签分别与处理器的N个内核相对应;N≥2,且N为整数;所述状态寄存器,用于记录所述N个内核各自对所述缓存单元的第一访问信息,所述第一访问信息包括:访问所述共享缓存的次数、占用所述共享缓存中的缓存块的数量、访问所述共享缓存并命中的次数以及访问所述阴影标签并命中的次数;所述优先级计算单元,用于根据所述状态寄存器记录的所述N个内核各自对所述缓存单元的第一访问信息计算所述N个内核各自的替换优先级;所述替换优先级用于表征对应的内核所占用的缓存块被替换的优先程度;所述控制器,用于在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述优先级计算单元中获取所述N个内核各自的替换优先级,并从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。2.根据权利要求1所述的缓存器,其特征在于,所述控制器,还用于根据性能目标为所述N个内核分配各自的目标缓存占用量,所述性能目标包括整体命中率最大化、公平性或者服务质量中的至少一种;获取所述替换优先级最高的内核的实际缓存占用量;检测所述实际缓存占用量是否不大于所述目标缓存占用量;若检测结果为所述实际缓存占用量不大于所述目标缓存占用量,则控制所述优先级计算单元重新计算所述N个内核各自的替换优先级。3.根据权利要求1所述缓存器,其特征在于,所述状态寄存器还与所述控制器相连;所述状态寄存器,还用于记录所述共享缓存中的各个缓存块各自对应的第二访问信息,所述第二访问信息包括被所述N个内核分别占用的次数;所述控制器,用于在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述状态寄存器获取替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息,并根据所述替换优先级最高的内核当前占用的各个缓存块各自对应的所述第二访问信息确定所述待替换的缓存块。4.根据权利要求3所述缓存器,其特征在于,所述控制器,用于从所述替换优先级最高的内核当前占用的缓存块中确定第一类型缓存块,所述第一类型缓存块为被所述替换优先级最高的内核占用的次数最少的缓存块;从所述第一类型缓存块中确定第二类型缓存块,所述第二类型缓存块为被所述N个内核占用的总次数最少的缓存块;根据替换算法从所述第二类型缓存块中确定所述待替换的缓存块。5.一种共享缓存管理方法,用于如上述权利要求1至4任一所述的缓存器中,其特征在于,所述方法包括:在发生访问所述共享缓存未命中并进行缓存块重填操作时,从所述优先级计算单元中获取处理器的N个内核各自的替换优先级;所述替换优先级用于表征对应的内核所占用的缓存块被替换的优先程度;从所述N个内核中替换优先级最高的内核当前占用的共享缓存的缓存块中确定待替换的缓存块。6.根据权利要求5所述的方法,其特征在于,所述方法包括:根据性能目标为所述N个内核分配各自的目标缓存占用量,所述性能目标包括整体命中率最大化、公平性或者服务质量中的至少一种;获取所述替换优先级最高的内核的...

【专利技术属性】
技术研发人员:郑礼炳李景超
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1
相关领域技术
  • 暂无相关专利