VLOXEI32.V 的地址偏移单位是什么?
索引装载的 vs2 元素是无符号字节偏移。
以 x[rs1] 为基址,使用 vs2 中 32 位无符号字节偏移执行有序 indexed load。
VLOXEI32.V 是 RISC-V V 扩展的有序索引向量装载指令。每个活动元素使用 x[rs1] + zero_extend(vs2[i]) 形成地址;指令名中的 ei32 表示索引 EEW=32,索引是无符号字节偏移,不是元素编号。有序形式按元素顺序观察访问,适合需要元素访问顺序的地址空间。vm=0 时 v0.t 关闭的元素不访问内存。
从编码字段解析 32 位索引装载,再逐元素计算 x[rs1] + zero_extend(vs2[i])。
教学环境:XLEN=64,VLEN=4096,SEW=32,LMUL=m1,VLMAX=128,索引 EMUL=1,合法 vtype,VS 已启用,vstart=0,ta/ma。假定所选访问均成功,未建模陷入;未对齐访问仅在环境支持时适用。rs1=x0 的基址固定为 0。memory elements 输入表示每次活动读取观察到的值,允许内存随访问变化,并非静态字节内存映像。逐元素步骤不表示处理器周期;有序访问按元素顺序遵循 RVWMO。inactive/tail 的“-”表示结果未显示,可保留旧值或写全 1;VL=0 不更新目标,正常完成后 vstart=0。
动画从 32 位向量内存指令编码开始,按官方位段显示 nf、mew、mop、vm、rs2/vs2 或 lumop/sumop、width、寄存器字段和 opcode。
VLOXEI32.V 的 vs2 是字节偏移向量,不是元素编号;有序形式用于需要访问顺序可观察的场景。
语法 vloxei32.v vd, (rs1), vs2[, v0.t];省略 v0.t 为 vm=1,给出为 vm=0。vd 是向量组,rs1 是整数基址,rs1=x0 时基址为 0。
ei32 固定索引 EEW=32,数据 EEW=SEW、EMUL=LMUL,索引 EMUL=(32/SEW)×LMUL。索引宽度须受支持,EMUL 须在 1/8..8 内、组起点合法;不同 EEW 重叠还须满足低端/高端限制。
地址为 x[rs1] 加 vs2[i] 字节偏移;通用规则为窄于 XLEN 时零扩展,宽于 XLEN 时仅取低 XLEN 位。有序形式按元素顺序遵循 RVWMO,不承诺缓存或周期行为。
要求 V/VS 已启用、合法 vtype。仅 vstart≤i<vl 且掩码开启的元素访问内存;masked vd 不能与 v0 重叠。prestart 保持不变,inactive/tail 按 vma/vta;不同 EEW 的合法重叠强制 ma/ta。VL=0 或 vstart≥vl 不更新目标;正常完成后 vstart=0,vl 不变。
假定 V/VS 已启用、所需数据/索引宽度受支持、VLEN≥128、x10=0x8000、x11=4,内存访问均成功;vsetvli 后 vl=4、vstart=0、ta/ma。e32,m1; v2 byte offsets=[0,8,16,24]; addresses=[0x8000,0x8008,0x8010,0x8018]; memory values=[10,20,30,40] → v1=[10,20,30,40]。省略 v0.t,未掩码;agnostic 可保留旧值或写全 1,tail 不保证清零。
假定 V/VS 已启用、所需数据/索引宽度受支持、VLEN≥128、x10=0x8000、x11=4,内存访问均成功;vsetvli 后 vl=4、vstart=0、ta/ma。e32,m1; v2 byte offsets=[0,8,16,24]; addresses=[0x8000,0x8008,0x8010,0x8018]; memory values=[10,20,30,40] → v1=[10,20,30,40]。省略 v0.t,未掩码;agnostic 可保留旧值或写全 1,tail 不保证清零。
假定 V/VS 已启用、所需数据/索引宽度受支持、VLEN≥128、x10=0x8000、x11=4,内存访问均成功;vsetvli 后 vl=4、vstart=0、ta/ma。e32,m1; v2 byte offsets=[0,8,16,24]; addresses=[0x8000,0x8008,0x8010,0x8018]; memory values=[10,20,30,40] → v1=[10,20,30,40]。省略 v0.t,未掩码;agnostic 可保留旧值或写全 1,tail 不保证清零。
索引装载的 vs2 元素是无符号字节偏移。
vm=0 时用 v0 选择活动元素,vm=1 时所有 body 元素都参与;非活动和尾部元素按当前策略处理。