一种提升缓存带宽的方法、装置、设备及存储介质制造方法及图纸

技术编号:38756838 阅读:10 留言:0更新日期:2023-09-10 09:41
本申请属于缓存技术领域,公开了一种提升缓存带宽的方法、装置、设备及存储介质,该方法应用于缓存微结构中,该方法包括:步骤S1,接收新请求,并获取新请求的命中情况;步骤S2,基于命中情况和新请求确定执行条件;步骤S3,将新请求与缓存微结构中的旧请求进行地址对比,得到对比结果;若对比结果满足执行条件,则执行新请求。本申请可以提高缓存的并行处理能力,使得每个请求从进入缓存到被分发到并行处理状态机中执行的延时更小、单位时间内工作的并行处理状态机的个数更多,从而提升缓存整体的带宽和吞吐量。带宽和吞吐量。带宽和吞吐量。

【技术实现步骤摘要】
一种提升缓存带宽的方法、装置、设备及存储介质


[0001]本申请涉及缓存
,尤其涉及一种提升缓存带宽的方法、装置、设备及存储介质。

技术介绍

[0002]缓存的读写带宽是影响CPU整体性能的关键指标之一。在CPU系统中,总线的位宽是固定大小的,如256bit、512bit等,在总线位宽固定的情况下,最大程度地利用总线的带宽,即等价于平均每个周期内缓存能够多发出总线的请求,多进行总线的数据读写。在缓存设计中,决定缓存读写带宽的指标是并行数(outstanding capability),决定并行数的有两点,一是并行状态机的数量,二是缓存流水线的分发结构如何解决地址冲突。缓存流水线会记录所有正在处理的缓存读写地址,并以此决定是否要执行Core(处理器核)新下发的对某个地址的缓存读写请求。在现有的缓存微结构中,相同index(缓存索引)的地址访问定义为同余项(CGC congruence class),在进行相同index访存时、或相同address(地址)访存时,需要遵循一定的顺序,后到的请求需要等待之前旧的请求完成后才能继续操作。因此,本申请解决的技术问题是如何设计缓存流水线分发结构对地址冲突的解决,以实现缓存带宽的增加。

技术实现思路

