它是用户态普通指令吗?
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
Svinval 选择性地址转换缓存失效:按 rs1(VA) 与 rs2(ASID) 失效;排序由 SFENCE.W.INVAL/SFENCE.INVAL.IR 提供。
SINVAL.VMA 使与相同 rs1/rs2 的 SFENCE.VMA 会影响的地址转换缓存条目失效,但它本身只执行失效,排序仅相对于 SFENCE.VMA、SFENCE.W.INVAL 和 SFENCE.INVAL.IR 按规范成立。典型批处理序列为:SFENCE.W.INVAL -> 多条 SINVAL.VMA/HINVAL.* -> SFENCE.INVAL.IR。rs1=x0 表示所有虚拟地址,rs2=x0 表示所有 ASID。
SINVAL.VMA 是特权架构定义的系统级指令,页面说明只覆盖官方规定的架构语义,不推断平台固件策略。
结合 «sinval.vma x0, x0 # invalidate all TLB entries for all ASIDs» 等实际代码理解该场景。
结合 «sinval.vma x0, x0 # invalidate all TLB entries for all ASIDs» 等实际代码理解该场景。
结合 «sinval.vma x0, x0 # invalidate all TLB entries for all ASIDs» 等实际代码理解该场景。
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
不能简单替代。地址转换、指令获取和数据内存排序分别有不同的 fence/失效指令。