CN117112227A - A memory management method, system, device, storage medium and electronic equipment - Google Patents

A memory management method, system, device, storage medium and electronic equipment Download PDF

Info

Publication number
CN117112227A
CN117112227A CN202311177554.4A CN202311177554A CN117112227A CN 117112227 A CN117112227 A CN 117112227A CN 202311177554 A CN202311177554 A CN 202311177554A CN 117112227 A CN117112227 A CN 117112227A
Authority
CN
China
Prior art keywords
page table
memory management
acquisition request
management unit
executed
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
CN202311177554.4A
Other languages
Chinese (zh)
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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads 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 Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202311177554.4A priority Critical patent/CN117112227A/en
Publication of CN117112227A publication Critical patent/CN117112227A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The present disclosure discloses a memory management method, a system, a device, a storage medium and an electronic device, where after a cache unit determines an acquisition request to be executed, a memory management unit determines a first page table corresponding to the acquisition request to be executed, when the first page table is a page table being acquired by the memory management unit, waiting information is sent to the first cache unit sending the acquisition request to be executed, so as to suspend processing the acquisition request to be executed, and when the first page table is not a page table being acquired by the memory management unit, the acquisition request to be executed is executed according to page table save information stored by the memory management unit itself. Therefore, the memory management unit can process the to-be-executed acquisition requests corresponding to different page tables simultaneously, so that the resource utilization rate of the memory management unit is ensured, and the management efficiency of the memory management system is improved.

Description

一种内存管理方法、系统、装置、存储介质及电子设备A memory management method, system, device, storage medium and electronic equipment

技术领域Technical field

本说明书涉及缓存领域,尤其涉及一种内存管理方法、系统、装置、存储介质及电子设备。This specification relates to the field of caching, and in particular, to a memory management method, system, device, storage medium and electronic device.

背景技术Background technique

一般的,为了提高计算机的处理效率,通常会在计算机的内存中设置高速缓存(cache)单元,甚至多层级的缓存单元。其中,该缓存单元用于存储虚拟地址和物理地址之间的转换关系。Generally, in order to improve the processing efficiency of the computer, a cache unit, or even a multi-level cache unit, is usually set up in the computer's memory. The cache unit is used to store the translation relationship between virtual addresses and physical addresses.

在计算机中的处理器需执行数据处理任务时,可确定执行数据处理任务所需数据的虚拟地址,并根据该虚拟地址,从缓存单元中确定该虚拟地址对应的物理地址,并根据该物理地址,获取数据处理任务所需的数据。When the processor in the computer needs to perform a data processing task, it can determine the virtual address of the data required to perform the data processing task, and based on the virtual address, determine the physical address corresponding to the virtual address from the cache unit, and based on the physical address , obtain the data required for data processing tasks.

在上述过程中,可能出现缓存单元中未查询到虚拟地址对应的物理地址的情况,则该缓存单元可根据该虚拟地址,向内存管理单元(Memory Management Unit,MMU)发送获取请求。由内存管理单元根据该获取请求中携带的虚拟地址,从页表中查询该虚拟地址对应的物理地址,并将物理地址返回至缓存单元。于是,该缓存单元可确定该虚拟地址对应的物理地址。During the above process, it may happen that the physical address corresponding to the virtual address is not found in the cache unit, and the cache unit can send an acquisition request to the memory management unit (Memory Management Unit, MMU) based on the virtual address. The memory management unit queries the physical address corresponding to the virtual address from the page table according to the virtual address carried in the acquisition request, and returns the physical address to the cache unit. Therefore, the cache unit can determine the physical address corresponding to the virtual address.

但是,由于内存管理单元的执行资源有限,当接收到获取请求时,需为内存管理单元分配执行资源,导致该内存管理单元在同一时段能够同时处理的获取请求的数量有限。However, due to the limited execution resources of the memory management unit, when a fetch request is received, execution resources need to be allocated to the memory management unit, resulting in a limited number of fetch requests that the memory management unit can handle simultaneously during the same period.

基于此,为了保证该内存管理单元的资源利用率,本说明书提供一种内存管理方法。Based on this, in order to ensure the resource utilization of the memory management unit, this specification provides a memory management method.

发明内容Contents of the invention

本说明书提供一种内存管理方法、系统、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。This specification provides a memory management method, system, device, storage medium and electronic device to partially solve the above problems existing in the prior art.

本说明书采用下述技术方案:This manual adopts the following technical solutions:

本说明书提供一种内存管理方法,所述方法应用于内存管理单元,所述内存管理单元和缓存单元通信,所述方法包括:This specification provides a memory management method. The method is applied to a memory management unit. The memory management unit communicates with the cache unit. The method includes:

接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;Receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed;

确定所述虚拟地址对应的第一页表;Determine the first page table corresponding to the virtual address;

响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;In response to the first page table being the second page table, sending waiting information to the first cache unit; wherein the second page table is the page table being acquired by the memory management unit;

响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。In response to the first page table not being the second page table, based on the page table storage information corresponding to the memory management unit, the to-be-executed acquisition request is executed.

可选地,响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息,具体包括:Optionally, in response to the first page table being the second page table, sending waiting information to the first cache unit, specifically including:

响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元在预设时段后重新向所述内存管理单元发送待执行获取请求;In response to the first page table being the second page table, wait information is sent to the first cache unit according to the acquisition request to be executed, wherein the wait information is used to cause the first cache unit to wait in advance. After a set period of time, resend the pending acquisition request to the memory management unit;

所述方法还包括:The method also includes:

接收所述第一缓存单元间隔所述预设时段后重新发送的待执行获取请求,并判断所述第一页表是否为第二页表;Receive the acquisition request to be executed that is resent by the first cache unit after the preset period of time, and determine whether the first page table is a second page table;

若否,执行重新发送的所述待执行获取请求。If not, execute the resent pending acquisition request.

可选地,响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息,具体包括:Optionally, in response to the first page table being the second page table, sending waiting information to the first cache unit, specifically including:

响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元将所述待执行获取请求的状态修改为等待状态。In response to the first page table being the second page table, waiting information is sent to the first cache unit according to the acquisition request to be executed, wherein the waiting information is used to cause the first cache unit to obtain the The status of the pending acquisition request is changed to the waiting status.

可选地,所述方法还包括:Optionally, the method also includes:

对所述第一页表的状态进行监测,当确定所述内存管理单元已获取到所述第一页表时,向所述第一缓存单元发送重试指令,并基于所述第一页表更新所述页表保存信息;其中,所述重试指令用于将所述待执行获取指令的状态修改为执行状态;Monitor the status of the first page table, and when it is determined that the memory management unit has obtained the first page table, send a retry instruction to the first cache unit, and based on the first page table Update the page table storage information; wherein the retry instruction is used to modify the state of the to-be-executed acquisition instruction to an execution state;

接收所述第一缓存单元根据所述重试指令重新发送的待执行获取请求,并执行重新发送的所述待执行获取请求。Receive the pending acquisition request resent by the first cache unit according to the retry instruction, and execute the resent pending acquisition request.

可选地,所述页表保存信息用于表征所述内存管理单元中存储的页表;Optionally, the page table storage information is used to characterize the page table stored in the memory management unit;

基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求,具体包括:Based on the page table storage information corresponding to the memory management unit, the to-be-executed acquisition request is executed, which specifically includes:

当基于页表保存信息确定所述内存管理单元已获取所述第一页表时,从所述内存管理单元存储的各页表中,确定所述第一页表,根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应;When it is determined that the memory management unit has acquired the first page table based on the page table saving information, the first page table is determined from each page table stored by the memory management unit, and the virtual address is in the corresponding page table according to the virtual address. Determine the corresponding physical address in the first page table, and respond to the to-be-executed acquisition request based on the physical address;

当基于所述页表保存信息确定所述内存管理单元未获取到所述第一页表时,为所述待执行获取请求分配执行资源,通过所述执行资源执行所述第一页表。When it is determined that the memory management unit has not acquired the first page table based on the page table storage information, execution resources are allocated to the acquisition request to be executed, and the first page table is executed through the execution resources.

可选地,通过所述执行资源执行所述第一页表,具体包括:Optionally, executing the first page table through the execution resource specifically includes:

利用所述执行资源,将所述第一页表标记为第二页表;Using the execution resource, mark the first page table as a second page table;

向所述内存管理单元的下游存储单元发送所述第一页表对应的获取请求;Send an acquisition request corresponding to the first page table to a downstream storage unit of the memory management unit;

接收所述下游存储单元根据所述获取请求返回的第一页表;Receive the first page table returned by the downstream storage unit according to the acquisition request;

根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应。Determine a corresponding physical address in the first page table according to the virtual address, and respond to the to-be-executed acquisition request based on the physical address.

本说明书提供一种内存管理系统,所述内存管理系统包括内存管理单元和缓存单元,所述内存管理单元和缓存单元通信;其中:This specification provides a memory management system. The memory management system includes a memory management unit and a cache unit. The memory management unit communicates with the cache unit; wherein:

所述第一缓存单元,用于向所述内存管理单元发送待执行获取请求;The first cache unit is used to send a pending acquisition request to the memory management unit;

所述内存管理单元,用于所述内存管理单元,用于接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;确定所述虚拟地址对应的第一页表;响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。The memory management unit is used to receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed; determine the first virtual address corresponding to the virtual address. page table; in response to the first page table being the second page table, sending waiting information to the first cache unit; wherein the second page table is the page table being acquired by the memory management unit; in response to The first page table is not the second page table, and the to-be-executed acquisition request is executed based on the page table storage information corresponding to the memory management unit.

本说明书提供一种内存管理装置,所述装置应用于内存管理单元,所述内存管理单元和缓存单元通信,所述装置包括:This specification provides a memory management device. The device is applied to a memory management unit. The memory management unit communicates with the cache unit. The device includes:

接收模块,用于接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;A receiving module, configured to receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed;

确定模块,用于确定所述虚拟地址对应的第一页表;Determining module, used to determine the first page table corresponding to the virtual address;

第一响应模块,用于响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;A first response module, configured to send waiting information to the first cache unit in response to the fact that the first page table is a second page table; wherein the second page table is a page being acquired by the memory management unit. surface;

