CN116204453A - 多核***的数据访问方法、装置、设备及存储介质 - Google Patents

多核***的数据访问方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116204453A
CN116204453A CN202211667384.3A CN202211667384A CN116204453A CN 116204453 A CN116204453 A CN 116204453A CN 202211667384 A CN202211667384 A CN 202211667384A CN 116204453 A CN116204453 A CN 116204453A
Authority
CN
China
Prior art keywords
private variable
physical
address
processor core
physical memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211667384.3A
Other languages
English (en)
Inventor
彭元志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kedong Guangzhou Software Technology Co Ltd
Original Assignee
Kedong Guangzhou Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kedong Guangzhou Software Technology Co Ltd filed Critical Kedong Guangzhou Software Technology Co Ltd
Priority to CN202211667384.3A priority Critical patent/CN116204453A/zh
Publication of CN116204453A publication Critical patent/CN116204453A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种多核***的数据访问方法、装置、设备及存储介质。该方法包括:通过对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;所述处理器核基于所述映射关系访问所述私有变量。本公开实施例,通过根据页目录表为所述私有变量分配物理内存,并建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系的方式,不仅可以避免多核***中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。

Description

多核***的数据访问方法、装置、设备及存储介质
技术领域
本发明实施例涉及操作***技术领域,尤其涉及一种多核***的数据访问方法、装置、设备及存储介质。
背景技术
随着微处理器技术的高速发展,中央处理器(centralprocessingunit,CPU)主频的提高,核心数的增多,CPU性能得到了显著提升。但是多个处理器对某个内存块同时读写,会引起缓存(Cache)一致性问题。Cache一致性问题出现的原因是在一个多处理器***中,每个处理器核心都有独占的Cache,而多个处理器核心都能够独立地执行计算机指令,从而有可能同时对某个内存块进行读写操作,导致一个内存块同时可能有多个备份,从而引起缓存同步的问题。
发明内容
本发明实施例提供一种多核***的数据访问方法、装置、设备及存储介质,不仅可以避免多核***中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
第一方面,本发明实施例提供了一种多核***的数据访问方法,所述多核***包括多个处理器核,所述方法包括:对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;所述处理器核基于所述映射关系访问所述私有变量。
第二方面,本发明实施例还提供了一种多核***的数据访问装置,所述多核***包括多个处理器核,所述装置包括:私有变量定义模块,用于对于每个处理器核,定义该处理器核的私有变量;物理内存分配模块,用于根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;映射关系建立模块,用于建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;私有变量访问模块,用于所述处理器核基于所述映射关系访问所述私有变量。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的多核***的数据访问方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的多核***的数据访问方法。
本实施例的技术方案,通过对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;所述处理器核基于所述映射关系访问所述私有变量。本公开实施例,通过根据页目录表为所述私有变量分配物理内存,并建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系的方式,不仅可以避免多核***中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
附图说明
图1为本发明实施例提供的一种多核***的数据访问方法的流程图;
图2为本发明实施例提供的私有变量与物理内存间的映射关系效果示意图;
图3为本发明实施例提供又一种多核***的数据访问方法流程图;
图4为本发明实施例提供的一种多核***的数据访问装置的结构示意图;
图5是实现本发明实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种多核***的数据访问方法的流程图,本实施例可适用于多个处理器核访问内存数据的情况,该方法可以由一种多核***的数据访问装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。具体包括如下步骤:
S110、对于每个处理器核,定义该处理器核的私有变量。
其中,处理器核可以理解为CPU中最重要的组成部分,主要用于计算和处理数据。私有变量可以是静态处理器私有变量,并存储于物理内存中。
本实施例,通过为每个处理器核定义私有变量,便于后续处理器核访问自己的私有变量。
可选的,私有变量为处理器核静态变量。
本实施例,通过将私有变量定义为处理器核静态变量,使得每个处理器核可以访问自己的私有变量,即每个处理器核间无法相互访问对方的私有变量。
可选的,定义该处理器核的私有变量的方式可以是:将私有变量与预先为该处理器核分配的页目录表进行页对齐;定义私有变量的虚拟地址。
其中,虚拟地址包括虚拟起始地址和虚拟结束地址。本实施例,可以将私有变量与页目录表进行页对齐,并定义私有变量的虚拟地址,便于后续根据虚拟起始地址和虚拟结束地址计算出处理器核所需的内存大小,以及便于后续内存管理单元MMU对虚拟地址和物理地址之间的映射,即提高后续操作的便利性和效率。
在实际应用中,可以自定义一个私有字段,私有字段包括私有变量,该私有变量可以为处理器核静态变量,私有变量可以通过操作***定义。具体的代码如下:
#definePER_CPU__attribute__((__section__(“.per_cpu”)));将宏定义声明的处理器核静态变量放置在.per_cpu字段中。
定义处理器核静态变量的方式可以是:
PER_CPUuint32_tvar;
通过链接脚本把相关的私有变量全部放置在".per_cpu"字段中。其链接脚本新增如下代码片段:
.=ALIGN(PAGE_SIZE);
per_cpu_mem_start=.;
*(.per_cpu)
.=ALIGN(PAGE_SIZE);
per_cpu_mem_end=.;
需要说明的是,私有变量与页目录表进行页对齐,并且可以通过链接脚本定义私有变量的虚拟起始地址和虚拟结束地址,即“.per_cpu”字段包括私有变量、虚拟起始地址和虚拟结束地址等信息。本实施例中,提供与单核一样的变量定义,可以通过变量逻辑地址直接访问每个处理器核的私有变量,提高访问效率及便捷性。
S120、根据预先为该处理器核分配的页目录表,为私有变量分配物理内存。
其中,页目录表可以理解为在页目录表中,每个表项指向一个页表的起始地址(物理地址),即多个表项指向多个不同的页表的起始地址。在页表中,每个表项指向一个物理页的起始地址。物理页可以用于存储任务(程序)的内容。
本实施例中,可以预先为每个处理器核分配页目录表,以使基于页目录表,为每个处理核的私有变量分配相应的物理内存。需要说明的是,每个处理器核除了有独立的页目录表基地址,还可以根据页面大小采用多级页表进行管理。
可选的,根据预先为该处理器核分配的页目录表,为私有变量分配物理内存的方式可以是:根据虚拟起始地址和虚拟结束地址确定处理器核所需的物理内存;基于物理内存及预先为该处理器核分配的页目录表为私有变量分配物理内存。
本实施例中,可以通过虚拟结束地址与虚拟起始地址相减的方式确定处理器核所需的物理内存。通过根据虚拟起始地址和虚拟结束地址确定处理器核所需的物理内存的方式,可以有效并准确的确定出处理器核所需要的内存大小。
在确定出处理器核所需的物理内存之后,根据所计算的物理内存,调用多核***的函数,并基于预先为该处理器核分配的页目录表为私有变量分配物理内存。需要说明的是,对于每个处理器核所分配的物理内存,即使内存大小相同,但是物理内存所对应的内存空间地址段不同,以防止多个处理器核内存访问冲突。本实施例,通过根据虚拟起始地址和虚拟结束地址确定处理器核所需的物理内存,基于物理内存及页目录表为私有变量分配物理内存的方式,可以有效并准确的为每个处理器核分配相应的物理内存。
可选的,基于物理内存及预先为该处理器核分配的页目录表为私有变量分配物理内存的方式可以是:基于物理内存调用***的物理页分配函数;通过物理页分配函数从页目录表中为私有变量分配物理内存。
其中,物理页分配函数可以是多核***中的函数,用于为处理器核分配相应内存大小的物理内存。本实施例中,通过物理页分配函数从页目录表中为私有变量分配物理内存的方式,可以有效实现对处理器核物理内存的分配。
S130、建立私有变量的虚拟地址与物理内存对应的物理地址间的映射关系。
本实施例中,可以通过调用多核***中的函数将私有变量的虚拟地址与物理内存对应的物理地址建立映射关系。
可选的,建立私有变量的虚拟地址与物理内存对应的物理地址间的映射关系的方式可以是:提取物理内存对应的物理地址中的物理起始地址;建立虚拟起始地址和物理起始地址间的映射关系。
本实施例中,通过提取物理内存对应的物理地址中的物理起始地址,并将物理起始地址与虚拟起始地址建立映射关系,使得每个处理器核可以直接通过虚拟地址(逻辑地址)访问自己的私有变量,并可以根据私有变量与物理内存间的映射关系访问内存。
可选的,建立虚拟起始地址和物理起始地址间的映射关系的方式可以是:调用多核***的内存管理单元MMU建立虚拟起始地址和物理起始地址间的映射关系。
其中,内存管理单元(MemoryManagementUnit,MMU)可以用于虚拟内存的管理,例如可以用于建立虚拟地址与物理地址间的映射关系,即虚拟地址至物理地址的转换。
本实施例,通过调用多核***中的内存管理单元提供的函数(如mmuMap接口函数)建立虚拟起始地址和物理起始地址间的映射关系的方式,可以有效并准确的将虚拟起始地址和物理起始地址建立映射关系。如图2所示,图2为本发明实施例提供的私有变量与物理内存间的映射关系效果示意图。MMU将每个处理器核的私有变量的虚拟地址映射至物理内存中不同的物理地址。其中,字段1可以为“.text”字段、字段2可以为“.data”字段、字段4可以为“.bss”字段,各处理器核对应的虚拟地址可以理解为字段3,字段3可以是“.per_cpu”字段。
S140、处理器核基于映射关系访问私有变量。
本实施例中,处理器核可以基于映射关系访问私有变量,提高了访问内存数据的效率。
本实施例的技术方案,通过对于每个处理器核,定义该处理器核的私有变量;根据预先为该处理器核分配的页目录表,为私有变量分配物理内存;建立私有变量的虚拟地址与物理内存对应的物理地址间的映射关系;处理器核基于映射关系访问私有变量。本公开实施例,通过根据页目录表为私有变量分配物理内存,并建立私有变量的虚拟地址与物理内存对应的物理地址间的映射关系的方式,不仅可以避免多核***中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
图3为本发明实施例提供又一种多核***的数据访问方法流程图。
S310、内存管理单元初始化,为每个处理器核分配页目录表。
S320、将私有变量与页目录表进行页对齐。
S330、定义私有变量的虚拟地址;其中,虚拟地址包括虚拟起始地址和虚拟结束地址。
S340、根据虚拟起始地址和虚拟结束地址确定处理器核所需的物理内存。
S350、基于物理内存调用***的物理页分配函数;通过物理页分配函数从页目录表中为私有变量分配物理内存。
S360、调用多核***的内存管理单元MMU建立虚拟起始地址和物理起始地址间的映射关系。
本实施例的技术方案,通过内存管理单元初始化,为每个处理器核分配页目录表;将私有变量与页目录表进行页对齐;定义私有变量的虚拟地址;其中,虚拟地址包括虚拟起始地址和虚拟结束地址;根据虚拟起始地址和虚拟结束地址确定处理器核所需的物理内存;基于物理内存调用***的物理页分配函数;通过物理页分配函数从页目录表中为私有变量分配物理内存;调用多核***的内存管理单元MMU建立虚拟起始地址和物理起始地址间的映射关系。本实施例,可以避免多个处理器核访问同一个内存块或者数据结构时的缓存同步问题,并且可以通过虚拟地址直接访问每个处理器核的私有变量,提高了数据访问效率以及使用的便利性。
图4为本发明实施例提供的一种多核***的数据访问装置的结构示意图。如图4所示,所述多核***包括多个处理器核,所述装置包括:私有变量定义模块401、物理内存分配模块402、映射关系建立模块403及私有变量访问模块404;
私有变量定义模块401,用于对于每个处理器核,定义该处理器核的私有变量;
物理内存分配模块402,用于根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;
映射关系建立模块403,用于建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;
私有变量访问模块404,用于所述处理器核基于所述映射关系访问所述私有变量。
本实施例的技术方案,通过私有变量定义模块对于每个处理器核,定义该处理器核的私有变量;通过物理内存分配模块根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;通过映射关系建立模块建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;通过私有变量访问模块所述处理器核基于所述映射关系访问所述私有变量。本公开实施例,通过根据页目录表为所述私有变量分配物理内存,并建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系的方式,不仅可以避免多核***中访问同一内存块时的缓存同步问题,还可以提高数据访问效率。
可选的,私有变量定义模块具体用于:将所述私有变量与预先为该处理器核分配的页目录表进行页对齐;定义所述私有变量的虚拟地址;其中,所述虚拟地址包括虚拟起始地址和虚拟结束地址。
可选的,物理内存分配模块具体用于:根据所述虚拟起始地址和虚拟结束地址确定所述处理器核所需的物理内存;基于所述物理内存及预先为该处理器核分配的页目录表为所述私有变量分配物理内存。
可选的,物理内存分配模块还用于:基于所述物理内存调用***的物理页分配函数;通过所述物理页分配函数从所述页目录表中为所述私有变量分配物理内存。
可选的,映射关系建立模块具体用于:提取所述物理内存对应的物理地址中的物理起始地址;建立所述虚拟起始地址和所述物理起始地址间的映射关系。
可选的,映射关系建立模块还用于:调用所述多核***的内存管理单元MMU建立所述虚拟起始地址和所述物理起始地址间的映射关系。
可选的,所述私有变量为处理器核静态变量。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM12以及RAM13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如多核***的数据访问方法。
在一些实施例中,多核***的数据访问方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的多核***的数据访问方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多核***的数据访问方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种多核***的数据访问方法,其特征在于,所述多核***包括多个处理器核,所述方法包括:
对于每个处理器核,定义该处理器核的私有变量;
根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;
建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;
所述处理器核基于所述映射关系访问所述私有变量。
2.根据权利要求1所述的方法,其特征在于,定义该处理器核的私有变量,包括:
将所述私有变量与预先为该处理器核分配的页目录表进行页对齐;
定义所述私有变量的虚拟地址;其中,所述虚拟地址包括虚拟起始地址和虚拟结束地址。
3.根据权利要求2所述的方法,其特征在于,根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存,包括:
根据所述虚拟起始地址和虚拟结束地址确定所述处理器核所需的物理内存;
基于所述物理内存及预先为该处理器核分配的页目录表为所述私有变量分配物理内存。
4.根据权利要求3所述的方法,其特征在于,基于所述物理内存及预先为该处理器核分配的页目录表为所述私有变量分配物理内存,包括:
基于所述物理内存调用***的物理页分配函数;
通过所述物理页分配函数从所述页目录表中为所述私有变量分配物理内存。
5.根据权利要求2所述的方法,其特征在于,建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系,包括:
提取所述物理内存对应的物理地址中的物理起始地址;
建立所述虚拟起始地址和所述物理起始地址间的映射关系。
6.根据权利要求5所述的方法,其特征在于,建立所述虚拟起始地址和所述物理起始地址间的映射关系,包括:
调用所述多核***的内存管理单元MMU建立所述虚拟起始地址和所述物理起始地址间的映射关系。
7.根据权利要求1所述的方法,其特征在于,所述私有变量为处理器核静态变量。
8.一种多核***的数据访问装置,其特征在于,所述多核***包括多个处理器核,所述装置包括:
私有变量定义模块,用于对于每个处理器核,定义该处理器核的私有变量;
物理内存分配模块,用于根据预先为该处理器核分配的页目录表,为所述私有变量分配物理内存;
映射关系建立模块,用于建立所述私有变量的虚拟地址与所述物理内存对应的物理地址间的映射关系;
私有变量访问模块,用于所述处理器核基于所述映射关系访问所述私有变量。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的多核***的数据访问方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的多核***的数据访问方法。
CN202211667384.3A 2022-12-23 2022-12-23 多核***的数据访问方法、装置、设备及存储介质 Pending CN116204453A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211667384.3A CN116204453A (zh) 2022-12-23 2022-12-23 多核***的数据访问方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211667384.3A CN116204453A (zh) 2022-12-23 2022-12-23 多核***的数据访问方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116204453A true CN116204453A (zh) 2023-06-02

