You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RISC-V(RV32)下supervisor模式程序能否执行user模式代码?

RV32架构下S模式能否跳转执行U模式页面代码的问题

首先明确:sstatus寄存器中的SUM标志位仅管控S模式下加载/存储指令对U模式页面的数据访问权限,完全不涉及指令取指(即执行代码)的权限控制。

回到你的问题:即使SUM=1,S模式代码也不能直接跳转至U模式的page A执行其中的代码,原因如下:

  • RISC-V架构中,指令取指的权限规则与数据访问是分开的。对于标记为U模式(U=1)的页面,默认仅允许U模式本身执行;S模式尝试取指这类页面时,无论SUM的值是什么,都会触发取指异常。
  • 如果要让S模式执行U模式页面的代码,需要通过其他配置实现:比如修改该页面的页表项,取消U=1标记,同时开放S模式的执行权限(设置X=1);或者通过特权级切换机制,先切换到U模式再执行对应代码。

内容的提问来源于stack exchange,提问作者Teng Wu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:03:14