第二响应模块,用于响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。The second response module is configured to respond to the fact that the first page table is not the second page table, and execute the to-be-executed acquisition request based on the page table storage information corresponding to the memory management unit.

本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述内存管理方法。This specification provides a computer-readable storage medium. The storage medium stores a computer program. When the computer program is executed by a processor, the above memory management method is implemented.

本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述内存管理方法。This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the above memory management method.

本说明书采用的上述至少一个技术方案能够达到以下有益效果:At least one of the above technical solutions adopted in this manual can achieve the following beneficial effects:

通过在接收到待执行获取请求时,确定该待执行获取请求对应的第一页表,当该第一页表为该内存管理单元正在获取的页表时,向发送该待执行获取请求的第一缓存单元发送等待信息,以暂缓处理该待执行获取请求,当该第一页表不为该内存管理单元正在获取的页表时,根据该内存管理单元中存储的页表保存信息,执行该待执行获取请求。从而保证该内存管理单元在同一时段内处理的待执行获取请求对应于不同的页表,使得该内存管理单元可将对应于不同页表的待执行获取请求并发处理,保证了该内存管理单元的资源利用率,提高了该内存管理系统的管理效率。By determining the first page table corresponding to the acquisition request to be executed when receiving the acquisition request to be executed, when the first page table is the page table being acquired by the memory management unit, sending the acquisition request to be executed to the third page table that sends the acquisition request to be executed. A cache unit sends waiting information to suspend processing of the pending acquisition request. When the first page table is not the page table being acquired by the memory management unit, the cache unit executes the page table storage information based on the page table storage information stored in the memory management unit. Pending fetch request. This ensures that the pending acquisition requests processed by the memory management unit in the same period correspond to different page tables, so that the memory management unit can concurrently process the pending acquisition requests corresponding to different page tables, ensuring that the memory management unit Resource utilization improves the management efficiency of the memory management system.

附图说明Description of drawings

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:The drawings described here are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation of this specification. In the attached picture:

图1为内存管理单元对获取请求进行处理的场景示意图;Figure 1 is a schematic diagram of the scene where the memory management unit processes the acquisition request;

图2为本说明书提供的内存管理方法的流程示意图;Figure 2 is a schematic flow chart of the memory management method provided in this manual;

图3为本说明书提供的对获取请求进行处理的场景示意图;Figure 3 is a schematic diagram of the scenario for processing the acquisition request provided in this manual;

图4为本说明书提供的内存管理系统的结构示意图;Figure 4 is a schematic structural diagram of the memory management system provided in this manual;

图5为本说明书提供的内存管理方法的流程示意图;Figure 5 is a schematic flow chart of the memory management method provided in this manual;

图6为本说明书提供的对应于图2的电子设备示意图。FIG. 6 is a schematic diagram of the electronic device corresponding to FIG. 2 provided in this specification.

具体实施方式Detailed ways

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only some of the embodiments of this specification, but not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this specification.

以下结合附图,详细说明本说明书各实施例提供的技术方案。The technical solutions provided by each embodiment of this specification will be described in detail below with reference to the accompanying drawings.

一般的,内存管理单元可接收缓存单元发送的获取请求,并根据该获取请求中携带的虚拟地址,从页表中查询该虚拟地址对应的物理地址返回至缓存单元。而为了保证内存管理单元的高利用率,通常会设置该内存管理单元可通常对多个获取请求进行处理。Generally, the memory management unit can receive the acquisition request sent by the cache unit, and according to the virtual address carried in the acquisition request, query the physical address corresponding to the virtual address from the page table and return it to the cache unit. In order to ensure high utilization of the memory management unit, the memory management unit is usually set to process multiple acquisition requests.

但是,对于一个页表来说,该页表在同一时段内仅能被一个获取请求进行访问。以该内存管理单元在同一时段内接收到A获取请求和B获取请求为例,若该内存管理单元执行A获取请求和B获取请求都需对某页表进行访问。假设该内存管理单元正在执行A获取请求,则B获取请求需等待该内存管理单元对A获取请求进行处理后,当该页表不被访问时,才可由该内存管理单元对B获取请求进行处理。However, for a page table, the page table can only be accessed by one get request at the same time. Take the memory management unit receiving the A acquisition request and the B acquisition request within the same period as an example. If the memory management unit executes the A acquisition request and the B acquisition request, it needs to access a certain page table. Assuming that the memory management unit is executing the A acquisition request, the B acquisition request needs to wait for the memory management unit to process the A acquisition request. When the page table is not accessed, the B acquisition request can be processed by the memory management unit. .

而由于该内存管理单元的执行资源有限,一旦接收到获取请求,即为该获取请求分配执行资源的特点,导致在上述该内存管理单元接收到多个需对同一页表进行访问的获取请求的情况下,该内存管理单元的资源利用率难免降低。如图1所示。Due to the limited execution resources of the memory management unit, once a fetch request is received, execution resources are allocated to the fetch request. As a result, the memory management unit receives multiple fetch requests that need to access the same page table. In this case, the resource utilization of the memory management unit will inevitably decrease. As shown in Figure 1.

图1为内存管理单元对获取请求进行处理的场景示意图。其中,以向该内存管理单元发送获取请求的缓存单元分别为缓存单元1和缓存单元2为例,则缓存单元1向该内存管理单元发送的获取请求包括:获取请求1、获取请求2、获取请求3和获取请求4。缓存单元2向该内存管理单元发送的获取请求包括:获取请求5、获取请求6、获取请求7和获取请求8。其中,白色矩形表征的请求为需访问页表1的请求,阴影矩形表征的请求为需访问页表2的请求。Figure 1 is a schematic diagram of a scenario in which the memory management unit processes an acquisition request. Among them, taking the cache units that send acquisition requests to the memory management unit as cache unit 1 and cache unit 2 as an example, the acquisition requests sent by cache unit 1 to the memory management unit include: acquisition request 1, acquisition request 2, acquisition request Request 3 and get request 4. The acquisition requests sent by the cache unit 2 to the memory management unit include: acquisition request 5, acquisition request 6, acquisition request 7 and acquisition request 8. Among them, the request represented by the white rectangle is a request that needs to access page table 1, and the request represented by the shaded rectangle is a request that needs to access page table 2.

假设该内存管理单元先接收到缓存单元1发送的各获取请求,则会出现该内存管理单元需将获取请求1、获取请求2、获取请求3和获取请求4执行完后,才可接收缓存单元2发送的各获取请求,并进行处理的情况。但对于获取请求1、获取请求2、获取请求3和获取请求4,其所需访问的页表为相同页表,显然该内存管理单元需将上述缓存单元1发送的各请求依次执行。这就导致该内存管理单元在同一时段内只能处理一个获取请求。资源利用率低,内存管理效率较低。其中,针对每个请求,该请求需访问的页表用于表征该请求需获取的虚拟地址和物理地址之间的对应关系存储于该页表。Assuming that the memory management unit first receives each acquisition request sent by cache unit 1, it will appear that the memory management unit needs to execute acquisition request 1, acquisition request 2, acquisition request 3 and acquisition request 4 before it can receive the cache unit. 2. Each acquisition request is sent and processed. However, for Get Request 1, Get Request 2, Get Request 3 and Get Request 4, the page table they need to access is the same page table. Obviously, the memory management unit needs to execute each request sent by the above cache unit 1 in sequence. This results in the memory management unit being able to process only one fetch request at the same time. Resource utilization is low and memory management efficiency is low. For each request, the page table to be accessed by the request is used to represent the correspondence between the virtual address and the physical address to be obtained by the request and is stored in the page table.

基于此,为了提高该内存管理单元的资源利用率,本说明书提供一种内存管理方法,通过在接收到待执行获取请求时,确定该待执行获取请求对应的第一页表。当该第一页表为该内存管理单元正在获取的页表时,向发送该待执行获取请求的第一缓存单元发送等待信息,以暂缓处理该待执行获取请求。当该第一页表不为该内存管理单元正在获取的页表时,根据该内存管理单元对应的页表保存信息,执行该待执行获取请求。从而保证该内存管理单元在同一时段内处理的待执行获取请求所需访问的页表各不相同,保证了该内存管理单元的资源利用率,提高了内存管理效率。其中,该页表保存信息用于表征该内存管理单元中存储的页表。Based on this, in order to improve the resource utilization of the memory management unit, this specification provides a memory management method by determining the first page table corresponding to the acquisition request to be executed when receiving the acquisition request to be executed. When the first page table is being acquired by the memory management unit, waiting information is sent to the first cache unit that sends the acquisition request to be executed, so as to suspend processing of the acquisition request to be executed. When the first page table is not the page table being acquired by the memory management unit, the pending acquisition request is executed according to the page table storage information corresponding to the memory management unit. This ensures that the page tables accessed by the acquisition requests to be executed processed by the memory management unit in the same period are different, ensuring the resource utilization of the memory management unit and improving memory management efficiency. The page table storage information is used to represent the page table stored in the memory management unit.

图2为本说明书提供的内存管理方法的流程示意图,具体包括以下步骤:Figure 2 is a schematic flow chart of the memory management method provided in this manual, which specifically includes the following steps:

S100:接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址。S100: Receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed.

本说明书提供一种内存管理方法,该内存管理方法的执行过程可由用于进行内存管理的内存管理单元执行。This specification provides a memory management method. The execution process of the memory management method can be executed by a memory management unit used for memory management.

基于上述对本说明书中的内存管理方法的简要说明,可见,本说明书中的内存管理方法,可首先确定待执行获取请求。Based on the above brief description of the memory management method in this specification, it can be seen that the memory management method in this specification can first determine the acquisition request to be executed.

具体的,计算机中的处理器和缓存单元进行通信,当该处理器需要获取相应数据进行数据处理时,可将虚拟地址发送至缓存单元。则该缓存单元可根据该虚拟地址确定该虚拟地址对应的数据,并将数据返回给处理器。或者,该缓存单元也可根据该虚拟地址确定该虚拟地址对应的物理地址,并将物理地址返回给处理器,由处理器根据该物理地址获取相应数据。Specifically, the processor in the computer communicates with the cache unit. When the processor needs to obtain corresponding data for data processing, it can send the virtual address to the cache unit. Then the cache unit can determine the data corresponding to the virtual address according to the virtual address, and return the data to the processor. Alternatively, the cache unit can also determine the physical address corresponding to the virtual address based on the virtual address, and return the physical address to the processor, and the processor obtains corresponding data based on the physical address.