Family

ID=86510384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211667384.3A Pending CN116204453A (zh) 2022-12-23 2022-12-23 多核***的数据访问方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116204453A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793331A (zh) * 2012-10-31 2014-05-14 安凯(广州)微电子技术有限公司 一种物理内存管理方法及装置
CN114327777A (zh) * 2021-12-30 2022-04-12 元心信息科技集团有限公司 确定全局页目录的方法、装置、电子设备及存储介质
US20220121383A1 (en) * 2020-10-21 2022-04-21 Montage Technology Co., Ltd. Computing system and method for sharing device memories of different computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793331A (zh) * 2012-10-31 2014-05-14 安凯(广州)微电子技术有限公司 一种物理内存管理方法及装置
US20220121383A1 (en) * 2020-10-21 2022-04-21 Montage Technology Co., Ltd. Computing system and method for sharing device memories of different computing devices
CN114327777A (zh) * 2021-12-30 2022-04-12 元心信息科技集团有限公司 确定全局页目录的方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈昊罡;汪小林;王振林;张彬彬;罗英伟;李晓明;: "DMM:虚拟机的动态内存映射模型", 中国科学:信息科学, no. 12 *

Similar Documents

Publication Publication Date Title
US20230120580A1 (en) Access control method and apparatus for shared memory, electronic device and autonomous vehicle
CN112540731B (zh) 数据的追加写方法、装置、设备、介质和程序产品
CN111625546B (zh) 一种数据写入方法、装置、设备、介质
CN114936173B (zh) 一种eMMC器件的读写方法、装置、设备和存储介质
CN114327278A (zh) 数据的追加写方法、装置、设备以及存储介质
CN115599821A (zh) 缓存控制方法、装置、设备及介质
CN110209354B (zh) 用于处理数据的方法、装置、设备和介质
CN116563089B (zh) 一种图形处理器的内存管理方法、装置、设备及存储介质
CN116467235B (zh) 一种基于dma的数据处理方法、装置、电子设备及介质
CN113836462A (zh) 页面描述文件的生成方法、装置、设备及存储介质
CN117236236A (zh) 一种芯片设计数据管理方法、装置、电子设备及存储介质
CN116578502A (zh) 访问请求处理装置、处理方法、设备及存储介质
CN116204453A (zh) 多核***的数据访问方法、装置、设备及存储介质
CN107291628B (zh) 访问数据存储设备的方法和装置
CN115964166A (zh) 一种资源分配方法、装置、设备及存储介质
CN115562871A (zh) 内存分配管理的方法和装置
CN115617800A (zh) 数据读取方法、装置、电子设备及存储介质
CN114386577A (zh) 用于执行深度学习模型的方法、设备和存储介质
CN115599307B (zh) 数据存取方法、装置、电子设备、存储介质
CN116579914B (zh) 一种图形处理器引擎执行方法、装置、电子设备及存储介质
CN115858432B (zh) 一种访问方法、装置、电子设备及可读存储介质
CN112989250B (zh) 一种Web服务响应方法、装置及电子设备
CN113986134B (zh) 存储数据的方法、读取数据的方法和装置
CN116402141B (zh) 一种模型推理方法、装置、电子设备及存储介质
CN117370397A (zh) 一种数据库兼容方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination