System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种数据读取方法、装置、电子设备及可读存储介质。
技术介绍
1、在计算机系统中,为提高处理器进行数据访问的速度,减小处理器的运算速度和数据访问速度之间的差距,通常在处理器和内存之间设置数据缓存(data cache,dcache),并在数据缓存中存储处理器最近使用的数据副本。组相连(set-associative)缓存是数据缓存中一种常见的缓存形式,在组相连缓存中,缓存被划分为多个组(set),每个组中有不同的路(way),每路对应一个缓存行,每个缓存行包括数据块和该数据块对应的物理地址,并且缓存行中的数据块存储在组相连缓存的数据域(dataarray)中,缓存行中数据块对应的物理地址存储在组相连缓存的标志域(tagarray)中。
2、目前,当处理器需要从组相连缓存中读取数据时,缓存控制器需要将访存地址对应的物理地址与每个组中的地址进行逐一比对,以确定访存地址是否命中缓存;然后在访存地址命中缓存的情况下,再基于地址比对结果,确定访存地址命中的数据所在的路,再从该路对应的缓存行中读取访存地址命中的数据。
3、但是,这种并行的地址比对操作需要消耗组相连缓存的大量功耗,而且对于访存地址位数较多的处理器来说,地址比对需要耗费的时间较长,导致数据读取延时过长,严重限制了处理器的处理频率。
技术实现思路
1、本专利技术实施例提供一种数据读取方法、装置、电子设备及可读存储介质,可以解决相关技术中组相连缓存进行数据读取的过程中存在功耗大、延时
2、为了解决上述问题,本专利技术实施例公开了一种数据读取方法,所述方法包括:
3、接收处理器发送的访存请求,并获取所述访存请求中携带的访存地址;
4、根据所述访存地址和所述高速缓存的标志域中存储的第一物理地址,从所述高速缓存的组中确定所述访存地址对应的目标组;所述高速缓存包括数据域和标志域,所述数据域用于存储数据块,所述数据块和与所述数据块一一对应的第一物理地址构成缓存行,至少两个缓存行构成组,所述组的数量至少为2;
5、从所述标志域中获取所述目标组中各个缓存行的第一物理地址,并将所述目标组中各个缓存行的第一物理地址确定为第一参考地址;
6、对所述第一参考地址和所述访存地址对应的目标物理地址进行哈希映射,得到所述第一参考地址对应的第一映射参数和所述目标物理地址对应的第二映射参数;
7、根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块;所述目标数据块的第一物理地址与所述目标物理地址相同。
8、另一方面,本专利技术实施例公开了一种数据读取装置,所述装置包括:
9、第一获取模块,用于接收处理器发送的访存请求,并获取所述访存请求中携带的访存地址;
10、确定模块,用于根据所述访存地址和所述高速缓存的标志域中存储的第一物理地址,从所述高速缓存的组中确定所述访存地址对应的目标组;所述高速缓存包括数据域和标志域,所述数据域用于存储数据块,所述数据块和与所述数据块一一对应的第一物理地址构成缓存行,至少两个缓存行构成组,所述组的数量至少为2;
11、第二获取模块,用于从所述标志域中获取所述目标组中各个缓存行的第一物理地址,并将所述目标组中各个缓存行的第一物理地址确定为第一参考地址;
12、哈希映射模块,用于对所述第一参考地址和所述访存地址对应的目标物理地址进行哈希映射,得到所述第一参考地址对应的第一映射参数和所述目标物理地址对应的第二映射参数;
13、第三获取模块,用于根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块;所述目标数据块的第一物理地址与所述目标物理地址相同。
14、再一方面,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的数据读取方法。
15、本专利技术实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的数据读取方法。
16、本专利技术实施例包括以下优点:
17、本专利技术实施例提供了一种数据读取方法,高速缓存在获取到访存地址的情况下,首先从高速缓存的组中确定访存地址对应的目标组,并将从高速缓存的标志域中获取的目标组中各个缓存行的第一物理地址确定为第一参考地址;通过对第一参考地址和访存地址对应的目标物理地址进行哈希映射,得到第一参考地址对应的第一映射参数和目标物理地址对应的第二映射参数,使得第一映射参数的比特位少于第一参考地址的比特位,第二映射参数的比特位少于目标物理地址的比特位,高速缓存在根据较少比特位的第一映射参数和第二映射参数,获取目标物理地址对应的目标数据块,减少了高速缓存在数据读取的过程中进行地址比对的工作量,缩短了高速缓存进行地址比对所耗费的时间,降低了高速缓存进行数据读取的功耗,提高了高速缓存进行数据读取的效率,进而提高了处理器的处理频率。
本文档来自技高网...【技术保护点】
1.一种数据读取方法,其特征在于,应用于高速缓存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二参考地址与所述目标物理地址,从所述参考数据块中确定目标数据块,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述访存地址和所述高速缓存的标志域中存储的第一物理地址,从所述高速缓存的组中确定所述访存地址对应的目标组,包括:
6.一种数据读取装置,其特征在于,应用于高速缓存,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述第三获取模块,包括:
8.根据权利要求7所述的装置,其特征在于,所述第二确定子模块,包括:
9.根据权利要求6所述的装置,其特征在于,所述第三获取模块,包括:
>10.根据权利要求6所述的装置,其特征在于,所述确定模块,包括:
11.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的数据读取方法。
12.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至5中任一项所述的数据读取方法。
...【技术特征摘要】
1.一种数据读取方法,其特征在于,应用于高速缓存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二参考地址与所述目标物理地址,从所述参考数据块中确定目标数据块,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一映射参数和所述第二映射参数,获取所述目标物理地址对应的目标数据块,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述访存地址和所述高速缓存的标志域中存储的第一物理地址,从所述高速缓存的组中确定所述访存地址对应的目标组,包括:
6.一种数据读取装置,其特征在于,应用于高速缓存,所述装置包括:
...【专利技术属性】
技术研发人员:林明锋,张军明,陈康平,包云岗,唐丹,何伟,
申请(专利权)人:北京开源芯片研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。