首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当虚拟内存被禁用时,RISC-V32位系统中的34位物理地址空间是如何访问的?

当虚拟内存被禁用时,RISC-V32位系统中的34位物理地址空间是如何访问的?
EN

Stack Overflow用户
提问于 2020-07-15 15:03:33
回答 1查看 770关注 0票数 1

在RISC-V32位ISA中,物理地址空间为34位,虚拟地址空间为32位。当在监控器模式下启用虚拟存储器时,通过访问页面表来翻译32位虚拟地址,从而产生34位物理地址。然而,当虚拟内存被禁用时,32位地址仍然必须转换为34位物理地址。在RISC-V特权ISA规范中,第4.1.12节指出:

当MODE=Bare时,主管虚拟地址等于主管物理地址

所以,我的问题是:这是否意味着只有低4GB (最低的32位)内存才能在监控程序模式下被禁用虚拟内存?如果是这样的话,那么当虚拟内存被禁用时,16 GB (34位)物理内存的其余部分应该如何在监督模式下被访问呢?

SV32虚拟物理寻址

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 00:08:24

有人在关于ISA手册中的Github回购的问题中问了一个类似的问题。在使用MODE=Bare与RV32一起运行时,似乎只能访问34位物理地址空间的底部4GiB,而前12 4GiB是不可访问的。32位寄存器值为零,扩展为34位物理地址.

虽然手册中没有明确说明这一点,但在特权的ISA规范中,它确实提到了“当在较窄的地址和更宽的地址之间进行映射时,RISC--通常是零--将较窄的地址扩展到更大的大小。”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62917925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档