而在缓存单元根据该虚拟地址未找到相应数据或未找到虚拟地址对应的物理地址时,可根据该虚拟地址向内存管理单元发送获取请求。When the cache unit does not find corresponding data based on the virtual address or does not find the physical address corresponding to the virtual address, it may send an acquisition request to the memory management unit based on the virtual address.

于是,该内存管理单元可接收第一缓存单元发送的获取请求,并将该获取请求作为待执行获取请求。其中,该第一缓存单元为发送该待执行获取请求的缓存单元。Therefore, the memory management unit can receive the acquisition request sent by the first cache unit, and use the acquisition request as the acquisition request to be executed. Wherein, the first cache unit is the cache unit that sends the acquisition request to be executed.

同时,由于该内存管理单元需根据该待执行获取请求中包含的虚拟地址,确定该虚拟地址对应的物理地址,返回给第一缓存单元。因此,在接收到待执行获取请求后,该内存管理单元可对该待执行获取请求进行解析,确定该待执行获取请求中包含的虚拟地址。At the same time, the memory management unit needs to determine the physical address corresponding to the virtual address based on the virtual address included in the acquisition request to be executed, and return it to the first cache unit. Therefore, after receiving the acquisition request to be executed, the memory management unit can parse the acquisition request to be executed and determine the virtual address included in the acquisition request to be executed.

当然,上述待执行获取请求还可仅为虚拟地址,即,该第一缓存单元直接将需确定物理地址的虚拟地址发送至内存管理单元中,该内存管理单元直接根据该虚拟地址,确定其对应的物理地址。具体该待执行获取请求中包含的内容以及如何确定该待执行获取请求可根据需要进行设置,本说明书对此不做限制。Of course, the above-mentioned acquisition request to be executed can also be only a virtual address, that is, the first cache unit directly sends the virtual address for which the physical address needs to be determined to the memory management unit, and the memory management unit directly determines the corresponding virtual address based on the virtual address. physical address. The specific content contained in the acquisition request to be executed and how to determine the acquisition request to be executed can be set as needed, and this specification does not limit this.

S102:确定所述虚拟地址对应的第一页表。S102: Determine the first page table corresponding to the virtual address.

在本说明书提供的一个或多个实施例中,通常情况下,页表存储在计算机的主存储器中,由内存管理单元根据虚拟地址,从主存储器中获取页表,并根据虚拟地址,从获取到的页表中确定其对应的物理地址。因此,该内存管理单元可首先确定虚拟地址对应的第一页表。In one or more embodiments provided in this specification, usually, the page table is stored in the main memory of the computer, and the memory management unit obtains the page table from the main memory according to the virtual address, and obtains the page table from the main memory according to the virtual address. Determine its corresponding physical address in the page table. Therefore, the memory management unit may first determine the first page table corresponding to the virtual address.

具体的,该内存管理单元中存储有各页表与其对应的虚拟地址的范围的对应关系。Specifically, the memory management unit stores the corresponding relationship between each page table and its corresponding virtual address range.

于是,该内存管理单元可根据该虚拟地址,从各页表中,确定存储有该虚拟地址及其对应的物理地址之间的对应关系的页表,作为第一页表。Therefore, the memory management unit can determine, from each page table, the page table that stores the correspondence between the virtual address and its corresponding physical address as the first page table based on the virtual address.

进一步的,在内存管理单元根据虚拟地址来访问页表时,通常需基于虚拟地址的高位来对页表项进行检索,从而在检索到第一页表中,基于该虚拟地址的低位来确定物理地址在第一页表中的偏移,进而定位到第一页表中的物理地址。可见,针对每个虚拟地址,该虚拟地址的高位可用于检索第一页表。Furthermore, when the memory management unit accesses the page table based on the virtual address, it usually needs to retrieve the page table entry based on the high bits of the virtual address, so that in the first page table retrieved, the physical address is determined based on the low bits of the virtual address. The offset of the address in the first page table, and then locates the physical address in the first page table. It can be seen that for each virtual address, the high bits of the virtual address can be used to retrieve the first page table.

于是,该内存管理单元可直接确定该虚拟地址的高位,并根据该高位,确定该虚拟地址对应的第一页表的标识。其中,该高位可为该虚拟地址的前10位、前20位等,该低位可为该虚拟地址的后10位、后20位等,则该内存管理单元可直接将该虚拟地址的高位,作为第一页表的标识,以表征该待执行获取请求需要对该虚拟地址的高位对应的页表进行访问。Therefore, the memory management unit can directly determine the high bit of the virtual address, and determine the identifier of the first page table corresponding to the virtual address based on the high bit. The high bits can be the first 10 bits, the first 20 bits, etc. of the virtual address, and the low bits can be the last 10 bits, the last 20 bits, etc. of the virtual address. Then the memory management unit can directly store the high bits of the virtual address. As an identifier of the first page table, it indicates that the acquisition request to be executed requires access to the page table corresponding to the high bit of the virtual address.

则该内存管理单元可基于各页表的标识,执行后续步骤。Then the memory management unit can perform subsequent steps based on the identification of each page table.

S104:响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表。S104: In response to the first page table being the second page table, send waiting information to the first cache unit; wherein the second page table is the page table being acquired by the memory management unit.

S106:响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。S106: In response to the first page table not being the second page table, execute the pending acquisition request based on the page table storage information corresponding to the memory management unit.

本说明书中的内存管理方法,可在接收到待执行获取请求后,基于待执行获取请求对应的第一页表是否被访问,来确定该待执行获取请求是否会被立刻执行。其中,针对每个页表,该页表被访问存在两种情况:其一是该页表为正在被该内存管理单元获取的页表,其二是该内存管理单元已获取到页表,但在接收到该待执行获取请求前,该内存管理单元已经接收到其他需访问该页表的获取请求。The memory management method in this specification can determine whether the pending acquisition request will be executed immediately after receiving the pending acquisition request based on whether the first page table corresponding to the pending acquisition request is accessed. Among them, for each page table, there are two situations when the page table is accessed: one is that the page table is being obtained by the memory management unit, and the other is that the memory management unit has obtained the page table, but the page table is being accessed. Before receiving the pending acquisition request, the memory management unit has received other acquisition requests that need to access the page table.

而对于第二种情况来说,由于只需要对该内存管理单元中存储的页表进行查询确定获取请求对应的物理地址,其所需计算资源较少,因此,该内存管理单元可在较短时间内对其进行处理。以该内存管理单元中存储有A页表,且该内存管理单元在较短时间时段先后接收到了待执行获取请求1和待执行获取请求2。该待执行获取请求1和待执行获取请求2都需访问A页表。则在该内存管理单元对待执行获取请求2进行处理时,待执行获取请求A早已被该内存管理单元处理完成。这就导致在判断页表是否被访问时,通常仅需考虑页表是否为该内存管理单元正在获取的页表即可。For the second case, since it only needs to query the page table stored in the memory management unit to determine the physical address corresponding to the acquisition request, it requires less computing resources. Therefore, the memory management unit can be used in a short time. Process it within time. The A page table is stored in the memory management unit, and the memory management unit has received the pending acquisition request 1 and the pending acquisition request 2 in a short period of time. Both the pending acquisition request 1 and the pending acquisition request 2 need to access the A page table. Then when the memory management unit processes the pending acquisition request 2, the pending acquisition request A has already been processed by the memory management unit. This leads to the fact that when determining whether the page table is accessed, it is usually only necessary to consider whether the page table is being obtained by the memory management unit.

具体的,针对该内存管理单元正在执行的每个获取请求,该内存管理单元可将该获取请求对应的页表作为第二页表,并将该第二页表的页表标识进行存储。或者说,该内存管理单元可将自身正在获取的页表作为第二页表,并将第二页表的标识进行存储。Specifically, for each acquisition request being executed by the memory management unit, the memory management unit may use the page table corresponding to the acquisition request as the second page table, and store the page table identifier of the second page table. In other words, the memory management unit can use the page table it is acquiring as the second page table, and store the identifier of the second page table.

于是,该内存管理单元可根据第一页表的标识以及各第二页表的页表标识,判断该各第二页表中是否存在该第一页表,即,判断该第一页表是否为该内存管理单元正在获取的页表。Therefore, the memory management unit can determine whether the first page table exists in each second page table according to the identifier of the first page table and the page table identifier of each second page table, that is, determine whether the first page table The page table being acquired by this memory management unit.

若是,则表征该第一页表正在被获取,也就是该第一页表已被占用。于是,该内存管理单元可暂不执行该待执行获取请求。If so, it means that the first page table is being acquired, that is, the first page table has been occupied. Therefore, the memory management unit may not execute the pending acquisition request temporarily.

若否,则表征该第一页表不是该内存管理单元正在获取的页表,也就是该第一页表未被占用。则该内存管理单元执行该待执行获取请求。If not, it means that the first page table is not the page table being acquired by the memory management unit, that is, the first page table is not occupied. Then the memory management unit executes the pending acquisition request.

需要说明的是,本说明书中的第一页表为存储有待执行获取请求中的虚拟地址及其对应的物理地址之间的对应关系的页表,即,该第一页表为内存管理单元执行该待执行获取请求需访问的页表。本说明书中的第二页表为该内存管理单元正在获取的页表。It should be noted that the first page table in this specification is a page table that stores the correspondence between the virtual address in the acquisition request to be executed and its corresponding physical address. That is, the first page table is executed by the memory management unit. The page table that needs to be accessed by this pending fetch request. The second page table in this manual is the page table that the memory management unit is acquiring.

