支持物理地址大于虚拟地址的虚拟内存管理方法及装置制造方法及图纸

技术编号:32739799 阅读:16 留言:0更新日期:2022-03-20 08:46
本发明专利技术公开了一种支持物理地址大于虚拟地址的虚拟内存管理方法及装置。该方法包括:确定用户模式、监督模式或机器模式中任一模式下取指地址或访存地址对应的目标虚拟地址;通过访问虚拟内存管理单元,确定目标虚拟地址对应的目标物理地址,虚拟内存管理单元内置有将虚拟地址映射至物理地址的页表条目,目标虚拟地址位宽可能小于或者等于目标物理地址位宽,尤其在众核应用领域;最终将目标物理地址返回至相应的取指单元或访存单元,并确保正确性及有效性。采用本发明专利技术实施例,可在虚拟地址位宽小于物理地址位宽的情况下完成虚拟地址至物理地址的地址转译,并可确保众核架构在用户模式、监督模式以及机器模式等多种模式下有效工作,本发明专利技术的适用性高。本发明专利技术的适用性高。本发明专利技术的适用性高。

【技术实现步骤摘要】
支持物理地址大于虚拟地址的虚拟内存管理方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种支持物理地址大于虚拟地址的虚拟内存管理方法及装置。

技术介绍

[0002]任何一个具有一定复杂度的计算机系统都是依靠运行在处理器上的多个进程协同工作来完成的,由于每个指令都拥有自己的虚拟地址,因此需要完成虚拟地址到物理地址的转换。
[0003]虽然在大部分的处理器架构中,虚拟地址位宽一般不小于物理地址位宽,但是在某些情况下会存在虚拟地址位宽小于物理地址位宽的问题,如RISC

V架构中Sv39模式(为RISC

V结构的64位系统提供的39位页式内存管理架构)和Sv48模式(为RISC

V结构的64位系统提供的48位页式内存管理架构)中存在虚拟地址位宽小于物理地址位宽的问题,进而在地址转译过程中容易导致系统出错乃至崩溃。
[0004]因此,如何在虚拟地址位宽小于物理地址位宽的情况下完成地址转译成为亟需解决的问题。

技术实现思路

[0005]本专利技术提供一种支持RISC

V及众核架构的虚拟内存管理方法及装置,可在虚拟地址位宽小于物理地址位宽的情况下完成虚拟地址至物理地址的地址转译,并可确保众核架构在用户模式、监督模式以及机器模式等多种模式下有效工作,本专利技术的适用性高。
[0006]第一方面,本专利技术实施例提供一种虚拟内存管理方法,该方法包括:
[0007]确定用户模式、监督模式或机器模式中任一模式下取指地址或访存地址对应的目标虚拟地址;
[0008]通过访问虚拟内存管理单元,确定上述目标虚拟地址对应的目标物理地址,上述虚拟内存管理单元存储有将虚拟地址映射至物理地址的页表条目,上述目标虚拟地址位宽小于或者等于上述目标物理地址位宽;
[0009]返回上述目标物理地址。
[0010]第二方面,本专利技术实施例提供了一种虚拟内存管理装置,该装置包括:
[0011]指令获取或访存模块,用于确定用户模式、监督模式或机器模式中任一模式下取指地址或访存地址对应的目标虚拟地址;
[0012]虚拟地址确定模块,用于通过访问虚拟内存管理单元,确定上述目标虚拟地址对应的目标物理地址,上述虚拟内存管理单元存储有将虚拟地址映射至物理地址的页表条目,上述目标虚拟地址位宽小于或者等于上述目标物理地址位宽;
[0013]地址返回模块,用于返回上述目标物理地址。
[0014]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
[0015]上述存储器用于存储计算机程序;
[0016]上述处理器被配置用于在调用上述计算机程序时,执行本专利技术实施例提供的虚拟内存管理方法。
[0017]第四方面,本专利技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本专利技术实施例提供的虚拟内存管理方法。
[0018]基于本专利技术实施例提供的虚拟内存管理方法,可在虚拟地址位宽小于物理地址位宽的情况下完成虚拟地址至物理地址的地址转译,并可确保众核架构在用户模式、监督模式以及机器模式等多种模式下有效工作,从而降低系统因此出错的风险,提升系统稳定性。
附图说明
[0019]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术实施例提供的支持RISC

V及众核架构的虚拟内存管理方法的流程示意图;
[0021]图2是本专利技术实施例提供的确定目标物理地址的一场景示意图;
[0022]图3是本专利技术实施例提供的回填页表目录的场景示意图;
[0023]图4是本专利技术实施例提供的确定目标物理地址的另一场景示意图;
[0024]图5是本专利技术实施例提供的支持RISC

V及众核架构的虚拟内存管理方法装置的结构示意图;
[0025]图6是本专利技术实施例提供的电子设备的结构示意图。
具体实施方式
[0026]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0027]本专利技术实施例提供的支持RISC

V及众核架构的虚拟内存管理方法可适用于多种中央处理器(Central Processing Unit,CPU),如A510 CPU以及S710CPU等,可在RISC

V的Sv39模式或Sv48模式下确定虚拟地址对应的物理地址。
[0028]参见图1,图1是本专利技术实施例提供的支持RISC

V及众核架构的虚拟内存管理方法的流程示意图。
[0029]如图1所示,本专利技术实施例提供的支持RISC

