本技术涉及数据存储,具体而言,涉及一种内存数据读取方法、装置、电子设备和处理器。
背景技术:
1、存储模块是计算机中重要的存储介质,为了加快计算机处理器的获取内存数据的速度,存储模块和处理器之间通常设置有缓存模块,处理器可通过缓存模块快速获取存储模块的数据。
2、缓存模块通常配置有回填更新机制,为了加快处理器的处理速度,处理器和存储模块之间可采取环绕读取的模式读取数据。环绕读取方式中,处理器将目标处理数据所在的地址块分成多块,得到多个环绕读取地址。处理器将多个环绕读取地址发送到存储模块,存储模块根据多个环绕读取地址进行环绕读取,存储模块以首个接收到的环绕读取地址作为起始地址,读取内存中的数据。当存储模块读取到目标处理数据所在的地址范围的边界地址时,重新定位到目标处理数据所在的地址范围的另一边界地址,按照预设顺序进行读取,直至读取完所有目标处理数据。
3、在读取过程中,每次读取完存储模块完一个单位目标处理数据之后,将该单位目标数据发送到临时缓存模块进行存储,之后按照先进先出的原则将临时缓存模块中的数据发送到缓存模块。
4、现有的部分存储模块默认配置的读取方式为顺序读取方式,无法进行地址强制的跳转读取,因此,处理器在每次环绕读取中,需要额外发送的一次或多次读取指令和边界地址到存储模块以获取处理器需要的全部目标处理数据。对于支持主动环绕读取的存储模块,需要处理器发送切换指令到存储模块,以实现存储模块开启或退出环绕读取模式。
5、综上,现有的环绕读取模式中,处理器需要发送额外的指令到存储模块,降低了读取效率。
技术实现思路
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、发送模块,用于将所述第一边界地址和管理指令发送到存储模块,以使所述存储模块以所述第一边界地址为起始地址,根据第一读取顺序将所述环绕读取操作对应的多个环绕地址对应的存储数据发送到临时缓存模块;
37、数据获取模块,用于返回所述临时缓存模块中所述环绕读取操作对应的多个环绕地址对应的存储数据。
38、第三方面,本技术实施例提供一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
39、第四方面,本技术实施例提供一种处理器,所述处理器用于执行第一方面任一项所述的方法。
1.一种内存数据读取方法,其特征在于,包括:
2.根据权利要求1所述的内存数据读取方法,其特征在于,
3.根据权利要求2所述的内存数据读取方法,其特征在于,所述以所述首个接收到的环绕读取地址为起始地址,返回所述临时缓存模块中所述环绕读取操作对应的多个环绕地址对应的存储数据,包括:
4.根据权利要求1所述的内存数据读取方法,其特征在于,所述临时缓存模块的容量大于等于所述环绕读取操作对应的多个环绕地址对应的存储数据所需的容量。
5.根据权利要求1-4任一项所述的内存数据读取方法,其特征在于,所述根据所述至少一个环绕地址确定所述环绕读取操作对应的多个环绕地址中的第一边界地址,包括:
6.根据权利要求5所述的内存数据读取方法,其特征在于,所述根据环绕读取操作对应的多个环绕读取地址的个数和所述至少一个环绕地址确定所述环绕读取操作对应的多个环绕地址中的第一边界地址,包括:
7.根据权利要求1所述的内存数据读取方法,其特征在于,所述第一边界地址为所述环绕读取操作对应的多个环绕地址中的最小地址。
8.根据权利要求1所述的内存数据读取方法,其特征在于,所述接收环绕读取操作对应的多个环绕地址中的至少一个环绕地址,包括:
9.一种内存数据读取模块,其特征在于,包括:
10.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述的方法的步骤。
11.一种处理器,其特征在于,所述处理器用于执行权利要求1-8任一项所述的方法。
