10.3 自制操作系统: risc-v Supervisor寄存器satp

本文详细介绍了risc-v架构中satp寄存器的功能,包括地址翻译和保护,以及其在不同模式下的作用。satp寄存器用于控制s-mode的地址转换和保护,其PPN字段存储页表物理地址,MODE字段选择转换方案。当MODE设为Bare时,虚拟地址等同物理地址,没有额外的内存保护。此外,ASID用于区分不同地址空间,其位数可通过特定操作检测。写入satp并不立即触发页表更新,可能需要配合SFENCE.VMA指令确保生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

satp

全称 Supervisor Address Translation and Protection Register

supervisor模式下的地址翻译和保护寄存器

satp是一个SXLEN-bit 读写寄存器,控制s-mode下地址转换和地址保护。格式如下:

此寄存器保存root page table的物理地址编号(PPN),例如supervisor物理地址被分割为4KiB; 

地址空间标识符(ASID),方便在每个地址空间的基础上进行地址转换。

MODE字段,选择当前的地址转换方案。有关访问该寄存器的详细信息: Virtualization Support in mstatus Register

在satp中存储PPN,而不是物理地址,RV32支持大于4GiB的物理地址空间。

satp.PPN 字段可能无法保存所有物理页码。 一些平台标准可能会对 satp.PPN 可能假

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byd yes

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值