【技术实现步骤摘要】
偏移预取方法、执行偏移预取的装置、计算设备和介质
[0001]本公开的实施例涉及一种偏移预取方法、执行偏移预取的装置、计算设备和介质。
技术介绍
[0002]在中央处理器(Central Processing Unit,CPU)架构中,程序指令与数据一般存储在诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)的内存中。通常,CPU核心(Core)的运行频率远远高于内存的运行频率,因此,CPU从内存直接获取程序指令与数据需要CPU等待上百个CPU时钟周期,这将会造成CPU由于无法继续运行相关指令而产生空转,造成性能损失。因此,现代高性能CPU设置有多级缓存架构,以存储最近被访问的数据。同时,针对多级缓存架构,还利用数据预取器来识别CPU访问数据的规律,以提前地将可能被访问的数据预取到缓存中,以便于CPU能快速地从缓存中读取数据。
技术实现思路
[0003]本公开的一些实施例提供了一种偏移预取方法、执行偏移预取的装置、计算设备和介质,用于通过降低偏移预取器生成偏移预取值所 ...
【技术保护点】
【技术特征摘要】
1.一种偏移预取方法,其特征在于,所述方法包括:利用偏移预取器从预置偏移值表格中选择用于生成预取请求的K个偏移预取值,其中,所述预置偏移值表格包括预先设置的N个偏移值,所述K个偏移预取值为所述偏移预取器从所述预置偏移值表格中在时间上最新选择的偏移预取值,其中,N和K为正整数,N大于K;记录所述K个偏移预取值,用于形成包括所述K个偏移预取值的近期偏移值表格;以及利用所述偏移预取器从所述近期偏移值表格中选择第一偏移预取值,用于基于所述第一偏移预取值进行数据预取。2.根据权利要求1所述的方法,其特征在于,将选择所述第一偏移预取值的过程表示为第一训练阶段,所述方法还包括:对于选择第二偏移预取值的第二训练阶段,基于规则确定是采用所述预置偏移值表格还是采用所述近期偏移值表格来选择所述第二偏移预取值,其中,所述第二偏移预取值用于进行数据预取。3.根据权利要求2所述的方法,其特征在于,所述规则包括:确定所述第一偏移预取值的训练分数是否大于分数阈值,在所述训练分数大于所述分数阈值的情况下,确定采用所述近期偏移值表格来选择所述第二偏移预取值。4.根据权利要求2所述的方法,其特征在于,所述规则包括:按照交替方式来采用所述预置偏移值表格和所述近期偏移值表格来选择所述第二偏移预取值,其中,所述交替方式表示在所述第一训练阶段采用所述近期偏移值表格的情况下,在所述第二训练阶段采用所述预置偏移值表格来选择所述第二偏移预取值。5.根据权利要求2
‑
4中的任一项所述的方法,其特征在于,所述方法还包括:在确定采用所述预置偏移值表格来选择所述第二偏移预取值的情况下,利用所述偏移预取器来从所述预置偏移值表格中选择所述第二偏移预取值,并基于所述第二偏移预取值来进行数据预取;或者在确定采用所述近期偏移值表格来选择所述第二偏移预取值的情况下,利用所述偏移预取器来从所述近期偏移值表格中选择所述第二偏移预取值,并基于所述第二偏移预取值来进行数据预取。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:利用所述第二偏移预取值来更新所述近期偏移值表格。7.根据权利要求6所述的方法,其特征在于,所述更新所述近期偏移值表格包括:确定所述第二偏移预取值是否存在于所述近期偏移值表格之中;以及在确定所述第二偏移预取值不存在于所述近期偏移值表格之中的情况下,按照先入先出算法、最近最少使用算法或伪最近最少使用算法中的其中一种来更新所述近期偏移值表格。8.根据权利要求1所述的方法,其特征在于,所述偏移预取器为最佳偏移预取器,所述K个偏移预取值为K个最佳偏移预取值。9.根据权利要求1所述的方法,其特征在于,在所述偏移预取器为用于第L级缓存的偏移预取器的情况下,所述基于所述第一偏移预取值进行数据预取包括:确定由所述第一偏移预取值与请求的地址组成的预取请求地址;确定与所述预取请求地址对应的数据是否存在于所述第L级缓存中;以及
在确定与所述预取请求地址对应的数据不存在于所述第L级缓存中的情况下,触发与所述预取请求地址对应的预取请求,其中,L为大于1的整数。10.一种执行偏移预取的装置,其特征在于,所述执行偏移预取的装置包括偏移预取单元,所述偏移预取单元配置成:利用偏移预取器从预置偏移值表格中选择用于生成预取请求的K个偏移预取值,其中,所述预置偏移值表格包括预先设置的N个偏移值,所述K个偏移预取值为所述偏移预取器从所述预置偏移...
【专利技术属性】
技术研发人员:胡世文,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。