V及众核架构的虚拟内存管理方法可包括如下步骤:
[0030]步骤S11、确定用户模式、监督模式或机器模式中任一模式下取指地址或访存地址对应的目标虚拟地址。
[0031]具体地,取指地址为取指单元(Instruction Fetch Unit,IFU)发送的取值指令所
对应的取指地址,访问地址为访存单元(Load Storage Unit,LSU)发送的访存指令所对应的地址。确定指令对应的目标虚拟地址。
[0032]其中,取指指令可以为取指单元从内部随机访问存储器(Internal Random Access Memory,IRAM)中按需获取的指令。
[0033]其中,访存指令可以为访存单元发送用于对数据存储系统的数据进行加载或存储的指令。如用于对DCache存储系统的数据进行加载或存储的访存指令。
[0034]进一步地,可获取在用户模式、监督模式或者机器模式中任一模式下的取指地址或访存地址,并确定获取到的取指地址或访存地址对应的目标虚拟地址。
[0035]步骤S12、通过访问虚拟内存管理单元,确定目标虚拟地址对应的目标物理地址。
[0036]在一些可行的实施方式中,虚拟内存管理单元存储有将虚拟地址映射至物理地址的页表目录,因此在确定出目标虚拟地址之后,可基于虚拟内存管理单元存储的将虚拟地址映射至物理地址的页表目录,确定目标虚拟地址对应的目标物理地址。
[0037]其中,任一页表目录用于表示一个虚拟地址的地址标识与对应的物理地址的虚拟页码(Virtual Page Number,VPN)的映射关系。
[0038]基于此,在确定目标虚拟地址对应的目标物理地址时,可确定各页表目录本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟内存管理方法,其特征在于,所述方法包括:确定用户模式、监督模式或机器模式中任一模式下取指地址或访存地址对应的目标虚拟地址;通过访问虚拟内存管理单元,确定所述目标虚拟地址对应的目标物理地址,所述虚拟内存管理单元存储有将虚拟地址映射至物理地址的页表条目,所述目标虚拟地址位宽小于或者等于所述目标物理地址位宽;返回所述目标物理地址。2.根据权利要求1所述的方法,其特征在于,所述虚拟内存管理单元包括第一转译后备缓冲器和第二转译后备缓冲器,所述第一转译后备缓冲器存储有将距离当前时间的预设时间区间内的虚拟地址映射至物理地址的页表条目,所述第二转译后备缓冲器存储有将所有虚拟地址映射至物理地址的页表条目;在所述用户模式或所述监督模式下,所述通过访问虚拟内存管理单元,确定所述目标虚拟地址对应的目标物理地址,包括:基于多级索引依次访问所述第一转译后备缓冲器,以基于所述第一转译后备缓冲器的页表条目确定所述目标虚拟地址对应的目标物理地址;若未确定出所述目标物理地址,则基于所述多级索引依次访问所述第二转译后备缓冲器,以基于所述第二转译后备缓冲器的页表条目确定所述目标物理地址;若未确定出所述目标物理地址,则基于页表遍历机制确定所述目标物理地址。3.根据权利要求2所述的方法,其特征在于,任一所述页表条目用于表示一个虚拟地址的地址标识与对应的物理地址的虚拟页码的映射关系,所述多级索引依次包括4KiB索引、2MiB索引和1GiB索引,所述4KiB索引包括所述目标虚拟地址的20位至12位所对应的地址标识,所述2MiB索引包括所述目标虚拟地址的29位至21位所对应的地址标识,所述1GiB索引包括所述目标虚拟地址的38位至30位所对应的地址标识;基于多级索引依次访问所述第一转译后备缓冲器或所述第二转译后备缓冲器中的任一转译后备缓冲器,以基于所述该转译后备缓冲器的页表条目确定所述目标虚拟地址对应的目标物理地址,包括:基于所述4KiB索引访问该转译后备缓冲器,若该转译后备缓冲器的页表条目中包括与所述4KiB索引对应的地址标识相匹配的第一虚拟页码,则基于所述第一虚拟页码确定所述目标物理地址;若该转译后备缓冲器的页表条目中不包括所述第一虚拟页码,则基于所述2MiB索引访问该转译后备缓冲器,若该转译后备缓冲器的页表条目中包括与所述2MiB索引对应的地址标识相匹配的第二虚拟页码,则基于所述第二虚拟页码确定所述目标物理地址;若该转译后备缓冲器的页表条目中不包括所述第二虚拟页码,则基于所述1GiB索引访问该转译后备缓冲器,若该转译后备缓冲器的页表条目中包括与所述1GiB索引对应的地址标识相匹配的第三虚拟页码,则基于所述第三虚拟页码确定所述目标物理地址。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:若基于所述第二转译后备缓冲器的页表条目或基于页表遍历机制确定出所述目标物理地址,则将所述目标物理地址对应的目标页表条目回填至所述第一转译后备缓冲器。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若基于所述第一转译后备缓冲器的页表条目未确定出所述目标物理地址,则对所述第一转译后备缓冲器中最久未使用的用于存储页表条目的物理页面进行替换。6.根据权利要求2所述的方法,其特征在于,在所述机器模式下,所述通过访问虚拟内存管理单元,确定所述目标虚拟地...

【专利技术属性】
技术研发人员:陈伟杰
申请(专利权)人:北京奕斯伟计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1