System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种缓存方法、高速缓存、电子设备及可读存储介质技术_技高网

一种缓存方法、高速缓存、电子设备及可读存储介质技术

技术编号:40525300 阅读:8 留言:0更新日期:2024-03-01 13:44
本发明专利技术实施例提供一种缓存方法、高速缓存、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:请求缓冲区在未命中状态处理寄存器中存在请求地址与第一请求地址相同的第二请求的情况下,将第一请求传入所述未命中状态处理寄存器中,并对第一请求和第二请求进行合并处理,得到第三请求;未命中状态处理寄存器根据第三请求生成处理任务,并将处理任务发送至主流水线;主流水线根据处理任务对高速缓存的缓存行进行访问,并生成处理结果;响应缓冲区根据处理结果生成针对所述第一请求的第一响应,和所述第二请求的第二响应,并将所述第一响应和所述第二响应并行发送至所述第一节点。本发明专利技术实施例可以提升缓存的整体性能。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种缓存方法、高速缓存、电子设备及可读存储介质


技术介绍

1、在支持预取技术的处理器中,存在占比较大的不及时预取,也就是预取器虽然预测到了未来需要的数据,但请求发送较晚,当预取产生的缓存未命中还在未命中状态处理寄存器(miss status handling register,mshr)中等待数据返回时,针对同一地址的获取(acquire)请求已经到达高速缓存(cache)。在一般的cache设计中,和mshr中记录的预取任务同地址的请求会统一在 cache 入口被阻塞,等待预取任务的数据回填完成后再进入主流水线访问缓存行。这会阻塞后续同地址的其他请求,使得cache入口处用于缓冲阻塞请求的缓冲区(buffer)被占用,如果buffer被占满,则后面所有访问cache的请求都不能进入cache,影响cache的整体性能。


技术实现思路

1、本专利技术实施例提供一种缓存方法、高速缓存、电子设备及可读存储介质,可以解决相关技术中到达cache的请求如果与mshr中记录的请求的地址相同,会在cache 入口被阻塞,进而阻塞后续同地址的其他请求,影响cache的整体性能的问题。

2、为了解决上述问题,本专利技术实施例公开了一种缓存方法,应用于高速缓存,所述高速缓存包括请求缓冲区、未命中状态处理寄存器、主流水线和响应缓冲区;所述方法包括:

3、所述请求缓冲区接收第一节点发送的第一请求,所述第一请求中携带第一请求地址;

4、所述请求缓冲区在未命中状态处理寄存器中存在请求地址与所述第一请求地址相同的第二请求的情况下,将所述第一请求传入所述未命中状态处理寄存器中,并对所述第一请求和所述第二请求进行合并处理,得到第三请求;所述第三请求中携带所述第一请求的第一请求信息和所述第二请求的第二请求信息;

5、所述未命中状态处理寄存器根据所述第三请求生成处理任务,并将所述处理任务发送至所述主流水线;

6、所述主流水线根据所述处理任务对所述高速缓存的缓存行进行访问,并生成处理结果;

7、所述响应缓冲区根据所述处理结果生成针对所述第一请求的第一响应,和所述第二请求的第二响应,并将所述第一响应和所述第二响应并行发送至所述第一节点。

8、可选地,所述请求缓冲区在未命中状态处理寄存器中存在请求地址与所述第一请求地址相同的第二请求的情况下,将所述第一请求传入所述未命中状态处理寄存器中,并对所述第一请求和所述第二请求进行合并处理,得到第三请求,包括:

9、所述请求缓冲区根据所述第一请求地址查询未命中状态处理寄存器中是否存在目标寄存器项,所述目标寄存器项用于记录第二请求的第二请求信息,所述第二请求的第二请求地址与所述第一请求地址相同;

10、所述请求缓冲区在所述未命中状态处理器寄存器中存在所述目标寄存器项的情况下,将所述第一请求的第一请求信息添加至所述目标寄存器项中,生成第三请求。

11、可选地,所述第一请求包括获取请求,所述第二请求包括预取请求;

12、所述未命中状态处理寄存器根据所述第三请求生成处理任务,并将所述处理任务发送至所述主流水线,包括:

13、所述未命中状态处理寄存器根据所述第三请求中的第二请求信息从下游节点中获取目标数据块;

14、所述未命中状态处理寄存器根据所述第三请求生成处理任务,并在接收到所述下游节点返回的目标数据块的情况下,向主流水线发送所述处理任务。

15、可选地,所述主流水线根据所述处理任务对所述高速缓存的缓存行进行访问,并生成处理结果,包括:

16、所述主流水线从所述高速缓存中确定第一缓存行,并将所述目标数据块写入所述第一缓存行;

17、所述主流水线将所述目标数据块的状态更新为第一状态,所述第一状态用于指示所述获取请求已完成。

