System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及一种数据预取方法、电子设备、装置、介质和产品。
技术介绍
1、现代多发射的高性能cpu(中央处理器,central processing unit)中包括至少一个处理器核心(cpu core,或者称为cpu核、处理器核),每个cpu核可以包括多个执行单元来执行指令。现有cpu架构中,程序指令与数据一般保存在dram内存(动态随机存取存储器,dynamic random access memory)中。cpu核运行频率远远高于dram内存运行频率,因此,从内存获取数据与指令需要上百个cpu核的时钟周期,这必然会造成cpu核由于等待相关指令与数据而空转,导致性能下降。针对于此,现代高性能cpu通过设置多级缓存架构来保存最近被访问的数据,同时利用预取器发现cpu进行数据访问的规律,从而提前预取即将被访问的数据、指令到缓存中。如何利用预取器进行高效准确的数据预取对于提供高性能的处理器尤为重要。
技术实现思路
1、本公开的实施例提供了一种数据预取方法、电子设备、装置、介质和产品,能够检测并禁止一部分将产生重复的预取地址的条目,从而避免重复的预取请求浪费功耗和带宽,提高预取性能和设备的整体运行性能。
2、根据本公开的一方面,提供了一种数据预取方法。根据本公开的方法适用于电子设备,电子设备包括预取器和缓存,其中,预取器包括多个条目以及多路命中检测器,该方法包括:利用多个条目接收针对缓存的需求地址,并基于需求地址进行训练,以识别流式数据规律并产生流式数据预取请求,其中
3、根据本公开的一些实施例,多路命中检测器实现为流水线,独立于多个条目,且与多个条目的训练和预取过程并行地进行多路命中检测。
4、根据本公开的一些实施例,需求地址为对应于加载指令或存储指令的虚拟地址。
5、根据本公开的一些实施例,利用多路命中检测器基于多个条目的命中信息,确定多个条目中是否存在将产生重复的预取地址的n个条目包括:在需求地址同时命中流式数据的方向相同且处于预取模式、或者处于训练模式下的n个条目的情形下,确定存在将产生重复的预取地址的n个条目;或者在需求地址同时命中流式数据的方向相同且处于预取模式、或者正在进行预取模式的n个条目的情形下,确定存在将产生重复的预取地址的n个条目。
6、根据本公开的一些实施例,m等于1,利用多路命中检测器基于n个条目的信息从n个条目中确定出m个选中条目包括:基于n个条目的信息从n个条目中确定置信度参数最高的条目作为选中条目。
7、根据本公开的一些实施例,m等于1,利用多路命中检测器基于n个条目的信息从n个条目中确定出m个选中条目包括:基于n个条目的信息从n个条目中确定在时间上最早分配的条目作为选中条目。
8、根据本公开的一些实施例,m等于1,利用多路命中检测器基于n个条目的信息从n个条目中确定出m个选中条目包括:基于n个条目的信息从n个条目中确定条目序号最小或者最大的条目作为选中条目。
9、根据本公开的一些实施例,预取器还包括预取请求生成器。根据本公开实施例的数据预取方法还包括:利用预取请求生成器基于m个选中条目生成流式数据预取请求,流式数据预取请求用于基于缓存进行流式数据预取过程。
10、根据本公开的一些实施例,流式数据预取请求用于基于缓存的一级缓存、二级缓存以及最后一级缓存进行流式数据预取过程。
11、根据本公开的另一方面,提供了一种电子设备。该电子设备包括预取器和缓存,预取器被配置为包括多个条目以及多路命中检测器,多个条目配置成:接收针对缓存的需求地址,并基于需求地址进行训练,以识别流式数据规律并产生流式数据预取请求,其中,多个条目中的每个条目独立地进行训练以及产生流式数据预取请求;以及多路命中检测器配置成:基于多个条目的命中信息,确定多个条目中是否存在将产生重复的预取地址的n个条目,其中,n为大于1的整数;在确定存在n个条目的情形下,基于n个条目的信息从n个条目中确定出m个选中条目,其中,m为大于等于1小于n的整数;以及针对n个条目中除m个条目之外的未选中条目产生废止指令,以使得禁止未选中条目产生流式数据预取请求。
12、根据本公开的一些实施例,多路命中检测器实现为流水线,独立于多个条目,且与多个条目的训练和预取过程并行地进行多路命中检测。
13、根据本公开的一些实施例,需求地址为对应于加载指令或存储指令的虚拟地址。
14、根据本公开的一些实施例,多路命中检测器基于多个条目的命中信息,确定多个条目中是否存在将产生重复的预取地址的n个条目包括:在需求地址同时命中流式数据的方向相同且处于预取模式、或者处于训练模式下的n个条目的情形下,确定存在将产生重复的预取地址的n个条目;或者,在需求地址同时命中流式数据的方向相同且处于预取模式、或者正在进行预取模式的n个条目的情形下,确定存在将产生重复的预取地址的n个条目。
15、根据本公开的一些实施例,m等于1,多路命中检测器基于n个条目的信息从n个条目中确定出m个选中条目包括以下之一:基于n个条目的信息从n个条目中确定置信度参数最高的条目作为选中条目;基于n个条目的信息从n个条目中确定在时间上最早分配的条目作为选中条目;或者,基于n个条目的信息从n个条目中确定条目序号最小或者最大的条目作为选中条目。
16、根据本公开的一些实施例,预取器还包括预取请求生成器,配置成:基于m个选中条目生成流式数据预取请求,流式数据预取请求用于基于缓存进行流式数据预取过程。
17、根据本公开的一些实施例,流式数据预取请求用于基于缓存的一级缓存、二级缓存以及最后一级缓存进行流式数据预取过程。
18、根据本公开的一些实施例,电子设备还包括读写单元,其中,预取器位于电子设备的读写单元内,读写单元还包括读写队列以及仲裁器,其中,读写队列配置成:基于读写操作的信息生成需求访问;仲裁器配置成:基于读写队列的需求访问和预取生成的流式数据预取请求来产生数据访问请求,数据访问请求对应于需求地址,其中,预取器基于需求地址进行训练和预取。
19、根据本公开的又一方面,提供了一种电子装置。该电子装置包括处理器和存储器,存储器中存储有计算机可读代码,计算机可读代码在由处理器执行时使得处理器执行根据本公开实施例的数据预取方法的步骤。
20、根据本公开的又一方面,提供了一种非暂时性计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令在被处理器执行时,使本文档来自技高网...
【技术保护点】
1.一种数据预取方法,其特征在于,所述方法适用于电子设备,所述电子设备包括预取器和缓存,其中,所述预取器包括多个条目以及多路命中检测器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多路命中检测器实现为流水线,独立于所述多个条目,且与所述多个条目的训练和预取过程并行地进行多路命中检测。
3.根据权利要求1所述的方法,其特征在于,所述需求地址为对应于加载指令或存储指令的虚拟地址。
4.根据权利要求1所述的方法,其特征在于,所述利用所述多路命中检测器基于所述多个条目的命中信息,确定所述多个条目中是否存在将产生重复的预取地址的N个条目包括:
5.根据权利要求1所述的方法,其特征在于,M等于1,所述利用所述多路命中检测器基于所述N个条目的信息从所述N个条目中确定出M个选中条目包括:
6.根据权利要求1所述的方法,其特征在于,M等于1,所述利用所述多路命中检测器基于所述N个条目的信息从所述N个条目中确定出M个选中条目包括:
7.根据权利要求1所述的方法,其特征在于,M等于1,所述利用所述多路命中检测器基
8.根据权利要求1所述的方法,其特征在于,所述预取器还包括预取请求生成器,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述流式数据预取请求用于基于所述缓存的一级缓存、二级缓存以及最后一级缓存进行流式数据预取过程。
10.一种电子设备,其特征在于,所述电子设备包括预取器和缓存,所述预取器被配置为包括多个条目以及多路命中检测器,其中,
11.根据权利要求10所述的电子设备,其特征在于,所述多路命中检测器实现为流水线,独立于所述多个条目,且与所述多个条目的训练和预取过程并行地进行多路命中检测。
12.根据权利要求10所述的电子设备,其特征在于,所述需求地址为对应于加载指令或存储指令的虚拟地址。
13.根据权利要求10所述的电子设备,其特征在于,所述多路命中检测器基于所述多个条目的命中信息,确定所述多个条目中是否存在将产生重复的预取地址的N个条目包括:
14.根据权利要求10所述的电子设备,其特征在于,M等于1,所述多路命中检测器基于所述N个条目的信息从所述N个条目中确定出M个选中条目包括以下之一:
15.根据权利要求10所述的电子设备,其特征在于,所述预取器还包括预取请求生成器,配置成:基于所述M个选中条目生成流式数据预取请求,其中,所述流式数据预取请求用于基于所述缓存进行流式数据预取过程。
16.根据权利要求15所述的电子设备,其特征在于,所述流式数据预取请求用于基于所述缓存的一级缓存、二级缓存以及最后一级缓存进行流式数据预取过程。
17.根据权利要求10所述的电子设备,其特征在于,所述电子设备还包括读写单元,其中,所述预取器位于所述电子设备的读写单元内,所述读写单元还包括读写队列以及仲裁器,其中,
18.一种电子装置,其特征在于,所述电子装置包括处理器和存储器,所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述处理器执行时使得所述处理器执行如权利要求1-9中任一项所述的方法的步骤。
19.一种非暂时性计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使得所述处理器执行如权利要求1-9中任一项所述的方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时,使得所述处理器执行如权利要求1-9中任一所述的方法的步骤。
...【技术特征摘要】
1.一种数据预取方法,其特征在于,所述方法适用于电子设备,所述电子设备包括预取器和缓存,其中,所述预取器包括多个条目以及多路命中检测器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多路命中检测器实现为流水线,独立于所述多个条目,且与所述多个条目的训练和预取过程并行地进行多路命中检测。
3.根据权利要求1所述的方法,其特征在于,所述需求地址为对应于加载指令或存储指令的虚拟地址。
4.根据权利要求1所述的方法,其特征在于,所述利用所述多路命中检测器基于所述多个条目的命中信息,确定所述多个条目中是否存在将产生重复的预取地址的n个条目包括:
5.根据权利要求1所述的方法,其特征在于,m等于1,所述利用所述多路命中检测器基于所述n个条目的信息从所述n个条目中确定出m个选中条目包括:
6.根据权利要求1所述的方法,其特征在于,m等于1,所述利用所述多路命中检测器基于所述n个条目的信息从所述n个条目中确定出m个选中条目包括:
7.根据权利要求1所述的方法,其特征在于,m等于1,所述利用所述多路命中检测器基于所述n个条目的信息从所述n个条目中确定出m个选中条目包括:
8.根据权利要求1所述的方法,其特征在于,所述预取器还包括预取请求生成器,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述流式数据预取请求用于基于所述缓存的一级缓存、二级缓存以及最后一级缓存进行流式数据预取过程。
10.一种电子设备,其特征在于,所述电子设备包括预取器和缓存,所述预取器被配置为包括多个条目以及多路命中检测器,其中,
11.根据权利要求10所述的电子设备,其特征在于,所述多路命中检测器实现为流水线,独立于所述多个条目,且与所述多个条目的训...
【专利技术属性】
技术研发人员:潘步堃,徐翠萍,王迪,丁程,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。