数据预取方法、装置制造方法及图纸

技术编号:33639000 阅读:38 留言:0更新日期:2022-06-02 01:56
本公开的实施例提供了一种支持非单一地址间隔访问模式的数据预取方法、装置、计算机程序产品及计算机可读存储介质。本公开的实施例所提供的方法通过获取待访问的地址;确定待访问的地址与前一访问地址之间的地址间隔;利用所述地址间隔,形成按访问时间排序的地址间隔历史记录;在所述地址间隔历史记录中存在相同的地址间隔的情况下,确定相同的地址间隔之间的地址距离;以及基于所确定的地址距离、先前所记录的地址距离以及所述待访问的地址,确定要进行数据预取的预取地址。通过本公开的实施例提供的数据预取方法提升了预取的覆盖率,提高了预取的准确率。同时,该方法支持部分地址序列丢失的预取,增强了预取的稳定性。增强了预取的稳定性。增强了预取的稳定性。

【技术实现步骤摘要】
数据预取方法、装置


[0001]本公开涉及人计算机及处理器领域,更具体地,涉及一种数据预取方法、装置、计算机程序产品及计算机可读存储介质。

技术介绍

[0002]随着计算需求飞速增长、数据总量日益膨胀,为了使计算机的数据存储能力及处理能力与之匹配,如何提升数据访存效率是目前计算机及处理器的重点研究方向之一。
[0003]现代处理器的发展速度快但存储器的发展速度慢,数据处理速度远大于数据访存速度,处理器要花费大量的时间等待存储器数据的返回。缓存技术使速度更快的上层存储器成为下层存储器的缓冲,如果缓存命中,可直接对上层存储器中的数据进行读写,如果发生缓存缺失,则要等待很多时钟周期把数据从内存搬移到缓存中,这期间中央处理器(CPU)的流水线很可能要停下来,代价巨大。为了解决这个问题,现在的高速缓存设计通常采用了预取技术(Prefetch)。预取技术是通过预测将来要访问的地址,提前将要用的数据从内存中取到位于CPU内部的高速缓存(Cache)中,或者提前将数据从低一级的高速缓存取到更高级的高速缓存中。计算机在访问一个内存地址的时候,先查找高速缓本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据预取方法,包括:获取待访问的地址;确定待访问的地址与前一访问地址之间的地址间隔;利用所述地址间隔,形成按访问时间排序的地址间隔历史记录;确定所述地址间隔历史记录中是否存在相同的地址间隔;在所述地址间隔历史记录中存在相同的地址间隔的情况下,确定相同的地址间隔之间的地址距离;以及基于所确定的地址距离、先前所记录的地址距离以及所述待访问的地址,确定要进行数据预取的预取地址。2.如权利要求1所述的数据预取方法,其中,所述地址间隔与待访问数据的数据类型相关,并且所述地址间隔历史记录中至少包含两个不同的地址间隔。3.如权利要求1所述的数据预取方法,其中,所述基于所确定的地址距离、先前所记录的地址距离以及所述待访问的地址,确定要进行数据预取的预取地址,还包括:在所确定的地址距离与所记录的地址距离相同的情况下,对所记录的地址距离的重复次数进行递增。4.如权利要求1所述的数据预取方法,其中,所述基于所确定的地址距离、先前所记录的地址距离以及所述待访问的地址,确定要进行数据预取的预取地址,还包括:在所确定的地址距离与所记录的地址距离不同的情况下,对所记录的地址距离的重复次数进行递减,并继续按所记录的地址距离进行数据预取,在所记录的地址距离的重复次数低于第三阈值的情况下,重新对所记录的地址距离进行训练;或者在所确定的地址距离与所记录的地址距离不同的情况下,重新对所记录的地址距离进行训练。5.如权利要求1所述的数据预取方法,还包括:在所述地址间隔历史记录中不存在相同的地址间隔的情况下,对所记录的地址距离的重复次数进行递减,并继续按所记录的地址距离进行数据预取,在所记录的地址距离的重复次数低于第三阈值的情况下,重新对所记录的地址距离进行训练;或者在所述地址间隔历史记录中不存在相同的地址间隔的情况下,重新对所记录的地址距离进行训练。6.如权利要求1所述的数据预取方法,其中,在所述地址间隔历史记录中存在相同的地址间隔的情况下,确定相同的地址间隔之间的地址距离包括:对所述相同的地址间隔与所述相同的地址间隔之间的各历史地址间隔求和以计算相同的地址间隔之间的距离。7.如权利要求1所述的数据预取方法,其中,在所述地址间隔历史记录中存在相同的地址间隔的情况下,确定相同的地址间隔之间的地址距离包括:在所述地址间隔历史记录中存在两个相同的地址间隔的情况下,确定地址距离为两个相同的地址间隔之间的距离;在所述地址间隔历史记录中存在多个相同的地址间隔的情况下,确定地址间隔和与其相同的各个先前地址间隔之间的距离,并根据所确定的各个距离确定当前的地址距离,所确定的地址距离为各个距离中最远的距离或者与记录的地址距离相同的距离。
8.如权利要求1所述的数据预取方法,还包括:基于所述地址间隔历史记录,对所记录的地址距离进行训练,其中,基于所确定的地址距离、先前所记录的地址距离以及所述待访问的地址,确定要进行数据预取的预取地址包括:基于所确定的地址距离和先前所记录的地址距离,确定用于数据预取的地址增量,其中所述先前所记录的地址距离为经过训练的地址距离;以及基于所述用于数据预取的地址增量来确定要进行数据预取的预取地址。9.如权利要求8所述的数据预取方法,其中,所述基于所述地址间隔历史记录对所记录的地址距离进行训练,还包括:在所述地址距离为正数的情况下,利用所确定的地址距离与所记录的地址距离中较大的地址距离来更新所记录的地址距离;或者在所述地址距离为负数的情况下,利用所确定的地址距离与所记录的地址距离中较小的地址距离来更新所记录的地址距离。10.如权利要求8所述的数据预取方法,其中,所述基于所述地址间隔历史记录对所记录的地址距离进行训练,还包括:在所述地址间隔历史记录中不存在相同的地址间隔且不存在所记录的地址距离的情况下,利用当前所记录的历史地址间隔中的绝对值最大的地址间隔或所记录的历史地址间隔之和来更新所记录的地址距离;以及基于所记录的地址距离确定要进行数据预取的预取地址。11.如权利要求8所述的数据预取方法,其中,所述基于所述地址间隔历史记录对所记录的地址距离...

【专利技术属性】
技术研发人员:潘海洋崔泽汉
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1