vill
只读非法 vtype 标志;为 1 表示最近一次向量配置不受支持。
这个字段控制什么
- - 非法 vtype 标志;为 1 表示最近一次向量配置不受支持。
常见取值
当前 vtype 配置有效或被实现支持。
表示 vtype 为不受支持的配置;其余 vtype 位为 0,依赖 vtype 的向量指令会触发非法指令异常。设置不受支持的 vtype 值时,vset{i}vl{i} 也会将 vl 置为 0。
vtype 描述当前向量元素宽度、LMUL、尾部策略、掩码策略和非法配置标志。
非法 vtype 标志;为 1 表示最近一次向量配置不受支持。
当前 vtype 配置有效或被实现支持。
表示 vtype 为不受支持的配置;其余 vtype 位为 0,依赖 vtype 的向量指令会触发非法指令异常。设置不受支持的 vtype 值时,vset{i}vl{i} 也会将 vl 置为 0。
保留位:设置 vtype 的指令应将这些位写为 0;非零值保留。vtype 只能由向量配置指令更新,不能用 CSR 写指令更新。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
向量掩码元素策略,由 vsetvli/vsetivli/vsetvl 等向量配置指令设置。
mask-undisturbed:未激活 mask 元素保持原值。
mask-agnostic:未激活元素可保持原值,或被实现改写为全 1。
向量尾部元素策略,由 vsetvli/vsetivli/vsetvl 等向量配置指令设置。
tail-undisturbed:尾部元素保持原值。
tail-agnostic:尾部元素可保持原值,或被实现改写为全 1。
向量元素宽度编码,由向量配置指令设置。
选择 SEW=8;若实现不支持该配置,vtype.vill 会置位。
选择 SEW=16;若实现不支持该配置,vtype.vill 会置位。
选择 SEW=32;若实现不支持该配置,vtype.vill 会置位。
选择 SEW=64;若实现不支持该配置,vtype.vill 会置位。
V 规范中的保留 vsew 编码;可移植软件不应写入或依赖。
V 规范中的保留 vsew 编码;可移植软件不应写入或依赖。
V 规范中的保留 vsew 编码;可移植软件不应写入或依赖。
V 规范中的保留 vsew 编码;可移植软件不应写入或依赖。
向量寄存器分组倍率编码,由向量配置指令设置。
LMUL=1。
LMUL=2。
LMUL=4。
LMUL=8。
保留编码;可移植软件不应写入或依赖。
LMUL=1/8。
LMUL=1/4。
LMUL=1/2。
vtype 是 0xC21 的 URO 向量 CSR,显示当前的 SEW、LMUL、尾部和掩码策略。它由 vsetvl 类指令更新。
读取 vtype 获取当前 SEW、LMUL、尾部和掩码策略。
按位域说明解释返回值,不要尝试写回。
若 VS 为 Off,先启用可用的向量上下文,再访问向量 CSR。
其 CSR 编号为 URO,可从 U 模式读取;但实现 V 扩展时,mstatus.VS 为 Off 会使访问触发非法指令异常。V=1 时,vsstatus.VS 或 mstatus.VS 任一为 Off 也会触发该异常。
vtype 是只读 CSR。不要用 CSR 写指令写入;用 vsetvli、vsetivli 或 vsetvl 配置它,并将 XLEN-2:8 写为 0。