18、可选地,所述主流水线从所述高速缓存中确定第一缓存行,并将所述目标数据块写入所述第一缓存行,包括:

19、所述主流水线向所述高速缓存的目录发送读请求,以读取所述高速缓存中各个缓存行的状态信息,并利用缓存替换策略从所述高速缓存的各个缓存行中确定出第一缓存行;

20、所述主流水线将所述目标数据块写入所述第一缓存行。

21、可选地,所述方法还包括:

22、所述主流水线将所述第一缓存行中的原数据写回所述下游节点。

23、另一方面,本专利技术实施例公开了一种高速缓存,所述高速缓存包括请求缓冲区、未命中状态处理寄存器、主流水线和响应缓冲区;

24、所述请求缓冲区,用于接收第一节点发送的第一请求,所述第一请求中携带第一请求地址;在未命中状态处理寄存器中存在请求地址与所述第一请求地址相同的第二请求的情况下,将所述第一请求传入所述未命中状态处理寄存器中,并对所述第一请求和所述第二请求进行合并处理,得到第三请求;所述第三请求中携带所述第一请求的第一请求信息和所述第二请求的第二请求信息;

25、所述未命中状态处理寄存器,用于根据所述第三请求生成处理任务,并将所述处理任务发送至所述主流水线;

26、所述主流水线,用于根据所述处理任务对所述高速缓存的缓存行进行访问,并生成处理结果;

27、所述响应缓冲区,用于根据所述处理结果生成针对所述第一请求的第一响应,和所述第二请求的第二响应,并将所述第一响应和所述第二响应并行发送至所述第一节点。

28、再一方面,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的缓存方法。

29、本专利技术实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的缓存方法。

30、本专利技术实施例包括以下优点:

31、本专利技术实施例提供了一种缓存方法,在未命中状态处理寄存器中存在请求地址与接收到的第一请求的第一请求地址相同的第二请求的情况下,通过将第一请求与mshr中记录的第二请求在mshr中合并为一个第三请求,减少了请求在缓存入口阻塞的情况,使得后续的其他请求能够顺利进入缓存,有利于提升缓存的整体性能。并且,在本专利技术实施例中,mshr基于合并后的第三请求生成一个处理任务,并将该处理任务发送至主流水线,也即只需要进入一次主流水线,主流水线基于该处理任务只需访问一次缓存,从而减少了主流水线的压力和缓存读写次数,提升了第一节点对缓存的访存效率,有利于提升计算机系统的整体性能。

本文档来自技高网...

【技术保护点】

1.一种缓存方法,其特征在于,应用于高速缓存,所述高速缓存包括请求缓冲区、未命中状态处理寄存器、主流水线和响应缓冲区;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述请求缓冲区在未命中状态处理寄存器中存在请求地址与所述第一请求地址相同的第二请求的情况下,将所述第一请求传入所述未命中状态处理寄存器中,并对所述第一请求和所述第二请求进行合并处理,得到第三请求,包括:

3.根据权利要求1所述的方法,其特征在于,所述第一请求包括获取请求,所述第二请求包括预取请求;

4.根据权利要求3所述的方法,其特征在于,所述主流水线根据所述处理任务对所述高速缓存的缓存行进行访问,并生成处理结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述主流水线从所述高速缓存中确定第一缓存行,并将所述目标数据块写入所述第一缓存行,包括:

6.根据权利要求4所述的方法,其特征在于,所述方法还包括:

7.一种高速缓存,其特征在于,所述高速缓存包括请求缓冲区、未命中状态处理寄存器、主流水线和响应缓冲区;

8.根据权利要求7所述的高速缓存,其特征在于,所述请求缓冲区具体用于:

9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至6中任一项所述的缓存方法。

10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至6中任一项所述的缓存方法。

...

【技术特征摘要】

1.一种缓存方法,其特征在于,应用于高速缓存,所述高速缓存包括请求缓冲区、未命中状态处理寄存器、主流水线和响应缓冲区;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述请求缓冲区在未命中状态处理寄存器中存在请求地址与所述第一请求地址相同的第二请求的情况下,将所述第一请求传入所述未命中状态处理寄存器中,并对所述第一请求和所述第二请求进行合并处理,得到第三请求,包括:

3.根据权利要求1所述的方法,其特征在于,所述第一请求包括获取请求,所述第二请求包括预取请求;

4.根据权利要求3所述的方法,其特征在于,所述主流水线根据所述处理任务对所述高速缓存的缓存行进行访问,并生成处理结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述主流水线从所述高速缓存中确定第一缓存行,并将所...

【专利技术属性】
技术研发人员:蔡洛姗陈熙唐丹包云岗
申请(专利权)人:北京开源芯片研究院
类型:发明
国别省市:

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

1