Sv32
全称: Page-Based 32-bit Virtual-Memory Systems
当Sv32是被写入到satp.MODE时,s-mode是在一个32-bit的虚拟内存系统。在这种模式下,supervisor和user虚拟地址通过遍历基树页表转换为supervisor物理地址。
当 SXLEN=32 时支持 Sv32,并且旨在包含足以支持现代基于 Unix 的操作系统的机制。
Addressing and Memory Protection
(寻址和内存保护)
Sv32 实现支持 32 位虚拟地址空间,分为 4 KiB 页。将Sv32虚拟地址划分为VPN (virtual page number)和页面偏移量,如图所示。当satp.MODE被设置为Sv32虚拟地址模式时,supervisor虚拟地址通过两级页面转化为supervisor物理地址。20-bit VPN转化成22-bit PPN(physical page number),同时12-bit 页偏移(page offset)不用转换。在直接转换为machine-level物理地址之前,使用物理内存保护结构(physical memory protection structures PMP)检查supervisor-level 物理地址。如果有必须的话,supervisor-level物理地址是可以被zero-extended。