System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种数据预取方法及装置。
技术介绍
1、数据预取是在处理器访问内存前,将后续需要的数据提前从内存中取出来存储到高速缓冲寄存器中的一种方法,这样当cpu访问数据时,由于数据已经提前取出并缓存,因此可以直接进行访问,减少了cpu访问内存查找数据所带来的延迟。
2、目前的数据预取过程中,每次预取的数量都是固定的,但如果每次预取数量过多,在数据在未被访问的情况下,容易被新的数据覆盖,如果每次预取数量过少,可能在访问过程中数据未及时缓存,导致访问时长过长。
技术实现思路
1、有鉴于此,本申请提供一种数据预取方法包括:
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、响应单元,用于响应于预取请求的第一预取地址;
32、第一获取单元,用于获得所述第一预取地址对应的第一索引值及第一数据预取量;
33、生成单元,用于基于所述第一索引值及所述第一数据预取量,生成下一次预取请求的第二预取地址;
34、第二获取单元,用于获得所述第二预取地址对应的第二索引值;
35、调整单元,用于基于所述第一索引值与所述第二索引值之间的差值,调整所述第一数据预取量,获得所述第二预取地址对应的第二数据预取量;
36、操作单元,用于在将所述第二数据预取量进行保存之后,按照所述第一数据预取量执行所述预取请求对应的数据预取操作。
本文档来自技高网...【技术保护点】
1.一种数据预取方法,包括:
2.根据权利要求1所述的方法,所述第一数据预取量为数据预取基数和步幅的乘积;
3.根据权利要求1或2所述的方法,所述基于所述差值调整所述步幅,包括:
4.根据权利要求1所述的方法,还包括:
5.根据权利要求4所述的方法,所述按照所述第一数据预取量执行所述预取请求对应的数据预取操作,包括:
6.根据权利要求4所述的方法,还包括:
7.根据权利要求1或5所述的方法,所述按照所述第一数据预取量执行所述预取请求对应的数据预取操作,包括:
8.根据权利要求7所述的方法,还包括:
9.根据权利要求4所述的方法,还包括:
10.一种数据预取装置,包括:
【技术特征摘要】
1.一种数据预取方法,包括:
2.根据权利要求1所述的方法,所述第一数据预取量为数据预取基数和步幅的乘积;
3.根据权利要求1或2所述的方法,所述基于所述差值调整所述步幅,包括:
4.根据权利要求1所述的方法,还包括:
5.根据权利要求4所述的方法,所述按照所述第一数据预取量执行所述预取请求对...
【专利技术属性】
技术研发人员:王永超,
申请(专利权)人:鼎道智芯上海半导体有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。