[0003]本申请提供了一种提升缓存带宽的方法、装置、设备及存储介质,能够提高缓存的并行处理能力,使得每个请求从进入缓存到被分发到并行处理状态机中执行的延时更小、单位时间内工作的并行处理状态机的个数更多,从而提升缓存整体的带宽和吞吐量。
[0004]第一方面,本申请提供了一种提升缓存带宽的方法,应用于缓存微结构中,该方法包括:
[0005]步骤S1,接收新请求,并获取新请求的命中情况;
[0006]步骤S2,基于命中情况和新请求确定执行条件;
[0007]步骤S3,将新请求与缓存微结构中的旧请求进行地址对比,得到对比结果;若对比结果满足执行条件,则执行新请求。
[0008]进一步的,旧请求包括正在进行的当前请求和写入队列中的暂存写入请求;该方法还包括:
[0009]在执行完步骤S1之后,判断是否缓存微结构中存在旧请求;若存在当前请求,或者存在暂存写入请求且新请求为读取请求,则执行步骤S2和步骤S3;否则直接执行新请求。
[0010]上述实施例给出了无需进行地址对比的情况,使得对新请求的执行效率进一步提高。
[0011]进一步的,在新请求命中且新请求在当前请求的预设周期外时,该执行条件包括:
[0012]新请求与当前请求全地址不相同;
[0013]若新请求为读取请求,则新请求与暂存写入请求全地址不相同。
[0014]上述实施例令在当前请求预设周期外且命中的新请求在地址满足预设条件时,不需要等待当前请求执行完毕,可直接被分发到并行处理状态机被执行,提高了缓存的并行处理能力,减小了满足执行条件的新请求被执行的延时,从而提高了缓存的带宽。
[0015]进一步的,在新请求命中且新请求在当前请求的预设周期内时,该执行条件包括:
[0016]若当前请求为当前读取请求或当前写入请求,则新请求与当前请求同余项不相同,否则新请求与当前请求全地址不相同;
[0017]若新请求为读取请求,则新请求与暂存写入请求的全地址不相同。
[0018]上述实施例令在当前请求预设周期内且命中的新请求在地址满足预设条件时,不需要等待当前请求执行完毕,可直接被分发到并行处理状态机被执行,提高了缓存的并行处理能力,减小了满足执行条件的新请求被执行的延时,从而提高了缓存的带宽。
[0019]进一步的,新请求未命中时,该执行条件包括:
[0020]若当前请求为当前读取请求或当前写入请求,则新请求与当前请求同余项不相同,否则新请求与当前请求全地址不相同;
[0021]若新请求为读取请求,则新请求与暂存写入请求的全地址不相同。
[0022]上述实施例令未命中的新请求在地址满足预设条件时,不需要等待当前请求执行完毕,可直接被分发到并行处理状态机被执行,提高了缓存的并行处理能力,减小了满足执行条件的新请求被执行的延时,从而提高了缓存的带宽。
[0023]进一步的,该执行条件还包括:若当前请求为当前替换请求或当前窥探请求,则新请求与当前请求同余项不相同,且当前请求在未命中时产生当前替换数据;该方法还包括:
[0024]在新请求未命中且产生替换请求时,若对比结果满足执行条件,则执行新请求和替换请求。
[0025]上述实施例实现了对未命中的新请求产生的替换请求的处理,使得产生替换的新请求也能够在满足执行条件下被并行处理。
[0026]进一步的,在新请求为窥探请求时,该执行条件包括:新请求与当前请求全地址不相同。
[0027]上述实施例令总线的窥探请求在地址满足预设条件时,可直接被分发到并行处理状态机被执行,提高了缓存在多个缓存互联时的并行处理能力,减小了总线的窥探请求被执行的延时,从而进一步提高了缓存的带宽。
[0028]第二方面,本申请还提供了一种提升缓存带宽的装置,应用于缓存微结构中,该装置包括:
[0029]接收模块,用于接收新请求,并获取新请求的命中情况;
[0030]条件确定模块,用于基于命中情况和新请求确定执行条件;
[0031]对比模块,用于将新请求与缓存微结构中的旧请求进行地址对比,得到对比结果;以及,在对比结果满足执行条件时,执行新请求。
[0032]第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时执行如上述任一实施例的一种提升缓存带宽的方法的步骤。
[0033]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的一种提升缓存带宽的方法的步
骤。
[0034]综上,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
[0035]本申请实施例提供的一种提升缓存带宽的方法,通过基于新请求及其命中情况设定其执行条件,若与旧情求地址的对比结果满足该执行条件,则无需等待旧情求完成后再操作,而是直接进入缓存微结构的并行处理状态机中执行;本申请提出的缓存请求的分发逻辑可以在面对不同请求和不同缓存命中情况下,尽可能提高缓存的并行处理能力,使得每个请求从进入缓存到被分发到并行处理状态机中执行的延时更小、单位时间内工作的并行处理状态机的个数更多,从而提升缓存整体的带宽和吞吐量。
附图说明
[0036]图1为本申请一个示例性实施例提供的一种提升缓存带宽的方法的流程图。
[0037]图2为本申请一个示例性实施例提供的缓存流水线分发结构的示意图。
[0038]图3为本申请一个示例性实施例提供的一种提升缓存带宽的装置的结构示意图。
[0039]图4为本申请一个示例性实施例提供的对处理器核下发的新请求的判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升缓存带宽的方法,其特征在于,应用于缓存微结构中,所述方法包括:步骤S1,接收新请求,并获取所述新请求的命中情况;步骤S2,基于所述命中情况和所述新请求确定执行条件;步骤S3,将所述新请求与所述缓存微结构中的旧请求进行地址对比,得到对比结果;若所述对比结果满足所述执行条件,则执行所述新请求。2.根据权利要求1所述的方法,其特征在于,所述旧请求包括正在进行的当前请求和写入队列中的暂存写入请求;所述方法还包括:在执行完步骤S1之后,判断是否所述缓存微结构中存在所述旧请求;若存在所述当前请求,或者存在所述暂存写入请求且所述新请求为读取请求,则执行步骤S2和步骤S3;否则直接执行所述新请求。3.根据权利要求2所述的方法,其特征在于,在所述新请求命中且所述新请求在所述当前请求的预设周期外时,所述执行条件包括:所述新请求与所述当前请求全地址不相同;若所述新请求为读取请求,则所述新请求与所述暂存写入请求全地址不相同。4.根据权利要求2所述的方法,其特征在于,在所述新请求命中且所述新请求在所述当前请求的预设周期内时,所述执行条件包括:若所述当前请求为当前读取请求或当前写入请求,则所述新请求与所述当前请求同余项不相同,否则所述新请求与所述当前请求全地址不相同;若所述新请求为读取请求,则所述新请求与所述暂存写入请求的全地址不相同。5.根据权利要求2所述的方法,其特征在于,所述新请求未命中时,所述执行条件包括:若所述当前请求为当前读取请求或当...

【专利技术属性】
技术研发人员:施葹刘扬帆徐越苟鹏飞陆泳王贺
申请(专利权)人:上海合芯数字科技有限公司
类型:发明
国别省市:

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

1