ei16 是存储数据的位宽吗?
不是。索引是 16 位无符号字节偏移;存储数据宽度来自当前 SEW。
以 x[rs1] 为基址,使用 vs2 中 16 位无符号字节偏移把 vs3 活动元素执行无序 indexed store。
VSUXEI16.V 是 RISC-V V 扩展的无序索引向量存储指令。每个活动元素使用 x[rs1] + zero_extend(vs2[i]) 形成地址,并把 vs3[i] 的当前 SEW 位数据写入该地址;ei16 只规定索引 EEW=16。无序形式不保证 store 按元素编号顺序被观察。vm=0 时 v0.t 关闭的元素不写内存。
从编码字段解析 16 位索引存储,再逐元素计算 x[rs1] + zero_extend(vs2[i])。
教学环境:V 1.0、向量状态已启用、合法且受支持 vtype/SEW/索引EEW;固定 VLEN=4096、LMUL=m1、vstart=0,VLMAX=4096/32,索引 EMUL=0.5。索引组须对齐且不越过v31;同一寄存器不能作为不同EEW的源,v0.t 时源组不能读取v0数据。相同EEW的同名vs3/vs2须有相同元素。x0基址为0。假定所有活动访问成功,未对齐访问要求环境支持;地址显示限制0..0xffffffff并非ISA限制。只显示逐元素存储事件(非最终字节内存映像);重复/重叠地址后续存储可能覆盖先前数据。无序存储不保证元素访问顺序或重叠地址的最终值;步骤也不代表实际访问顺序。步骤不是处理器周期。inactive/tail不访问内存,VL=0无访问;源寄存器不变,正常完成后vstart=0。
动画从 32 位向量内存指令编码开始,按官方位段显示 nf、mew、mop、vm、rs2/vs2 或 lumop/sumop、width、寄存器字段和 opcode。
VSUXEI16.V 是无序索引 RVV 存储指令,内存写入只发生在活动且未被掩码关闭的元素上。
vs3 是数据源(EEW=SEW、EMUL=LMUL),vs2 是 16 位无符号字节偏移;索引 EMUL=(16/SEW)×LMUL 须在1/8..8。组起点须合法对齐,不同 EEW 的源不可读取同一寄存器。
32 位 STORE-FP:opcode=0100111、nf=000、mew=0、mop=01、width=101;vm 在 bit25,vs2 在 bits24:20,rs1 在 bits19:15,vs3 在 bits11:7。
活动元素地址=x[rs1]+zero_extend(vs2[i]),不按数据宽度缩放;x0 基址为0。无序访问不保证元素顺序,重复/重叠地址无确定最终值;源不变。未对齐访问可成功或异常,其他活动访问也可能陷入。
要求 RV32/RV64 V 1.0、向量状态已启用、vill=0 和受支持 vtype/SEW/索引 EEW。v0.t 为 vm=0,省略为 vm=1;仅掩码允许的 vstart≤i<vl 元素访问内存;inactive/tail 无访问。vstart≥vl(含 vl=0)无访问;v0 不可同时提供 EEW=1 掩码和数据。正常完成后 vstart=0。
假定 V/VS 已启用、合法 m1,tu,mu、VLEN=4096、vl=4、vstart=0,v0.mask[0..3]=1101;SEW=32, x10=0x8000, v8=[10,20,30,40], vs2=v4 (EEW=16)=[12,0,8,4]。lane0: [0x800c]=10; lane1: [0x8000]=20; lane3: [0x8004]=40。假定所选地址可写且访问成功;lane2不访问内存,事件列表不表示实际访问顺序,源不变。正常完成后vstart=0。
假定 V/VS 已启用、合法 m1,tu,mu、VLEN=4096、vl=4、vstart=0,v0.mask[0..3]=1101;SEW=32, x10=0x8000, v8=[10,20,30,40], vs2=v4 (EEW=16)=[12,0,8,4]。lane0: [0x800c]=10; lane1: [0x8000]=20; lane3: [0x8004]=40。假定所选地址可写且访问成功;lane2不访问内存,事件列表不表示实际访问顺序,源不变。正常完成后vstart=0。
假定 V/VS 已启用、合法 m1,tu,mu、VLEN=4096、vl=4、vstart=0,v0.mask[0..3]=1101;SEW=32, x10=0x8000, v8=[10,20,30,40], vs2=v4 (EEW=16)=[12,0,8,4]。lane0: [0x800c]=10; lane1: [0x8000]=20; lane3: [0x8004]=40。假定所选地址可写且访问成功;lane2不访问内存,事件列表不表示实际访问顺序,源不变。正常完成后vstart=0。
不是。索引是 16 位无符号字节偏移;存储数据宽度来自当前 SEW。
没有。无序索引存储不保证元素访问顺序,不能依赖元素编号较大的写入最后发生。