进一步的,在本说明书中,在该第一页表被占用的情况下,该待执行获取请求需等待至该第一页表不被占用时,才可由该内存管理单元执行该待执行获取请求。在该情况下,若由内存管理单元将该待执行获取请求进行存储,并根据自身存储的各待执行获取请求的存储时间依次执行各待执行获取请求,则其对应的执行效率较差。因此,在该第一页表被占用的情况下,该内存管理单元可向发送该第一页表的第一缓存单元发送等待信息,Further, in this specification, when the first page table is occupied, the pending acquisition request needs to wait until the first page table is not occupied before the memory management unit can execute the pending acquisition request. . In this case, if the memory management unit stores the acquisition requests to be executed and executes the acquisition requests to be executed sequentially according to the storage time of the acquisition requests to be executed, the corresponding execution efficiency will be poor. Therefore, when the first page table is occupied, the memory management unit can send waiting information to the first cache unit that sends the first page table,

具体的,在该第一页表被占用的情况下,该内存管理单元可根据该待执行获取请求,确定发送该待执行获取请求的第一缓存单元。Specifically, when the first page table is occupied, the memory management unit may determine the first cache unit that sends the acquisition request to be executed based on the acquisition request to be executed.

于是,该内存管理单元可向该第一缓存单元发送等待信息。其中,该等待信息用于使该第一缓存单元在预设时段后重新向该内存管理单元发送待执行获取请求。Therefore, the memory management unit may send wait information to the first cache unit. The waiting information is used to cause the first cache unit to re-send the pending acquisition request to the memory management unit after a preset period of time.

则该第一缓存单元可接收该等待信息,并根据该等待信息,在间隔预设时段后重新向该内存管理单元发送待执行获取请求。Then the first cache unit can receive the waiting information, and according to the waiting information, re-send the pending acquisition request to the memory management unit after a preset period of time.

该内存管理单元可将该获取请求进行接收,并确定该重新发送的获取请求对应的第一页表,进而当该第一页表不为第二页表,即,该第一页表不被占用时,执行该重新发送的内存管理单元。也就是说,该内存管理单元在接收到重新发送的待执行获取请求后,可判断该第一页表是否为第二页表。若是,则继续向发送该待执行获取请求的第一缓存单元发送等待信息。若否,则该内存管理单元可直接执行该待执行获取请求。The memory management unit can receive the acquisition request and determine the first page table corresponding to the resent acquisition request, and then when the first page table is not the second page table, that is, the first page table is not used. When occupied, execute the memory management unit that resends. That is to say, after receiving the resent pending acquisition request, the memory management unit can determine whether the first page table is the second page table. If so, continue to send waiting information to the first cache unit that sends the acquisition request to be executed. If not, the memory management unit can directly execute the pending acquisition request.

同时,该内存管理单元可将自身接收到的待执行获取请求删除,并继续接收其他缓存单元发送的待执行获取请求。At the same time, the memory management unit can delete the pending acquisition requests received by itself, and continue to receive pending acquisition requests sent by other cache units.

通过上述实施例,该内存管理单元自身可不将该待执行获取请求进行存储,而是发送等待信息给第一缓存单元,使第一缓存单元将该待执行获取请求进行存储并在后续将该待执行获取请求重新发送给内存管理单元,进而保证该内存管理单元中的各待执行获取请求对应的页表各不相同,使得该内存管理单元可并发处理多个待执行获取请求,提高了资源利用率。Through the above embodiment, the memory management unit itself may not store the acquisition request to be executed, but sends the waiting information to the first cache unit, so that the first cache unit stores the acquisition request to be executed and subsequently stores the acquisition request to be executed. The execution acquisition request is resent to the memory management unit, thereby ensuring that the page tables corresponding to the acquisition requests to be executed in the memory management unit are different, so that the memory management unit can concurrently process multiple acquisition requests to be executed, improving resource utilization. Rate.

更进一步的,在本说明书中,当该第一页表不被占用时,则意味着该内存管理单元可根据该待执行获取请求占用该页表,即,根据该待执行获取请求中的虚拟地址,访问该第一页表。于是,在该第一页表不为第二页表时,该内存管理单元可执行该待执行获取请求。Furthermore, in this specification, when the first page table is not occupied, it means that the memory management unit can occupy the page table according to the acquisition request to be executed, that is, according to the virtual acquisition request in the acquisition request to be executed. address to access the first page of the table. Therefore, when the first page table is not the second page table, the memory management unit can execute the pending acquisition request.

具体的,该内存管理单元自身可存储有页表保存信息。其中,该页表保存信息用于表征该内存管理单元自身存储的页表。Specifically, the memory management unit itself may store page table storage information. The page table storage information is used to represent the page table stored by the memory management unit itself.

于是,该内存管理单元可根据该内存管理单元自身对应的页表保存信息,确定第一页表,并从该第一页表中查询到该虚拟地址对应的物理地址,以及将该物理地址返回至第一缓存单元。Therefore, the memory management unit can determine the first page table based on the page table storage information corresponding to the memory management unit itself, query the physical address corresponding to the virtual address from the first page table, and return the physical address to the first cache unit.

基于图2所示的内存管理方法,通过在接收到待执行获取请求时,确定该待执行获取请求对应的第一页表,当该第一页表为该内存管理单元正在获取的页表时,向发送该待执行获取请求的第一缓存单元发送等待信息,以暂缓处理该待执行获取请求,当该第一页表不为该内存管理单元正在获取的页表时,根据该内存管理单元存储的页表保存信息,执行该待执行获取请求。从而保证该内存管理单元在同一时段内处理的待执行获取请求所需访问的页表各不相同,保证了该内存管理单元的资源利用率,提高了内存管理效率。Based on the memory management method shown in Figure 2, when receiving the acquisition request to be executed, the first page table corresponding to the acquisition request to be executed is determined. When the first page table is the page table being acquired by the memory management unit, , sending waiting information to the first cache unit that sends the pending acquisition request to suspend the processing of the pending acquisition request. When the first page table is not the page table being acquired by the memory management unit, according to the memory management unit The stored page table holds information to execute the pending fetch request. This ensures that the page tables accessed by the acquisition requests to be executed processed by the memory management unit in the same period are different, ensuring the resource utilization of the memory management unit and improving memory management efficiency.

另外,该内存管理单元可有其对应的执行资源,且内存管理单元的执行资源有限。其中,该执行资源可用于表征该内存管理单元可同时处理的获取请求的上限。以该内存管理单元的执行资源为4为例,则该内存管理单元可同时处理4个获取请求。当然,该执行资源还可为计算资源,即,该内存管理单元存储获取请求和执行获取请求都会占用的计算资源。该执行资源的具体定义以及表征含义可根据需要进行设置,本说明书对此不做限制。In addition, the memory management unit may have its corresponding execution resources, and the execution resources of the memory management unit are limited. The execution resources may be used to characterize the upper limit of acquisition requests that the memory management unit can handle simultaneously. Taking the execution resource of the memory management unit as 4 as an example, the memory management unit can process 4 acquisition requests at the same time. Of course, the execution resources may also be computing resources, that is, the memory management unit stores computing resources that are occupied by both the acquisition request and the execution of the acquisition request. The specific definition and representational meaning of the execution resource can be set as needed, and this specification does not limit this.

在该情况下,若第一页表处于被占用的状态,则为该待执行获取请求分配执行资源会导致该内存管理单元中有限的执行资源被占用,进而导致该内存管理单元的资源利用率较低。因此,在第一页表为第二页表时,该内存管理单元可先不为该待执行获取请求分配执行资源,并在该第一页表不为第二页表,再为该待执行获取请求分配执行资源,以此来执行该待执行获取请求。In this case, if the first page table is in an occupied state, allocating execution resources for the pending acquisition request will cause the limited execution resources in the memory management unit to be occupied, thereby causing the resource utilization of the memory management unit to be occupied. lower. Therefore, when the first page table is the second page table, the memory management unit may first not allocate execution resources for the pending acquisition request, and when the first page table is not the second page table, then allocate execution resources for the pending acquisition request. The get request allocates execution resources to execute the pending get request.

具体的,当该第一页表处于为第二页表时,该内存管理单元可根据该待执行获取请求,向该第一缓存单元返回等待信息。其中,该等待信息可用于提示该待执行获取请求对应的第一页表已被占用,并提示该第一缓存单元在预设时段后重新发送待执行获取请求。Specifically, when the first page table is in the second page table, the memory management unit may return waiting information to the first cache unit according to the acquisition request to be executed. The waiting information may be used to prompt that the first page table corresponding to the pending acquisition request has been occupied, and to prompt the first cache unit to resend the pending acquisition request after a preset period of time.

于是,该第一缓存单元可根据接收到的等待信息,在预设时段后,重新向该内存管理单元发送待执行获取请求。Therefore, the first cache unit can re-send the pending acquisition request to the memory management unit after a preset period of time based on the received waiting information.

则该内存管理单元可接收该第一缓存单元重新发送的待执行获取请求,并根据该重新发送的待执行获取请求对应的第一页表,判断该第一页表是否为第二页表。Then the memory management unit can receive the re-sent pending acquisition request from the first cache unit, and determine whether the first page table is the second page table based on the first page table corresponding to the re-sent pending acquisition request.

若是,则该内存管理单元可继续重复上述步骤。即,继续向该第一缓存单元发送等待信息,并接收该第一缓存单元根据等待信息重新发送的待执行获取请求,直至该待执行获取请求被执行为止。If so, the memory management unit can continue to repeat the above steps. That is, continue to send waiting information to the first cache unit, and receive the pending acquisition request resent by the first cache unit according to the waiting information until the pending acquisition request is executed.

若否,则该内存管理单元可为该待执行获取请求分配执行资源,并根据该执行资源执行该待执行获取请求。即,根据该待执行获取请求对应的虚拟地址,确定第一页表,并从第一页表中查询到虚拟地址对应的物理地址,以及将该物理地址返回至该第一缓存单元。If not, the memory management unit may allocate execution resources for the pending acquisition request, and execute the pending acquisition request according to the execution resources. That is, according to the virtual address corresponding to the acquisition request to be executed, the first page table is determined, the physical address corresponding to the virtual address is queried from the first page table, and the physical address is returned to the first cache unit.

进一步的,如前所述的,当该第一页表不为第二页表时,意味着该第一页表没有被访问,此时存在两种情况,一种是该第一页表被该内存管理单元获取并存储,另一种是该第一页表尚未被内存管理单元获取。Further, as mentioned above, when the first page table is not the second page table, it means that the first page table has not been accessed. At this time, there are two situations. One is that the first page table is accessed. The memory management unit obtains and stores it. The other is that the first page table has not been obtained by the memory management unit.

于是,该内存管理单元可根据用于表征自身存储的各页表的页表保存信息,确定自身获取到的各第三页表的页表标识,并根据该第一页表的页表标识和各第三页表的页表标识,判断该内存管理单元是否已获取到该第一页表。其中,该第三页表为该内存管理单元已经获取到且存储在该内存管理单元中的页表。Therefore, the memory management unit can determine the page table identifier of each third page table it has obtained based on the page table storage information used to represent each page table stored by itself, and based on the page table identifier of the first page table and The page table identifier of each third page table is used to determine whether the memory management unit has obtained the first page table. The third page table is a page table that has been obtained by the memory management unit and stored in the memory management unit.

若是,则表征该内存管理单元可直接从自身存储的页表中,确定待执行获取请求中的虚拟地址对应的物理地址。于是,该内存管理系统可根据各第三页表的页表标识和该第一页表的页表标识,从该内存管理单元自身存储的各页表中,确定该第一页表。之后,根据该待执行获取请求中的虚拟地址,从该第一页表中确定该虚拟地址对应的物理地址。最后,该内存管理单元可根据该物理地址对该待执行获取请求进行响应。If so, it means that the memory management unit can directly determine the physical address corresponding to the virtual address in the acquisition request to be executed from the page table stored by itself. Therefore, the memory management system can determine the first page table from the page tables stored in the memory management unit itself according to the page table identifier of each third page table and the page table identifier of the first page table. Then, according to the virtual address in the acquisition request to be executed, the physical address corresponding to the virtual address is determined from the first page table. Finally, the memory management unit can respond to the pending acquisition request based on the physical address.

其中,该内存管理单元可直接将该物理地址根据该待执行获取请求返回至第一缓存单元,也可根据该物理地址,确定该物理地址保存的数据,并将该物理地址保存的数据返回至第一缓存单元。具体该内存管理单元如何根据物理地址对待执行获取请求进行响应可根据需要进行设置,本说明书对此不足限制。Wherein, the memory management unit can directly return the physical address to the first cache unit according to the pending acquisition request, or can determine the data stored at the physical address based on the physical address, and return the data stored at the physical address to the first cache unit. First cache unit. How the memory management unit responds to the request to be executed based on the physical address can be set as needed, and this specification is not restrictive.

若否,则表征该内存管理单元需先获取到该第一页表,才能从该第一页表中确定响应的物理地址对待执行获取请求进行响应。于是,该内存管理单元可为该待执行获取请求分配执行资源,并通过执行资源来执行该第一页表。If not, it means that the memory management unit needs to obtain the first page table before it can determine the physical address of the response from the first page table and respond to the acquisition request to be executed. Therefore, the memory management unit can allocate execution resources for the pending acquisition request, and execute the first page table through the execution resources.

其中,该内存管理单元执行该第一页表用于表征该内存管理单元根据该执行资源,将待执行获取请求对应的物理地址转换为虚拟地址的过程。The memory management unit executes the first page table to represent a process in which the memory management unit converts the physical address corresponding to the acquisition request to be executed into a virtual address according to the execution resource.

具体的,该内存管理单元可通过执行资源,将该第一页表标记为第二页表,并根据该第一页表的页表标识,向该内存管理单元的下游存储单元发送该第一页表对应的获取请求。该第一页表的获取请求用于从该下游存储单元中获取第一页表。该下游存储单元具体可为其他内存管理单元、磁盘用于存储页表的存储单元。Specifically, the memory management unit can mark the first page table as the second page table through execution resources, and send the first page table to the downstream storage unit of the memory management unit according to the page table identifier of the first page table. Get request corresponding to the page table. The acquisition request of the first page table is used to acquire the first page table from the downstream storage unit. Specifically, the downstream storage unit may be a storage unit used by other memory management units or disks to store page tables.

该下游存储单元可根据接收到的获取请求,从自身存储的各数据中,确定第一页表,并将该第一页表返回给内存管理单元。The downstream storage unit can determine the first page table from each data stored in itself according to the received acquisition request, and return the first page table to the memory management unit.

最后,该内存管理单元可接收下游存储单元发送的第一页表,并根据该待执行获取请求中的虚拟地址,在该第一页表中确定该虚拟地址对应的物理地址,以及根据该物理地址对该待执行获取请求进行响应。Finally, the memory management unit can receive the first page table sent by the downstream storage unit, and determine the physical address corresponding to the virtual address in the first page table according to the virtual address in the acquisition request to be executed, and according to the physical address The address responds to the pending fetch request.

进一步的,为了避免该内存管理单元中存储的数据过多导致该内存管理单元无法执行待执行获取请求或无法执行其他任务,该内存管理单元还可直接从该内存管理单元的下游存储单元中访问第一页表,确定该虚拟地址对应的物理地址,并基于确定出的物理地址对待执行获取请求进行响应。Further, in order to prevent the memory management unit from being unable to perform pending acquisition requests or other tasks due to excessive data stored in the memory management unit, the memory management unit can also be directly accessed from the downstream storage unit of the memory management unit. The first page table determines the physical address corresponding to the virtual address, and responds to the acquisition request to be executed based on the determined physical address.

具体的,该内存管理单元可向下游存储单元发送获取请求,该获取请求中包含有虚拟地址,该获取请求用于确定该虚拟地址对应的物理地址。Specifically, the memory management unit may send an acquisition request to the downstream storage unit. The acquisition request includes the virtual address, and the acquisition request is used to determine the physical address corresponding to the virtual address.

于是,该下游存储单元可根据该虚拟地址,确定第一页表,并从该第一页表中查询该虚拟地址对应的物理地址,以及根据该获取请求将物理地址返回给该内存管理单元。Therefore, the downstream storage unit can determine the first page table based on the virtual address, query the physical address corresponding to the virtual address from the first page table, and return the physical address to the memory management unit according to the acquisition request.

则该内存管理单元可接收该下游存储单元返回的物理地址,并根据该物理地址对该待执行获取请求进行响应。Then the memory management unit can receive the physical address returned by the downstream storage unit, and respond to the pending acquisition request according to the physical address.

当然,该内存管理单元还可直接从下游存储单元拉取该虚拟地址对应的物理地址或该第一页表,具体该内存管理单元如何执行该第一页表可根据需要进行设置,本说明书对此不做限制。Of course, the memory management unit can also directly pull the physical address corresponding to the virtual address or the first page table from the downstream storage unit. Specifically, how the memory management unit executes the first page table can be set as needed. This manual explains There is no restriction on this.

另外,在通过上述执行资源获取第一页表时,该内存管理单元还可通过该执行资源,根据该第一页表的页表标识,确定该第一页表的存储位置,并从该第一页表的存储位置,确定该第一页表。之后,将该第一页表标记为第二页表,并获取该第二页表,直至该内存管理单元获取到该第一页表为止。最后,该内存管理单元可执行该待执行获取请求,从获取到的所述第一页表中,查询该虚拟地址对应的物理地址,并将该物理地址返回至所述第一缓存单元。In addition, when obtaining the first page table through the above execution resource, the memory management unit can also determine the storage location of the first page table according to the page table identifier of the first page table through the execution resource, and obtain the storage location from the first page table. The storage location of the one-page table determines the first page table. Afterwards, the first page table is marked as a second page table, and the second page table is obtained until the memory management unit obtains the first page table. Finally, the memory management unit can execute the pending acquisition request, query the physical address corresponding to the virtual address from the acquired first page table, and return the physical address to the first cache unit.

基于同样思想,本说明书还提供一种内存管理单元对获取请求进行处理的场景示意图,如图3所示。Based on the same idea, this specification also provides a schematic diagram of a scenario in which the memory management unit processes an acquisition request, as shown in Figure 3.

图3为本说明书提供的对获取请求进行处理的场景示意图。同样的,以向该内存管理单元发送获取请求的缓存单元分别为缓存单元1和缓存单元2为例,则缓存单元1向该内存管理单元发送的获取请求包括:获取请求1、获取请求2、获取请求3和获取请求4。缓存单元2向该内存管理单元发送的获取请求包括:获取请求5、获取请求6、获取请求7和获取请求8。其中,白色矩形表征的请求为需访问页表1的请求,阴影矩形表征的请求为需访问页表2的请求。Figure 3 is a schematic diagram of a scenario for processing an acquisition request provided in this specification. Similarly, taking the cache units that send acquisition requests to the memory management unit as cache unit 1 and cache unit 2 as an example, the acquisition requests sent by cache unit 1 to the memory management unit include: acquisition request 1, acquisition request 2, Get request 3 and get request 4. The acquisition requests sent by the cache unit 2 to the memory management unit include: acquisition request 5, acquisition request 6, acquisition request 7 and acquisition request 8. Among them, the request represented by the white rectangle is a request that needs to access page table 1, and the request represented by the shaded rectangle is a request that needs to access page table 2.

于是,基于本说明书中的该内存管理方法,该内存管理单元可在接收到获取请求1后,确定该获取请求1对应的第一页表:页表1。可见,页表1未被占用,则该内存管理单元可执行该获取请求1。之后,当该内存管理单元接收到获取请求2时,可确定该获取请求2对应的第一页表:页表1。可见,页表1为该内存管理单元正在获取的页表,则该内存管理单元可不为该获取请求2分配执行资源。同样的,该内存管理单元在接收到获取请求3和获取请求4后,可不为该获取请求3和获取请求4分配执行资源。Therefore, based on the memory management method in this specification, after receiving the acquisition request 1, the memory management unit can determine the first page table corresponding to the acquisition request 1: page table 1. It can be seen that page table 1 is not occupied, so the memory management unit can execute the acquisition request 1. Later, when the memory management unit receives the acquisition request 2, it can determine the first page table corresponding to the acquisition request 2: page table 1. It can be seen that the page table 1 is the page table being acquired by the memory management unit, so the memory management unit may not allocate execution resources for the acquisition request 2. Similarly, after receiving acquisition request 3 and acquisition request 4, the memory management unit may not allocate execution resources to acquisition request 3 and acquisition request 4.

而若该内存管理单元接收到获取请求5后,确定该获取请求5对应的第一页表:页表2。可见,页表2未被占用,则该内存管理单元可执行该获取请求5。同样的,该内存管理单元在接收到获取请求6、获取请求7和获取请求8后,可分别确定获取请求6、7、8分别对应的页表:页表2。当页表2为该内存管理单元正在获取的页表时,该内存管理单元可不为该获取请求6、获取请求7和获取请求8分配执行资源。And if the memory management unit receives the acquisition request 5, it determines the first page table corresponding to the acquisition request 5: page table 2. It can be seen that page table 2 is not occupied, so the memory management unit can execute the acquisition request 5. Similarly, after receiving acquisition request 6, acquisition request 7 and acquisition request 8, the memory management unit can respectively determine the page table corresponding to acquisition requests 6, 7 and 8: page table 2. When the page table 2 is being acquired by the memory management unit, the memory management unit may not allocate execution resources for the acquisition request 6, the acquisition request 7 and the acquisition request 8.

于是,在同一时段内,该内存管理单元可同时处理两个获取请求,并且在接收到其他页表对应的获取请求时,该内存管理单元同样可对其进行执行。可见,内存管理单元可并发处理对应于不同页表的获取请求,保证了内存管理单元的资源利用率和内存管理效率。Therefore, within the same period of time, the memory management unit can process two acquisition requests at the same time, and when receiving acquisition requests corresponding to other page tables, the memory management unit can also execute them. It can be seen that the memory management unit can concurrently process acquisition requests corresponding to different page tables, ensuring the resource utilization and memory management efficiency of the memory management unit.

另外,若第一缓存单元在接收到等待信息后,直接在间隔预设时段后重新向该内存管理单元重新发送待执行获取请求,则可能有第一缓存单元在预设时段内未完整获取到第一页表,导致第一页表仍然为该内存管理单元正在获取的页表的情况出现。为了避免上述情况的发生,该内存管理单元还可对第一页表的状态进行监测,并当确定该第一页表已被获取到时,向第一缓存单元发送重试指令。In addition, if the first cache unit directly resends the pending acquisition request to the memory management unit after a preset period of time after receiving the waiting information, there may be a situation where the first cache unit does not completely obtain the information within the preset period. The first page table causes the first page table to still be acquired by the memory management unit. In order to avoid the above situation from happening, the memory management unit can also monitor the status of the first page table, and when it is determined that the first page table has been obtained, send a retry instruction to the first cache unit.

具体的,该内存管理单元可对第一页表的状态进行监测。Specifically, the memory management unit can monitor the status of the first page table.

当根据监测数据确定该内存管理单元已获取到该第一页表时,该内存管理单元可向该第一缓存单元发送重试指令,同时,该内存管理单元还可根据该第一页表更新页表保存信息。When it is determined according to the monitoring data that the memory management unit has obtained the first page table, the memory management unit can send a retry instruction to the first cache unit. At the same time, the memory management unit can also update the first page table according to the first page table. Page tables hold information.

其中,该重试指令用于将该待执行获取指令的状态修改为执行状态。以该页表保存信息为该内存管理单元已经获取到且存储在该内存管理单元内的第三页表的标识为例,该内存管理单元可将该第一页表标记为第三页表,并将该第一页表的标识添加到页表保存信息中。以该页表保存信息为各第三页表分别对应的页表标识以及各第三页表分别对应的地址转换关系为例,该内存管理单元可直接将该第一页表标记为第三页表,并将该第一页表的标识和该第一页表的地址转换关系添加到页表保存信息中。具体如何根据该第一页表更新该页表保存关系可根据需要进行设置,本说明书对此不做限制。Wherein, the retry instruction is used to modify the state of the to-be-executed acquisition instruction to the execution state. Taking the information stored in the page table as the identification of the third page table that has been obtained by the memory management unit and stored in the memory management unit as an example, the memory management unit can mark the first page table as the third page table, And add the identifier of the first page table to the page table storage information. Taking the information stored in the page table as the page table identifier corresponding to each third page table and the address translation relationship corresponding to each third page table as an example, the memory management unit can directly mark the first page table as the third page. table, and add the identifier of the first page table and the address translation relationship of the first page table to the page table storage information. The specific method of updating the page table storage relationship based on the first page table can be set as needed, and this manual does not limit this.

于是,该第一缓存单元可接收该内存管理单元发送的重试指令,并根据该重试指令,将该待执行获取请求的状态从等待状态修改为执行状态,并向该内存管理单元重新发送该待执行获取请求。Therefore, the first cache unit can receive the retry instruction sent by the memory management unit, and according to the retry instruction, modify the state of the pending acquisition request from the waiting state to the execution state, and resend it to the memory management unit. The pending get request.

则该内存管理单元可接收该缓存单元重新发送的待执行获取请求,并直接从自身获取到的各页表中,确定第一页表,根据该第一页表执行该待执行获取请求。Then the memory management unit can receive the pending acquisition request resent by the cache unit, and directly determine the first page table from each page table obtained by itself, and execute the pending acquisition request according to the first page table.

进一步的,该内存管理单元中存储的处于等待状态的待执行获取请求可为多个,且处于等待状态的各待执行获取请求对应的第一页表可不为相同页表。在此情况下,为了避免第一缓存单元重新向该内存管理单元发送的待执行获取请求对应的第一页表与该重试指令对应的第一页表不同的情况出现,该内存管理单元向该第一缓存单元发送的重试指令中还可携带有目标获取请求的标识。Further, there may be multiple acquisition requests to be executed in a waiting state stored in the memory management unit, and the first page table corresponding to each acquisition request to be executed in a waiting state may not be the same page table. In this case, in order to avoid the situation that the first page table corresponding to the acquisition request to be executed re-sent by the first cache unit to the memory management unit is different from the first page table corresponding to the retry instruction, the memory management unit sends The retry instruction sent by the first cache unit may also carry an identifier of the target acquisition request.

具体的,该内存管理单元中可存储有处于等待状态的各待执行获取请求和各页表之间的对应关系,并根据该第一页表,从处于等待状态的各待执行获取请求中,确定该第一页表对应的待执行获取请求,作为目标获取请求。Specifically, the memory management unit may store the correspondence between each acquisition request to be executed in the waiting state and each page table, and according to the first page table, from each acquisition request to be executed in the waiting state, Determine the pending acquisition request corresponding to the first page table as the target acquisition request.

然后,该内存管理单元可根据该目标获取请求,确定包含该目标获取请求的标识的重试指令,并将该重试指令发送至第一缓存单元。Then, the memory management unit may determine a retry instruction including the identification of the target acquisition request according to the target acquisition request, and send the retry instruction to the first cache unit.

该缓存单元可接收该重试指令,并确定该重试指令中包含的目标获取请求的标识,以及根据该目标获取请求的标识,重新向该内存管理单元发送目标获取请求。The cache unit may receive the retry instruction, determine the identifier of the target acquisition request contained in the retry instruction, and resend the target acquisition request to the memory management unit according to the identifier of the target acquisition request.

该内存管理单元可接收该目标获取请求,并从自身获取到的各页表中,确定该目标获取请求对应的第一页表,进而根据该第一页表,执行该目标获取请求,确定执行结果。The memory management unit can receive the target acquisition request, determine the first page table corresponding to the target acquisition request from each page table obtained by itself, and then execute the target acquisition request according to the first page table, and determine the execution result.

在本说明书中,还可能出现该内存管理单元在相同时刻接收到缓存单元A根据重试指令发送的待执行获取请求,以及缓存单元B直接发送的待执行获取请求的情况,若上述两个待执行获取请求想要访问的页表相同,则该内存管理单元需先执行根据重试指令发送的待执行获取请求,再执行该缓存单元B发送的待执行获取请求。为了避免该内存管理单元难以对上述待执行获取请求进行区分的情况出现,缓存单元根据重试指令向该内存管理单元发送的待执行获取请求还可为处于等待状态的待执行获取请求。In this specification, it may also occur that the memory management unit receives at the same time the pending acquisition request sent by the cache unit A according to the retry instruction, and the pending acquisition request sent directly by the cache unit B. If the above two pending acquisition requests are If the page table to be accessed by executing the acquisition request is the same, the memory management unit needs to first execute the pending acquisition request sent according to the retry instruction, and then execute the pending acquisition request sent by the cache unit B. In order to avoid the situation where it is difficult for the memory management unit to distinguish the above pending acquisition requests, the pending acquisition requests sent by the cache unit to the memory management unit according to the retry instruction may also be pending acquisition requests in a waiting state.

具体的,该缓存单元在接收到重试指令后,还可向该内存管理单元发送处于等待状态的待执行获取请求。Specifically, after receiving the retry instruction, the cache unit may also send a pending acquisition request in a waiting state to the memory management unit.

该内存管理单元可接收缓存单元根据重新发送的处于等待状态的待执行获取请求,并将该待执行获取请求的状态修改为执行状态。于是,该内存管理单元可为执行状态的待执行获取请求分配执行资源。The memory management unit may receive a pending acquisition request in a waiting state that is resent by the cache unit, and modify the state of the pending acquisition request to an execution state. Therefore, the memory management unit can allocate execution resources for the pending acquisition request of the execution status.

另外,在计算机中可设置有用于存储待执行获取请求的存储单元。即,缓存单元将待执行获取请求发送至存储单元中进行存储,内存管理单元从存储单元中拉取待执行获取请求并执行。但是,通常情况下,存储单元的资源有限,其中可存储的待执行获取请求的数量也有限。一旦该存储单元存储了某待执行获取请求,即为该待执行获取请求分配了存储资源。In addition, the computer may be provided with a storage unit for storing acquisition requests to be executed. That is, the cache unit sends the acquisition request to be executed to the storage unit for storage, and the memory management unit pulls the acquisition request to be executed from the storage unit and executes it. However, typically, storage units have limited resources, and the number of pending get requests that can be stored therein is also limited. Once the storage unit stores a certain acquisition request to be executed, storage resources are allocated to the acquisition request to be executed.

