System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 缓存数据读取方法、装置、设备及存储介质制造方法及图纸_技高网

缓存数据读取方法、装置、设备及存储介质制造方法及图纸

技术编号:40269690 阅读:12 留言:0更新日期:2024-02-02 22:56
本申请提供了一种缓存数据读取方法、装置、电子设备及计算机可读存储介质,包括:在确定处理器的访存指令在一级缓存中未命中的情况下,控制访存指令从二级缓存的流水线队列的起始数据位进入流水线队列;在间隔第一数量的数据位后,获取访存指令在二级缓存的命中结果;若结果为命中,则立即通过二级缓存生成唤醒指令并由唤醒队列发出,以及在间隔第二数量的数据位后,通过二级缓存获取重填数据,将访存指令作为重填指令由重填队列发出。本申请整个过程无需读取流水线状态和重填队列请求的状态,仅需基于请求自身的状态实时计算唤醒指令提前发出时刻,因此复杂度极低,降低了电路的成本和功耗,同时能够保证唤醒时机的准确。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种缓存数据读取方法、装置、电子设备及计算机可读存储介质。


技术介绍

1、现代处理器中一般设有三级缓存:一级缓存l1、二级缓存l2和三级缓存l3,当处理器的访存指令访问一级缓存l1未命中时,二级缓存l2则需要将访存指令所请求的数据重填至一级缓存l1中,以保证数据访问的正常进行。

2、目前,若等到二级缓存l2重填数据至一级缓存l1后,再唤醒处理器对一级缓存l1的访问,则访问过程会产生较长时间的延时,为了降低该延时,可以由二级缓存l2读取自身流水线队列和重填请求队列中的请求状态,基于该请求状态计算出提前发送唤醒请求的时刻,将唤醒请求提前发出,即提前唤醒处理器对一级缓存l1的访问,并非等待重填完成后再唤醒,从而降低了访问延时。

3、但是,上述过程中,由于流水线队列和唤醒请求队列状态繁多,导致计算提前发出时刻具有极高的复杂度,使得实现电路的成本和功耗较高,若为了降低复杂度而减少考虑的状态数,又会导致准确率和覆盖率下降。


技术实现思路

1、本申请实施例提供一种缓存数据读取方法、装置、电子设备及计算机可读存储介质,以解决相关技术中的问题。

2、第一方面,本申请实施例提供了一种缓存数据读取方法,所述方法包括:

3、在确定处理器的访存指令在一级缓存中未命中的情况下,控制所述访存指令从所述二级缓存的流水线队列的起始数据位进入所述流水线队列;所述流水线队列包括顺序排列的多个数据位;

4、在间隔第一数量的数据位后,获取所述访存指令在所述二级缓存的命中结果;

5、若所述命中结果为命中,则立即通过所述二级缓存生成唤醒指令并由唤醒队列发出,以及在间隔第二数量的数据位后,通过所述二级缓存获取重填数据,将所述访存指令作为重填指令由重填队列发出;

6、其中,所述唤醒指令用于唤醒通过所述访存指令从所述一级缓存中读数据的操作;所述重填指令用于将所述重填数据写入所述一级缓存供所述访存指令读取。

7、第二方面,本申请实施例提供了一种缓存数据读取装置,所述装置包括:

8、入队模块,用于在确定处理器的访存指令在一级缓存中未命中的情况下,控制所述访存指令从所述二级缓存的流水线队列的起始数据位进入所述流水线队列;所述流水线队列包括顺序排列的多个数据位;

9、判断模块,用于在间隔第一数量的数据位后,获取所述访存指令在所述二级缓存的命中结果;

10、出队模块,用于若所述命中结果为命中,则立即通过所述二级缓存生成唤醒指令并由唤醒队列发出,以及在间隔第二数量的数据位后,通过所述二级缓存获取重填数据,将所述访存指令作为重填指令由重填队列发出;

11、其中,所述唤醒指令用于唤醒通过所述访存指令从所述一级缓存中读数据的操作;所述重填指令用于将所述重填数据写入所述一级缓存供所述访存指令读取。

12、第三方面,本申请实施例还提供了一种电子设备,包括处理器;

13、用于存储所述处理器可执行指令的存储器;

14、其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。

15、第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。

16、本申请实施例中,在确定处理器的访存指令在一级缓存中未命中的情况下,控制访存指令从起始数据位进入流水线队列;并在间隔第一数量的数据位后,获取访存指令在所述二级缓存的命中结果;若所述命中结果为命中,则立即通过二级缓存生成唤醒指令并由唤醒队列发出,以及在间隔第二数量的数据位后,通过二级缓存获取重填数据,将访存指令作为重填指令由重填队列发出。本申请通过二级缓存简洁明了的多级流水线队列架构实现了对访存指令的管理,基于流水线队列的架构和指令在流水线中各个处理时机的设计,可以达到对发出唤醒请求的固定提前量的精确且稳定的控制,保证了唤醒指令的准确率和覆盖率。整个过程无需读取流水线各级请求的状态,以及基于重填队列请求的状态实时计算提前发出时刻,因此复杂度极低,降低了电路的成本和功耗。

17、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

本文档来自技高网...

【技术保护点】

1.一种缓存数据读取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的缓存数据读取方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的缓存数据读取方法,其特征在于,在所述控制所述访存指令脱离所述流水线队列之后,所述方法还包括:

4.根据权利要求1或2所述的缓存数据读取方法,其特征在于,所述通过所述二级缓存生成唤醒指令并由唤醒队列发出,包括:

5.根据权利要求1或2所述的缓存数据读取方法,其特征在于,所述将所述访存指令作为重填指令由重填队列发出,包括:

6.根据权利要求1所述的缓存数据读取方法,其特征在于,所述流水线队列包括5个顺序排列的数据位,每个所述数据位对应一个流水线时刻,不同所述数据位对应的流水线时刻不同;

7.根据权利要求1或2所述的缓存数据读取方法,其特征在于,所述二级缓存包括多个不同的端口,每个所述端口具有对应的流水线队列、重填队列以及唤醒队列;

8.根据权利要求7所述的缓存数据读取方法,其特征在于,所述在间隔第二数量的数据位后,通过所述二级缓存获取重填数据,将所述访存指令作为重填指令由重填队列发出,包括:

9.一种缓存数据读取装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,包括:处理器;

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

...

【技术特征摘要】

1.一种缓存数据读取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的缓存数据读取方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的缓存数据读取方法,其特征在于,在所述控制所述访存指令脱离所述流水线队列之后,所述方法还包括:

4.根据权利要求1或2所述的缓存数据读取方法,其特征在于,所述通过所述二级缓存生成唤醒指令并由唤醒队列发出,包括:

5.根据权利要求1或2所述的缓存数据读取方法,其特征在于,所述将所述访存指令作为重填指令由重填队列发出,包括:

6.根据权利要求1所述的缓存数据读取方法,其特征在于,所述流水线队列包括5个顺序排列的数据位,每个所述数据位对应一个流水线时刻,不同所...

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

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

1