它是用户态普通指令吗?
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
Hypervisor 虚拟机加载:按 VS/VU 有效特权和两阶段转换加载双字。
HLV.D 是 H 扩展中对应 LD 的虚拟机加载指令。它从 rs1 指定的地址读取 64 位双字并写入 rd;指令没有立即数偏移,且仅对 RV64 有效。它仅可在 M-mode、HS-mode,或 hstatus.HU=1 的 U-mode 执行;显式访问按 hstatus.SPVP 选择 VU 或 VS 有效特权,并经过 VS-stage 与 G-stage 两阶段地址转换。
展示 HLV.D 的 SYSTEM 编码、特权检查、两阶段转换与 64 位直接写回;不模拟页表遍历或 TLB 实现。
该动画仅展示官方定义的架构条件与结果;页表遍历、TLB、缓存和平台异常处理未建模。
HLV.D 是 H 扩展的 虚拟机双字加载,以内存访问的 VS/VU 有效特权经过 VS-stage 与 G-stage 两阶段转换加载数据。
结合 «hlv.d a0, (a1)» 等实际代码理解该场景。
结合 «hlv.d a0, (a1)» 等实际代码理解该场景。
结合 «hlv.d a0, (a1)» 等实际代码理解该场景。
不是。该类指令受特权级和扩展支持约束,用户态是否可执行必须看官方特权规则。
不能简单替代。地址转换、指令获取和数据内存排序分别有不同的 fence/失效指令。