在此情况下,若存储单元中存储的各待执行获取请求中,包含需访问相同页表的待执行获取请求,则势必会影响到该内存管理单元的资源利用率。基于此,在本说明书,还可将上述存储单元的存储资源作为该执行资源。In this case, if each of the pending acquisition requests stored in the storage unit includes pending acquisition requests that need to access the same page table, it will inevitably affect the resource utilization of the memory management unit. Based on this, in this specification, the storage resources of the above-mentioned storage unit can also be used as the execution resources.

具体的,当存储单元中接收到待执行获取请求的情况下,该内存管理单元可拉取该待执行获取请求,并确定执行该待执行获取请求所需访问的第一页表。Specifically, when a pending acquisition request is received in the storage unit, the memory management unit may pull the pending acquisition request and determine the first page table that needs to be accessed to execute the pending acquisition request.

当该内存管理单元正在获取的页表中包含该第一页表时,该内存管理单元可向发送该待执行获取请求的第一缓存单元发送等待信息,并不再将该待执行获取请求存储至该存储单元。即,从该存储单元中将拉取到的该待执行获取请求删除。When the page table being acquired by the memory management unit includes the first page table, the memory management unit may send waiting information to the first cache unit that sends the acquisition request to be executed, and no longer stores the acquisition request to be executed. to this storage unit. That is, the retrieved request to be executed is deleted from the storage unit.

当该内存管理单元正在获取的页表中不包含该第一页表,该内存管理单元可将该待执行获取请求存储至该存储单元中。When the page table being acquired by the memory management unit does not include the first page table, the memory management unit may store the pending acquisition request into the storage unit.

基于同样思路,本说明书还提供一种内存管理系统,如图4所示。Based on the same idea, this manual also provides a memory management system, as shown in Figure 4.

图4为本说明书提供的内存管理系统的结构示意图,该内存管理系统包括内存管理单元和缓存单元,该内存管理单元和缓存单元通信,其中:Figure 4 is a schematic structural diagram of the memory management system provided in this specification. The memory management system includes a memory management unit and a cache unit. The memory management unit communicates with the cache unit, where:

第一缓存单元可向该内存管理单元发送待执行获取请求。其中,该第一缓存单元为发送该待执行获取请求的缓存单元,该第一缓存单元可为该内存管理系统中的任意一个缓存单元。The first cache unit may send a pending fetch request to the memory management unit. The first cache unit is a cache unit that sends the acquisition request to be executed, and the first cache unit can be any cache unit in the memory management system.

该内存管理单元,可接收第一缓存单元发送的待执行获取请求,并确定待执行获取请求对应的虚拟地址。The memory management unit can receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed.

之后,该内存管理单元可确定该虚拟地址对应的第一页表,并当该第一页表为第二页表时,向发送该第一页表的第一缓存单元发送等待信息,其中,该第二页表为该内存管理单元正在获取的页表。当该第一页表部为第二页表时,该内存管理单元可基于自身对应的页表保存信息,执行该待执行获取请求。Afterwards, the memory management unit can determine the first page table corresponding to the virtual address, and when the first page table is the second page table, send waiting information to the first cache unit that sent the first page table, wherein, The second page table is the page table being acquired by the memory management unit. When the first page table is a second page table, the memory management unit can execute the pending acquisition request based on its own corresponding page table storage information.

或多个实施例中,该内存管理系统中的第一缓存单元,可参照上述步骤S100-S106中对缓存单元以及第一缓存单元的描述。同样的,该内存管理系统中的内存管理单元,可参照上述步骤S100-S106中对内存管理单元的描述。本申请在此不再赘述。In or in multiple embodiments, for the first cache unit in the memory management system, reference may be made to the description of the cache unit and the first cache unit in the above steps S100-S106. Similarly, for the memory management unit in the memory management system, reference can be made to the description of the memory management unit in the above steps S100-S106. This application will not go into details here.

基于图4所示的内存管理系统,可在缓存单元确定出待执行获取请求后,通过内存管理单元确定该待执行获取请求对应的第一页表,当该第一页表为该内存管理单元正在获取的页表时,向发送该待执行获取请求的第一缓存单元发送等待信息,以暂缓处理该待执行获取请求,当该第一页表不为该内存管理单元正在获取的页表时,根据自身对应的页表保存信息,执行该待执行获取请求。从而保证该内存管理单元在同一时段内处理的待执行获取请求对应于不同的页表,使得该内存管理单元可将对应于不同页表的待执行获取请求并发处理,保证了该内存管理单元的资源利用率,提高了该内存管理系统的管理效率。Based on the memory management system shown in Figure 4, after the cache unit determines the acquisition request to be executed, the memory management unit can determine the first page table corresponding to the acquisition request to be executed. When the first page table is the memory management unit When the page table is being acquired, wait information is sent to the first cache unit that sends the acquisition request to be executed to suspend processing of the acquisition request to be executed. When the first page table is not the page table being acquired by the memory management unit, , execute the pending acquisition request according to its own corresponding page table storage information. This ensures that the pending acquisition requests processed by the memory management unit in the same period correspond to different page tables, so that the memory management unit can concurrently process the pending acquisition requests corresponding to different page tables, ensuring that the memory management unit Resource utilization improves the management efficiency of the memory management system.

基于同样思路,本说明书还提供一种内存管理装置,如图5所示。Based on the same idea, this specification also provides a memory management device, as shown in Figure 5.

图5为本说明书提供的内存管理装置的结构示意图,所述装置应用于内存管理单元,所述内存管理单元和缓存单元通信,其中:Figure 5 is a schematic structural diagram of a memory management device provided in this specification. The device is applied to a memory management unit, and the memory management unit communicates with the cache unit, wherein:

接收模块200,用于接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址。The receiving module 200 is configured to receive the acquisition request to be executed sent by the first cache unit, and determine the virtual address corresponding to the acquisition request to be executed.

确定模块202,用于确定所述虚拟地址对应的第一页表。Determining module 202 is used to determine the first page table corresponding to the virtual address.

第一响应模块204,用于响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表。The first response module 204 is configured to send waiting information to the first cache unit in response to the fact that the first page table is a second page table; wherein the second page table is the one being acquired by the memory management unit. Page table.

第二响应模块206,用于响应于所述第一页表不为第二页表,执行所述待执行获取请求,以从所述第一页表中查询到所述虚拟地址对应的物理地址,并将所述物理地址返回至所述第一缓存单元。The second response module 206 is configured to respond to the fact that the first page table is not the second page table, execute the pending acquisition request, and query the physical address corresponding to the virtual address from the first page table. , and returns the physical address to the first cache unit.

可选地,第一响应模块204,用于响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元在预设时段后重新向所述内存管理单元发送待执行获取请求;接收所述第一缓存单元间隔所述预设时段后重新发送的待执行获取请求,并判断所述第一页表是否为第二页表;若否,执行重新发送的所述待执行获取请求。Optionally, the first response module 204 is configured to respond to the first page table being the second page table and send waiting information to the first cache unit according to the acquisition request to be executed, wherein the waiting The information is used to cause the first cache unit to re-send the acquisition request to be executed to the memory management unit after a preset period; to receive the acquisition request to be executed re-sent by the first cache unit after the preset period, And determine whether the first page table is the second page table; if not, execute the resent acquisition request to be executed.

可选地,第一响应模块204,用于响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元将所述待执行获取请求的状态修改为等待状态。Optionally, the first response module 204 is configured to respond to the first page table being the second page table and send waiting information to the first cache unit according to the acquisition request to be executed, wherein the waiting The information is used to cause the first cache unit to modify the state of the pending acquisition request to a waiting state.

可选地,第一响应模块204,用于对所述第一页表的状态进行监测,当确定所述内存管理单元已获取到所述第一页表时,向所述第一缓存单元发送重试指令,并基于所述第一页表更新所述页表保存信息;其中,所述重试指令用于将所述待执行获取指令的状态修改为执行状态;接收所述第一缓存单元根据所述重试指令重新发送的待执行获取请求,并执行重新发送的所述待执行获取请求。Optionally, the first response module 204 is configured to monitor the status of the first page table, and when it is determined that the memory management unit has acquired the first page table, send a message to the first cache unit. Retry the instruction and update the page table storage information based on the first page table; wherein the retry instruction is used to modify the state of the fetch instruction to be executed to the execution state; receive the first cache unit The re-sent pending acquisition request is executed according to the retry instruction, and the re-sent pending acquisition request is executed.

可选地,第二响应模块206,用于当基于页表保存信息确定所述内存管理单元已获取所述第一页表时,从所述内存管理单元存储的各页表中,确定所述第一页表,根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应;当基于所述页表保存信息确定所述内存管理单元未获取到所述第一页表时,为所述待执行获取请求分配执行资源,通过所述执行资源执行所述第一页表;其中,所述页表保存信息用于表征所述内存管理单元中存储的页表。Optionally, the second response module 206 is configured to determine, from each page table stored by the memory management unit, that the memory management unit has acquired the first page table based on the page table saving information. The first page table determines the corresponding physical address in the first page table according to the virtual address, and responds to the to-be-executed acquisition request based on the physical address; when it is determined based on the page table storage information When the memory management unit does not obtain the first page table, it allocates execution resources to the acquisition request to be executed, and executes the first page table through the execution resources; wherein the page table saves information for characterizing The page table stored in the memory management unit.

可选地,第二响应模块206,用于利用所述执行资源,将所述第一页表标记为第二页表,向所述内存管理单元的下游存储单元发送所述第一页表对应的获取请求,接收所述下游存储单元根据所述获取请求返回的第一页表,根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应。Optionally, the second response module 206 is configured to utilize the execution resources, mark the first page table as a second page table, and send the corresponding information of the first page table to the downstream storage unit of the memory management unit. an acquisition request, receiving the first page table returned by the downstream storage unit according to the acquisition request, determining the corresponding physical address in the first page table according to the virtual address, and based on the physical address The fetch request is to be executed for response.

本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2提供的内存管理方法。This specification also provides a computer-readable storage medium that stores a computer program. The computer program can be used to execute the memory management method provided in Figure 2 above.

