面向RISC-V架构的页表切换实现方法及系统技术方案

技术编号:34386729 阅读:21 留言:0更新日期:2022-08-03 21:10
本发明专利技术公开了一种面向RISC

【技术实现步骤摘要】
面向RISC

V架构的页表切换实现方法及系统


[0001]本专利技术涉及内存优化
,尤其涉及一种面向RISC

V架构的页表切换实现方法及系统。

技术介绍

[0002]物理地址是与内存空间相对应的一种地址编号,物理地址的范围与实际的内存大小有关。在物理内存的大小没有扩大的情况下,常常启用虚拟地址来更大程度地利用内存空间,以提高内存空间的利用率。在实际应用中,通常启用内存管理单元MMU帮助处理器通过虚拟地址来访问内存空间,其中,内存管理单元MMU的工作原理是通过查询页表将处理器发出的虚拟地址切换为对应的物理地址从而帮助处理器访问对应的内存空间。
[0003]实践发现,基于RISC

V架构的处理器的内核中存在已创建的3份页表,且处理器需要经历3份页表才能完成临时页表到正式页表的切换(从trampoline_pg_dir切换到early_pg_dir再切换到swapper_pg_dir),切换过程繁琐且浪费内存空间(其中临时页表trampoline_pg_dir所占用的存储空间不本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向RISC

V架构的页表切换实现方法,其特征在于,所述方法应用于页表切换实现系统,所述系统包括CPU及MMU,所述方法包括:所述CPU创建临时页表,将所述临时页表对应的物理地址存储在分页机制寄存器中,以使在MMU使能后由所述MMU根据所述分页机制寄存器中存储的所述临时页表对应的物理地址获取所述临时页表并根据所述临时页表将拦截到的访问地址转换为对应的物理地址;其中,所述临时页表包括部分存放空间的物理地址以及与所述部分存放空间中每个所述存放空间的物理地址存在映射关系的虚拟地址;所述CPU使能所述MMU;所述MMU使能之后,将所述CPU的访问地址从物理地址空间切换为虚拟地址空间;所述CPU创建正式页表,将所述分页机制寄存器中存储的所述临时页表对应的物理地址替换成所述正式页表对应的物理地址,以使所述MMU根据所述正式页表将拦截到的访问地址转换为对应的物理地址;其中,所述正式页表包括所有存放空间的物理地址以及与每个所述存放空间的物理地址存在映射关系的虚拟地址。2.根据权利要求1所述的面向RISC

V架构的页表切换实现方法,其特征在于,所述MMU使能之后,将所述CPU的访问地址从物理地址空间切换为虚拟地址空间,包括:所述MMU使能之后,当所述MMU拦截到的访问地址为物理地址时,获取所述CPU读取到的异常入口寄存器存放的第一虚拟地址;所述第一虚拟地址为第一存放空间的物理地址所对应的虚拟地址,所述第一存放空间用于存放异常处理代码;以及,在所述MMU使能将所述CPU的访问地址从物理地址空间切换为虚拟地址空间之后,以及在所述CPU创建正式页表之前,所述方法还包括:所述MMU根据所述临时页表,查找与所述第一虚拟地址存在映射关系的第一物理地址,将所述第一物理地址发送至地址总线,以触发所述CPU从所述第一存放空间中调用所述异常处理代码;其中,所述CPU调用所述异常处理代码用于供所述CPU跳转读取链接寄存器中存放的第二虚拟地址;所述链接寄存器中存放的所述第二虚拟地址为用于存放下一条待调用的程序指令的第二存放空间的物理地址所对应的虚拟地址;所述MMU获取所述CPU读取到的所述第二虚拟地址,根据所述临时页表,查找与所述第二虚拟地址存在映射关系的第二物理地址,将所述第二物理地址发送至所述地址总线,以触发所述CPU从所述第二物理地址对应的第二存放空间调用其存放的程序指令。3.根据权利要求1或2所述的面向RISC

V架构的页表切换实现方法,其特征在于,在所述CPU使能所述MMU之前,所述方法还包括:所述CPU获取用于存放异常处理代码的第一存放空间的物理地址,确定所述第一存放空间的物理地址所对应的虚拟地址,将所述第一存放空间对应的虚拟地址存放于异常入口寄存器中;所述CPU获取用于存放下一条待调用的程序指令的第二存放空间的物理地址,确定所述第二存放空间的物理地址所对应的虚拟地址,将所述第二存放空间对应的虚拟地址存放于链接寄存器中。4.根据权利要求3所述的面向RISC

V架构的页表切换实现方法,其特征在于,所述CPU确定所述第一存放空间的物理地址所对应的虚拟地址,包括:所述CPU根据预先创建的临时页表,查找与所述第一存放空间的物理地址存在映射关
系的虚拟地址,将该虚拟地址确定...

【专利技术属性】
技术研发人员:刘邵华孙彦邦黎景宇
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:

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

1