本说明书涉及缓存领域,尤其涉及一种内存管理方法、系统、装置、存储介质及电子设备。
背景技术:
1、一般的,为了提高计算机的处理效率,通常会在计算机的内存中设置高速缓存(cache)单元,甚至多层级的缓存单元。其中,该缓存单元用于存储虚拟地址和物理地址之间的转换关系。
2、在计算机中的处理器需执行数据处理任务时,可确定执行数据处理任务所需数据的虚拟地址,并根据该虚拟地址,从缓存单元中确定该虚拟地址对应的物理地址,并根据该物理地址,获取数据处理任务所需的数据。
3、在上述过程中,可能出现缓存单元中未查询到虚拟地址对应的物理地址的情况,则该缓存单元可根据该虚拟地址,向内存管理单元(memory management unit,mmu)发送获取请求。由内存管理单元根据该获取请求中携带的虚拟地址,从页表中查询该虚拟地址对应的物理地址,并将物理地址返回至缓存单元。于是,该缓存单元可确定该虚拟地址对应的物理地址。
4、但是,由于内存管理单元的执行资源有限,当接收到获取请求时,需为内存管理单元分配执行资源,导致该内存管理单元在同一时段能够同时处理的获取请求的数量有限。
5、基于此,为了保证该内存管理单元的资源利用率,本说明书提供一种内存管理方法。
技术实现思路
1、本说明书提供一种内存管理方法、系统、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
3、本说明书提供一种内存管理方法,所述方法应用于内存管理单元,所述内存管理单元和缓存单元通信,所述方法包括:
4、接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;
5、确定所述虚拟地址对应的第一页表;
6、响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;
7、响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。
8、可选地,响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息,具体包括:
9、响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元在预设时段后重新向所述内存管理单元发送待执行获取请求;
10、所述方法还包括:
11、接收所述第一缓存单元间隔所述预设时段后重新发送的待执行获取请求,并判断所述第一页表是否为第二页表;
12、若否,执行重新发送的所述待执行获取请求。
13、可选地,响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息,具体包括:
14、响应于所述第一页表为第二页表,根据所述待执行获取请求,向所述第一缓存单元发送等待信息,其中,所述等待信息用于使所述第一缓存单元将所述待执行获取请求的状态修改为等待状态。
15、可选地,所述方法还包括:
16、对所述第一页表的状态进行监测,当确定所述内存管理单元已获取到所述第一页表时,向所述第一缓存单元发送重试指令,并基于所述第一页表更新所述页表保存信息;其中,所述重试指令用于将所述待执行获取指令的状态修改为执行状态;
17、接收所述第一缓存单元根据所述重试指令重新发送的待执行获取请求,并执行重新发送的所述待执行获取请求。
18、可选地,所述页表保存信息用于表征所述内存管理单元中存储的页表;
19、基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求,具体包括:
20、当基于页表保存信息确定所述内存管理单元已获取所述第一页表时,从所述内存管理单元存储的各页表中,确定所述第一页表,根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应;
21、当基于所述页表保存信息确定所述内存管理单元未获取到所述第一页表时,为所述待执行获取请求分配执行资源,通过所述执行资源执行所述第一页表。
22、可选地,通过所述执行资源执行所述第一页表,具体包括:
23、利用所述执行资源,将所述第一页表标记为第二页表;
24、向所述内存管理单元的下游存储单元发送所述第一页表对应的获取请求;
25、接收所述下游存储单元根据所述获取请求返回的第一页表;
26、根据所述虚拟地址在所述第一页表中确定对应的物理地址,并基于所述物理地址对所述待执行获取请求进行响应。
27、本说明书提供一种内存管理系统,所述内存管理系统包括内存管理单元和缓存单元,所述内存管理单元和缓存单元通信;其中:
28、所述第一缓存单元,用于向所述内存管理单元发送待执行获取请求;
29、所述内存管理单元,用于所述内存管理单元,用于接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;确定所述虚拟地址对应的第一页表;响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。
30、本说明书提供一种内存管理装置,所述装置应用于内存管理单元,所述内存管理单元和缓存单元通信,所述装置包括:
31、接收模块,用于接收第一缓存单元发送的待执行获取请求,并确定所述待执行获取请求对应的虚拟地址;
32、确定模块,用于确定所述虚拟地址对应的第一页表;
33、第一响应模块,用于响应于所述第一页表为第二页表,向所述第一缓存单元发送等待信息;其中,所述第二页表为所述内存管理单元正在获取的页表;
34、第二响应模块,用于响应于所述第一页表不为第二页表,基于所述内存管理单元对应的页表保存信息,执行所述待执行获取请求。
35、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述内存管理方法。
36、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述内存管理方法。
37、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
38、通过在接收到待执行获取请求时,确定该待执行获取请求对应的第一页表,当该第一页表为该内存管理单元正在获取的页表时,向发送该待执行获取请求的第一缓存单元发送等待信息,以暂缓处理该待执行获取请求,当该第一页表不为该内存管理单元正在获取的页表时,根据该内存管理单元中存储的页表保存信息,执行该待执行获取请求。从而保证该内存管理单元在同一时段内处理的待执行获取请求对应于不同的页表,使得该内存管理单元可将对应于不同页表的待执行获取请求并发处理,保证了该内存管理单元的资源利用率,提高了该内存管理系统的管理效率。