本发明实施例涉及操作系统,尤其涉及一种多核系统的数据访问方法、装置、设备及存储介质。
背景技术:
1、随着微处理器技术的高速发展,中央处理器(centralprocessingunit,cpu)主频的提高,核心数的增多,cpu性能得到了显著提升。但是多个处理器对某个内存块同时读写,会引起缓存(cache)一致性问题。cache一致性问题出现的原因是在一个多处理器系统中,每个处理器核心都有独占的cache,而多个处理器核心都能够独立地执行计算机指令,从而有可能同时对某个内存块进行读写操作,导致一个内存块同时可能有多个备份,从而引起缓存同步的问题。
技术实现思路
1、本发明实施例提供一种多核系统的数据访问方法、装置、设备及存储介质,不仅可以避免多核系统中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
2、第一方面,本发明实施例提供了一种多核系统的数据访问方法,所述多核系统包括多个处理器核,所述方法包括:对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;所述处理器核基于所述映射关系访问所述私有变量。
3、第二方面,本发明实施例还提供了一种多核系统的数据访问装置,所述多核系统包括多个处理器核,所述装置包括:私有变量定义模块,用于对于每个处理器核,定义该处理器核的私有变量;物理内存分配模块,用于根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;映射关系建立模块,用于建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;私有变量访问模块,用于所述处理器核基于所述映射关系访问所述私有变量。
4、第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
5、至少一个处理器;以及
6、与所述至少一个处理器通信连接的存储器;其中,
7、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的多核系统的数据访问方法。
8、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的多核系统的数据访问方法。
9、本实施例的技术方案,通过对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;所述处理器核基于所述映射关系访问所述私有变量。本公开实施例,通过根据页目录表为所述私有变量分配物理内存,并建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系的方式,不仅可以避免多核系统中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
1.一种多核系统的数据访问方法,其特征在于,所述多核系统包括多个处理器核,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,定义该处理器核的私有变量,包括:
3.根据权利要求2所述的方法,其特征在于,根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存,包括:
4.根据权利要求3所述的方法,其特征在于,基于所述物理内存及预先为该处理器核分配的页目录表为所述私有变量分配物理内存,包括:
5.根据权利要求2所述的方法,其特征在于,建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系,包括:
6.根据权利要求5所述的方法,其特征在于,建立所述虚拟起始地址和所述物理起始地址间的映射关系,包括:
7.根据权利要求1所述的方法,其特征在于,所述私有变量为处理器核静态变量。
8.一种多核系统的数据访问装置,其特征在于,所述多核系统包括多个处理器核,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的多核系统的数据访问方法。