本说明书还提供了图6所示的电子设备的示意结构图。如图6所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图2所述的内存管理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。This specification also provides a schematic structural diagram of the electronic device shown in Figure 6. As shown in Figure 6, at the hardware level, the electronic device includes a processor, internal bus, network interface, memory and non-volatile memory, and of course may also include other hardware required for business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the memory management method described in Figure 2 above. Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logical unit, and may also be hardware or logic device.

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, improvements in a technology could be clearly distinguished as hardware improvements (for example, improvements in circuit structures such as diodes, transistors, switches, etc.) or software improvements (improvements in method processes). However, with the development of technology, many improvements in today's method processes can be regarded as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement of a method flow cannot be implemented using hardware entity modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit, and its logic function is determined by the user programming the device. Designers can program themselves to "integrate" a digital system on a PLD, instead of asking chip manufacturers to design and produce dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented using "logic compiler" software, which is similar to the software compiler used in program development and writing. Before compiling, The original code must also be written in a specific programming language, which is called Hardware Description Language (HDL). There is not only one type of HDL, but many types, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., the most commonly used ones currently are VHDL (Very-High-SpeedIntegrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that by simply logically programming the method flow using the above-mentioned hardware description languages and programming it into the integrated circuit, the hardware circuit that implements the logical method flow can be easily obtained.

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (eg, software or firmware) executable by the (micro)processor. , logic gates, switches, Application Specific Integrated Circuit (ASIC), programmable logic controllers and embedded microcontrollers. Examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory control logic. Those skilled in the art also know that in addition to implementing the controller in the form of pure computer-readable program code, the controller can be completely programmed with logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded logic by logically programming the method steps. Microcontroller, etc. to achieve the same function. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as structures within hardware components as well as software modules implementing the methods.

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, when describing the above device, the functions are divided into various units and described separately. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and/or hardware.

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will understand that embodiments of the present specification may be provided as methods, systems, or computer program products. Thus, the present description may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk memory, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程病灶检测设备的处理器以产生一个机器,使得通过计算机或其他可编程病灶检测设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The specification is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the specification. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or a processor of other programmable lesion detection devices to produce a machine such that the instructions executed by the processor of the computer or other programmable lesion detection device generate a A device for realizing the functions specified in one process or multiple processes of the flowchart and/or one block or multiple blocks of the block diagram.

这些计算机程序指令也可存储在能引导计算机或其他可编程病灶检测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable lesion detection device to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means, the instructions The device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.

这些计算机程序指令也可装载到计算机或其他可编程病灶检测设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable lesion detection device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device. Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-permanent storage in computer-readable media, random access memory (RAM), and/or non-volatile memory in the form of read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-volatile, removable and non-removable media that can be implemented by any method or technology for storage of information. Information may be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory. (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cassettes, tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium can be used to store information that can be accessed by a computing device. As defined in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprises," "comprises," or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements not only includes those elements, but also includes Other elements are not expressly listed or are inherent to the process, method, article or equipment. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article, or device that includes the stated element.

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the present specification may be provided as methods, systems, or computer program products. Thus, the present description may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk memory, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present description may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through communications networks. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner. The same and similar parts between the various embodiments can be referred to each other. Each embodiment focuses on its differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For relevant details, please refer to the partial description of the method embodiment.

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。The above descriptions are only examples of this specification and are not intended to limit this specification. Various modifications and variations may occur to those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification shall be included in the scope of the claims of this specification.

Claims (10)

1. A memory management method, wherein the method is applied to a memory management unit, the memory management unit communicates with a cache unit, and the method comprises:
receiving an acquisition request to be executed, which is sent by a first cache unit, and determining a virtual address corresponding to the acquisition request to be executed;
determining a first page table corresponding to the virtual address;
responding to the first page table as a second page table, and sending waiting information to the first cache unit; the second page table is a page table which is being acquired by the memory management unit;
And responding to the first page table not being a second page table, and executing the acquisition request to be executed based on page table storage information corresponding to the memory management unit.
2. The method of claim 1, wherein sending wait information to the first cache unit in response to the first page table being a second page table, comprises:
responding to the first page table as a second page table, and sending waiting information to the first cache unit according to the acquisition request to be executed, wherein the waiting information is used for enabling the first cache unit to send the acquisition request to be executed to the memory management unit again after a preset period of time;
the method further comprises the steps of:
receiving an acquisition request to be executed which is resent after the first cache unit is spaced by the preset period, and judging whether the first page table is a second page table or not;
and if not, executing the retransmitted acquisition request to be executed.
3. The method of claim 1, wherein sending wait information to the first cache unit in response to the first page table being a second page table, comprises:
and responding to the first page table as a second page table, and sending waiting information to the first cache unit according to the to-be-executed acquisition request, wherein the waiting information is used for enabling the first cache unit to modify the state of the to-be-executed acquisition request into a waiting state.
4. A method as claimed in claim 3, wherein the method further comprises:
monitoring the state of the first page table, when the memory management unit is determined to acquire the first page table, transmitting a retry instruction to the first cache unit, and updating the page table storage information based on the first page table; the retry instruction is configured to modify a state of the to-be-executed acquisition instruction into an execution state;
and receiving an acquisition request to be executed, which is resent by the first cache unit according to the retry instruction, and executing the resent acquisition request to be executed.
5. The method of claim 1 wherein the page table save information is used to characterize a page table stored in the memory management unit;
based on page table storage information corresponding to the memory management unit, executing the to-be-executed acquisition request specifically includes:
when the memory management unit is determined to acquire the first page table based on page table storage information, determining the first page table from all page tables stored by the memory management unit, determining a corresponding physical address in the first page table according to the virtual address, and responding to the acquisition request to be executed based on the physical address;
And when the memory management unit does not acquire the first page table based on the page table storage information, allocating execution resources for the acquisition request to be executed, and executing the first page table through the execution resources.
6. The method of claim 5, wherein executing the first page table by the execution resource, comprises:
marking the first page table as a second page table using the execution resource;
sending an acquisition request corresponding to the first page table to a downstream storage unit of the memory management unit;
receiving a first page table returned by the downstream storage unit according to the acquisition request;
and determining a corresponding physical address in the first page table according to the virtual address, and responding to the acquisition request to be executed based on the physical address.
7. The memory management system is characterized by comprising a memory management unit and a cache unit, wherein the memory management unit and the cache unit are communicated; wherein:
the first cache unit is used for sending an acquisition request to be executed to the memory management unit;
the memory management unit is used for receiving the to-be-executed acquisition request sent by the first cache unit and determining a virtual address corresponding to the to-be-executed acquisition request; determining a first page table corresponding to the virtual address; responding to the first page table as a second page table, and sending waiting information to the first cache unit; the second page table is a page table which is being acquired by the memory management unit; and responding to the first page table not being a second page table, and executing the acquisition request to be executed based on page table storage information corresponding to the memory management unit.
8. A memory management device, wherein the device is applied to a memory management unit, the memory management unit communicates with a cache unit, the device comprising:
the receiving module is used for receiving an acquisition request to be executed, which is sent by the first cache unit, and determining a virtual address corresponding to the acquisition request to be executed;
the determining module is used for determining a first page table corresponding to the virtual address;
the first response module is used for responding to the first page table as a second page table and sending waiting information to the first cache unit; the second page table is a page table which is being acquired by the memory management unit;
and the second response module is used for responding to the fact that the first page table is not the second page table, and executing the acquisition request to be executed based on page table storage information corresponding to the memory management unit.
9. A computer readable storage medium storing a computer program, characterized in that the computer program, when executed by a processor, implements the method of any of the preceding claims 1-6.
10. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of any of the preceding claims 1-6 when executing the program.
CN202311177554.4A 2023-09-12 2023-09-12 A memory management method, system, device, storage medium and electronic equipment Pending CN117112227A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311177554.4A CN117112227A (en) 2023-09-12 2023-09-12 A memory management method, system, device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311177554.4A CN117112227A (en) 2023-09-12 2023-09-12 A memory management method, system, device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN117112227A true CN117112227A (en) 2023-11-24

Family

ID=88794721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311177554.4A Pending CN117112227A (en) 2023-09-12 2023-09-12 A memory management method, system, device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN117112227A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573377A (en) * 2024-01-15 2024-02-20 摩尔线程智能科技(北京)有限责任公司 Memory management method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573377A (en) * 2024-01-15 2024-02-20 摩尔线程智能科技(北京)有限责任公司 Memory management method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
WO2019157929A1 (en) File processing method, device, and equipment
US20070022416A1 (en) Execution device and application program
TWI463310B (en) Embedded system and managing method thereof
WO2015180598A1 (en) Method, apparatus and system for processing access information of storage device
TW200428210A (en) Memory management
WO2021143397A1 (en) Resource reuse method, apparatus and device based on gpu virtualization
CN105335306B (en) A kind of internal memory control method and device
CN116932175B (en) Heterogeneous chip task scheduling method and device based on sequence generation
US10310759B2 (en) Use efficiency of platform memory resources through firmware managed I/O translation table paging
WO2015196378A1 (en) Method, device and user equipment for reading/writing data in nand flash
CN116822657B (en) Method and device for accelerating model training, storage medium and electronic equipment
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
CN112433920A (en) Buried point data reporting method, device, equipment and medium
CN116737345A (en) Distributed task processing system and method, device, storage medium and equipment
WO2024087875A1 (en) Memory management method and apparatus, and medium and electronic device
CN117312394A (en) Data access method and device, storage medium and electronic equipment
CN111796864A (en) Data verification method and device
CN117112227A (en) A memory management method, system, device, storage medium and electronic equipment
CN115374117A (en) A data processing method, device, readable storage medium and electronic equipment
US9189406B2 (en) Placement of data in shards on a storage device
CN111352710A (en) Process management method and device, computing equipment and storage medium
CN117555697A (en) A cache loading system, method, device and equipment for distributed training
CN113760986A (en) Data query method, device, equipment and storage medium
CN112306693A (en) Data packet processing method and device
CN110245027B (en) Inter-process communication method and device

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
CB02 Change of applicant information

Country or region after: China

Address after: B655, 4th Floor, Building 14, Cuiwei Zhongli, Haidian District, Beijing, 100036

Applicant after: Mole Thread Intelligent Technology (Beijing) Co.,Ltd.

Address before: 209, 2nd Floor, No. 31 Haidian Street, Haidian District, Beijing

Applicant before: Moore Threads Technology Co., Ltd.

Country or region before: China

CB02 Change of applicant information