数据共享操作(下)
11. 使用VOP3编码的VOP1
这种格式的指令也可以编码为VOP3。这允许访问额外的控制位(例如ABS、OMOD),以换取不能使用文字常数。VOP3操作码为:VOP2操作码+0x140,如图5-33所示。

图5-33 VOP3操作码为:VOP2操作码+0x140
12. VOPC说明
VOPC的位域图,如图5-34所示。

图5-34 VOPC的位域图
其中:
SRC0=指令的第一个操作数。
VSRC1=指令的第二个操作数。
OP=指令。
所有VOPC指令都可以以VOP3A格式进行编码。
13. 使用VOP3A编码的VOPC
这种格式的指令也可以编码为VOP3A。允许访问额外的控制位(例如ABS、OMOD),以换取不能使用文字常数。VOP3操作码为:VOP2操作码+0x000。
当CLAMP微码位设置为1时,当任一输入为NaN时,这些比较指令会发出异常信号。当CLAMP设置为零时,NaN不会发出异常信号。后8条VOPC指令中嵌入了{OP8}。这是指下面列出的每个比较操作,如图5-35所示。

图5-35 VOP3A编码的VOPC
其中:
VDST=VGPR中指令的目的地。
ABS=浮点绝对值。
CLMP=钳位输出。
OP=指令。
SRC0=指令的第一个操作数。
SRC1=指令的第二个操作数。
SRC2=指令的第三个操作数。在VOPC指令中未使用。
OMOD=指令的输出修饰符。在VOPC指令中未使用。
NEG=负浮点。
14. VOP3P指令
VOP3P与VOP3P-MAI指令架构,如图5-36所示。

图5-36 VOP3P与VOP3P-MAI指令架构
15. VOP3A和VOP3B说明
VOP3指令使用以下两种编码之一:VOP3A与VOP3B指令。如图5-37所示。

图5-37 VOP3A与VOP3B指令架构
VOP3B此编码允许指定唯一的标量目标,用于以下数据类型。
V_ADD_CO_U32
V_SUB_CO_U32
V_SUBREV_CO_U32
V_ADDC_CO_U32
V_SUBB_CO_U32
V_SUBBREV_CO_U32
V_DIV_SCALE_F32
V_DIV_SCALE_F64
V_MAD_U64_U32
V_MAD_I64_I32
VOP3A所有其他VALU指令都使用此编码。
16. LDS和GWS说明
这套指令对存储在数据共享内存中的数据进行操作。指令在VGPR和数据共享存储器之间传输数据。
LDS/GWS的位域图,如图5-38所示。

图5-38 LDS/GWS的位域图
GWS指令仅在单通道上运行(EXEC掩码中的第一个活动通道)。
其中:
OFFSET0=从ADDR VGPR添加到地址的无符号字节偏移。
OFFSET1=从ADDR VGPR添加到地址的无符号字节偏移。
GDS=如果是GWS则设置,如果是LDS则清除。
OP=DS指令。
ADDR=源LDS地址VGPR 0-255。
DATA0=源数据0 VGPR 0-255。
DATA1=源数据1 VGPR 0-255。
VDST=目标VGPR 0-255。
17. MUBUF说明
MUBUF格式的位域映射,如图5-39所示。

图5-39 MUBUF格式的位域映射
其中:
OFFSET=无符号立即字节偏移。
OFFEN=将偏移量发送为VADDR或零。
IDXEN=将索引发送为VADDR或零。
LDS=从LDS或VGPR读取/写入的数据。
OP=指令操作码。
VADDR=VGPR地址源。
VDATA=目标向量GPR。
SRSRC=指定资源常数的标量GPR。
ACC=返回ACC VGPR
SC=范围
NT=延迟
SOFFSET=添加到SGPR内存地址的字节偏移量。
18. MTBUF说明
MTBUF格式的位字段图,如图5-40所示。

图5-39 MTBUF格式的位字段图
其中:
OFFSET=无符号立即字节偏移。
OFFEN=将偏移量发送为VADDR或零。
IDXEN=将索引发送为VADDR或零。
LDS=数据在LDS和内存之间传输,而不是VGPR。
OP=指令操作码。
DFMT=类型化缓冲区的数据格式。
NFMT=类型化缓冲区的数字格式。
VADDR=VGPR地址源。
VDATA=用于读取/写入结果的向量GPR。
SRSRC=指定资源常数的标量GPR。
SOFFSET=SGPR的无符号字节偏移量。
SC=范围
NT=非时间
ACC=返回ACC VGPR
19. FLAT、Scratch和全局指令
FLAT格式的位字段映射,如图5-40所示。

图5-40 FLAT格式的位字段映射
其中:
OP=指令操作码。
ADDR=平面地址VGPR的来源。
DATA=源数据。
VDST=目标VGPR。
NV=访问非易失性存储器。
SADDR=SGPR保持地址或偏移量。
SEG=指令类型:平面、划痕或全局。
LDS=数据在LDS和内存之间传输,而不是VGPR。
OFFSET=立即地址字节偏移。
SC=范围
NT=延时
人工智能芯片与自动驾驶

浙公网安备 33010602011771号