跳转至

Vector 指令

每个条目给出完整 32 位固定/可变布局、c220 后端实际接受的文本形式、立即数约束和架构周期模型。 没有“c220 汇编器接受”标记的条目不能把目录占位符直接复制进源码。

目录速览

ID 解码名 助记符 格式 作用 状态
142 MOVEVA MOVEVA V-MOVE 移动/设置向量地址寄存器 VA。 仅机器格式;无 c220 公共语法
143 VSCMERGE VSCMERGE V-MOVE 按向量地址/步长描述合并数据。 仅机器格式;无 c220 公共语法
144 VSCSPLIT VSCSPLIT V-MOVE 按向量地址/步长描述拆分数据。 仅机器格式;无 c220 公共语法
145 VGATHER VGATHER V-MOVE 按索引聚集向量元素。 c220 汇编器接受
146 VPADDING VPADDING V-MOVE 向量填充。 仅机器格式;无 c220 公共语法
147 VSCATTER VSCATTER V-MOVE 按索引散射向量元素。 仅机器格式;无 c220 公共语法
148 L0C_LOCK_SET L0C_LOCK_SET V-SPECIAL 设置 L0C 访问锁。 仅机器格式;无 c220 公共语法
149 L0C_LOCK_RELEASE L0C_LOCK_RELEASE V-SPECIAL 释放 L0C 访问锁。 仅机器格式;无 c220 公共语法
154 VCSHUFFLE VCSHUFFLE V-MOVE 向量通道重排。 仅机器格式;无 c220 公共语法
155 MOVEMASK MOVEMASK V-MOVE 在标量寄存器与 MASK[0]/MASK[1] 之间移动掩码。 c220 汇编器接受
156 LD_VAD LD_VAD V-SPECIAL 加载向量地址描述 VAD。 仅机器格式;无 c220 公共语法
157 VCBD VCBD V-SPECIAL 执行向量 CBD 专用变换,输入输出类型由转换后缀选择。 仅机器格式;无 c220 公共语法
158 MOVEV MOVEV V-MOVE 向量数据/地址移动。 仅机器格式;无 c220 公共语法
159 VCI VCI V-SPECIAL 生成或变换向量索引。 仅机器格式;无 c220 公共语法
160 VEXP VEXP V-UNARY 逐 lane 指数。 c220 汇编器接受
161 VRSQRT VRSQRT V-UNARY 逐 lane 倒数平方根。 c220 汇编器接受
162 VRELU VRELU V-UNARY 逐 lane ReLU。 c220 汇编器接受
163 VREC VREC V-UNARY 逐 lane 倒数。 c220 汇编器接受
164 VLN VLN V-UNARY 逐 lane 自然对数。 c220 汇编器接受
165 VABS VABS V-UNARY 逐 lane 绝对值。 c220 汇编器接受
166 VCADD VCADD V-REDUCE 向量分组/归约加法。 c220 汇编器接受
167 VCMAX VCMAX V-REDUCE 向量分组/归约最大值。 c220 汇编器接受
168 VCMIN VCMIN V-REDUCE 向量分组/归约最小值。 c220 汇编器接受
169 VCGMAX VCGMAX V-REDUCE 向量全局/分组最大值归约。 c220 汇编器接受
170 VCGMIN VCGMIN V-REDUCE 向量全局/分组最小值归约。 c220 汇编器接受
171 VCGADD VCGADD V-REDUCE 向量全局/分组加法归约。 c220 汇编器接受
172 VNCHWCONV VNCHWCONV V-MOVE 在 NCHW 相关的分块布局之间转换。 仅机器格式;无 c220 公共语法
173 VMOV VMOV V-MOVE 向量移动。 仅机器格式;无 c220 公共语法
174 VCPADD VCPADD V-REDUCE 成对/相邻 lane 加法规约。 c220 汇编器接受
175 VNOT VNOT V-UNARY 逐 lane 按位取反。 c220 汇编器接受
176 VRPAC VRPAC V-SPECIAL 执行 RPN/候选框处理所需的专用向量操作。 仅机器格式;无 c220 公共语法
177 VBS16 VBS16 V-SPECIAL 执行 16 位 bit-sort/候选框专用操作。 仅机器格式;无 c220 公共语法
178 VMS4 VMS4 V-SPECIAL 四路 merge-sort 类向量操作。 仅机器格式;无 c220 公共语法
179 VEXTRACT VEXTRACT V-MOVE 从向量/通道中抽取元素。 仅机器格式;无 c220 公共语法
180 VCONCAT VCONCAT V-MOVE 拼接向量/通道。 仅机器格式;无 c220 公共语法
181 VMERGECH VMERGECH V-MOVE 合并通道。 仅机器格式;无 c220 公共语法
182 RPN_COR_DIAG RPN_COR_DIAG V-SPECIAL RPN 对角相关专用操作。 仅机器格式;无 c220 公共语法
183 VTRANSPOSE VTRANSPOSE V-MOVE 向量块转置。 仅机器格式;无 c220 公共语法
184 UNDEF184 R 内部/保留解码槽位,不定义公共语义。 保留/内部
185 VSQRT VSQRT V-UNARY 逐 lane 平方根。 c220 汇编器接受
186 VBS32 VBS32 V-SPECIAL 执行 32 位 bit-sort/候选框专用操作。 仅机器格式;无 c220 公共语法
187 VMS4V2 VMS4V2 V-SPECIAL 第二版四路 merge-sort 类操作。 仅机器格式;无 c220 公共语法
188 VCONV VCONV V-CONV 逐 lane 类型转换;后缀包含源/目标类型及舍入/饱和模式。 c220 汇编器接受
189 VADD VADD V-BINARY 逐 lane 加法。 c220 汇编器接受
190 VSUB VSUB V-BINARY 逐 lane 减法。 c220 汇编器接受
191 VMAX VMAX V-BINARY 逐 lane 最大值。 c220 汇编器接受
192 VMIN VMIN V-BINARY 逐 lane 最小值。 c220 汇编器接受
193 VMUL VMUL V-BINARY 逐 lane 乘法。 c220 汇编器接受
194 VMLA VMLA V-BINARY 逐 lane 乘加/累加。 c220 汇编器接受
195 VDIV VDIV V-BINARY 逐 lane 除法。 c220 汇编器接受
196 VADDRELUCONV VADDRELUCONV V-CONV 向量加法、ReLU 与类型转换融合。 c220 汇编器接受
197 VSUBRELUCONV VSUBRELUCONV V-CONV 向量减法、ReLU 与类型转换融合。 c220 汇编器接受
198 VMADD VMADD V-BINARY 逐 lane 乘加。 c220 汇编器接受
199 VMADDRELU VMADDRELU V-BINARY 逐 lane 乘加并执行 ReLU。 c220 汇编器接受
200 VMAXS VMAXS V-SCALAR 向量与标量逐 lane 取最大值。 c220 汇编器接受
201 VMINS VMINS V-SCALAR 向量与标量逐 lane 取最小值。 c220 汇编器接受
202 VSHR VSHR V-SCALAR 逐 lane 右移。 c220 汇编器接受
203 VSHL VSHL V-SCALAR 逐 lane 左移。 c220 汇编器接受
204 VLRELU VLRELU V-UNARY 逐 lane Leaky ReLU。 c220 汇编器接受
205 VADDRELU VADDRELU V-BINARY 逐 lane 加法并执行 ReLU。 c220 汇编器接受
206 VSUBRELU VSUBRELU V-BINARY 逐 lane 减法并执行 ReLU。 c220 汇编器接受
207 VCMPVS VCMPVS V-CMP 向量与标量比较并产生选择/比较掩码。 c220 汇编器接受
208 VGATHERB VGATHERB V-MOVE 按字节/块索引聚集。 仅机器格式;无 c220 公共语法
209 VBRCB VBRCB V-MOVE 向量按块广播。 c220 汇编器接受
210 VREDUCE VREDUCE V-REDUCE 向量归约。 c220 汇编器接受
211 VREDUCEV2 VREDUCEV2 V-REDUCE 第二版向量归约。 c220 汇编器接受
212 VAXPY VAXPY V-SCALAR 执行 A*X+Y 形式的逐 lane 运算。 c220 汇编器接受
213 VADDS VADDS V-SCALAR 向量与标量逐 lane 加法。 c220 汇编器接受
214 VMULS VMULS V-SCALAR 向量与标量逐 lane 乘法。 c220 汇编器接受
215 VCMP VCMP V-CMP 比较向量元素并更新比较掩码。 c220 汇编器接受
216 VCMPV VCMPV V-CMP 向量比较并将结果写为向量/掩码。 c220 汇编器接受
217 VOR VOR V-BINARY 逐 lane 按位或。 c220 汇编器接受
218 VAND VAND V-BINARY 逐 lane 按位与。 c220 汇编器接受
219 VSEL VSEL V-BINARY 按 MASK/CMPMASK 逐 lane 选择。 c220 汇编器接受
223 VMOVMASK_XD VMOVMASK_XD V-MOVE 把向量比较掩码移动到标量寄存器。 仅机器格式;无 c220 公共语法
224 VMOVMASK_XN VMOVMASK_XN V-MOVE 从标量寄存器恢复/设置向量比较掩码。 仅机器格式;无 c220 公共语法
225 VMULCONV VMULCONV V-CONV 向量乘法与类型转换融合。 c220 汇编器接受
226 VADDDEQRELU VADDDEQRELU V-BINARY 向量加法、反量化与 ReLU 融合。 仅机器格式;无 c220 公共语法
227 VCOPY VCOPY V-MOVE 按向量地址/步长描述复制。 c220 汇编器接受

逐指令说明

ID 142 — MOVEVA

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 移动/设置向量地址寄存器 VA。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000.........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000000(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xfe000000) == 0x80000000

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 143 — VSCMERGE

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 按向量地址/步长描述合并数据。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...................0010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:3]=Xs; [2:0]=001(fixed)
  • 解码条件:(word & 0xffc00007) == 0x80000001

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 144 — VSCSPLIT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 按向量地址/步长描述拆分数据。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...............000.0100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:4]=000(fixed); [3]=Xs; [2:0]=010(fixed)
  • 解码条件:(word & 0xffc00077) == 0x80000002

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 145 — VGATHER

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 Xd=目标 UB 地址;Xn=索引地址;Xs=配置;MASK=有效 lane
作用 按索引聚集向量元素。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000000000...............100.0100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst; [16:12]=index address; [11:7]=Xs; [6:4]=100(fixed); [3]=gather control; [2:0]=010(fixed)
  • 解码条件:(word & 0xffc00077) == 0x80000042

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [[Xn]], Xn, MASK VGATHER.b16 [X0], [[X1]], X2, MASK 0x80001142
dav-c220-vec b32 [Xn], [[Xn]], Xn, MASK VGATHER.b32 [X0], [[X1]], X2, MASK 0x8000114a

汇编器级最小示例:

.text
.a64
VGATHER.b16 [X0], [[X1]], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 和索引访问分组;每组可因 UB 请求边界继续拆分:64/128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 146 — VPADDING

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 向量填充。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...............010.0100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:4]=010(fixed); [3]=Xs; [2:0]=010(fixed)
  • 解码条件:(word & 0xffc00077) == 0x80000022

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 147 — VSCATTER

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 按索引散射向量元素。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...............110.0100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:4]=110(fixed); [3]=Xs; [2:0]=010(fixed)
  • 解码条件:(word & 0xffc00077) == 0x80000062

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 148 — L0C_LOCK_SET

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 设置 L0C 访问锁。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...............00100100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:0]=0010010(fixed)
  • 解码条件:(word & 0xffc0007f) == 0x80000012

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 149 — L0C_LOCK_RELEASE

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 释放 L0C 访问锁。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...............00110100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:0]=0011010(fixed)
  • 解码条件:(word & 0xffc0007f) == 0x8000001a

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 154 — VCSHUFFLE

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 向量通道重排。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...................1110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:3]=Xs; [2:0]=111(fixed)
  • 解码条件:(word & 0xffc00007) == 0x80000007

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 155 — MOVEMASK

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 MASK[0]=目标掩码槽;Xn=标量源
作用 在标量寄存器与 MASK[0]/MASK[1] 之间移动掩码。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000000001......................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000001(fixed); [21:7]=mask/control; [6:2]=src; [1:0]=subop
  • 解码条件:(word & 0xffc00000) == 0x80400000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec (无后缀) MASK[0], Xn MOVEMASK MASK[0], X0 0x80400000

汇编器级最小示例:

.text
.a64
MOVEMASK MASK[0], X0

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 156 — LD_VAD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 加载向量地址描述 VAD。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000010......................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000010(fixed); [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xffc00000) == 0x80800000

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 只生成读侧/控制 uop;数量由 repeat/block 与有效源决定:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 157 — VCBD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 执行向量 CBD 专用变换,输入输出类型由转换后缀选择。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000011......................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000011(fixed); [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xffc00000) == 0x80c00000

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 158 — MOVEV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 向量数据/地址移动。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xfe000000) == 0x82000000

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 159 — VCI

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 生成或变换向量索引。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............00000.....010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=00000(fixed); [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000f83) == 0x82000001

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 160 — VEXP

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 指数。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00001.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00001(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000080

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VEXP.f16 [X0], [X1], X2, MASK 0x83401088
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VEXP.f32 [X0], [X1], X2, MASK 0x83c01088

汇编器级最小示例:

.text
.a64
VEXP.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:32/13/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 161 — VRSQRT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 倒数平方根。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00010.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00010(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000100

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VRSQRT.f16 [X0], [X1], X2, MASK 0x83401108
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VRSQRT.f32 [X0], [X1], X2, MASK 0x83c01108

汇编器级最小示例:

.text
.a64
VRSQRT.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 162 — VRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane ReLU。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00011.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00011(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000180

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VRELU.f16 [X0], [X1], X2, MASK 0x83401188
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VRELU.f32 [X0], [X1], X2, MASK 0x83c01188
dav-c220-vec s32 [Xn], [Xn], Xn, MASK VRELU.s32 [X0], [X1], X2, MASK 0x83001188

汇编器级最小示例:

.text
.a64
VRELU.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 163 — VREC

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 倒数。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00100.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00100(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000200

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VREC.f16 [X0], [X1], X2, MASK 0x83401208
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VREC.f32 [X0], [X1], X2, MASK 0x83c01208

汇编器级最小示例:

.text
.a64
VREC.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 164 — VLN

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 自然对数。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00101.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00101(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000280

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VLN.f16 [X0], [X1], X2, MASK 0x83401288
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VLN.f32 [X0], [X1], X2, MASK 0x83c01288

汇编器级最小示例:

.text
.a64
VLN.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:32/15/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 165 — VABS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 绝对值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10000011............00110.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10000011(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=00110(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xff000f82) == 0x83000300

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VABS.f16 [X0], [X1], X2, MASK 0x83401308
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VABS.f32 [X0], [X1], X2, MASK 0x83c01308

汇编器级最小示例:

.text
.a64
VABS.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 166 — VCADD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量分组/归约加法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............00111......00/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=00111(fixed); [6:2]=Xs; [1]=reduce_mode; [0]=0(fixed)
  • 解码条件:(word & 0xfe000f81) == 0x82000380

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK, #imm VCADD.f16 [X0], [X1], X2, MASK, #0 0x83401388
dav-c220-vec f32 [Xn], [Xn], Xn, MASK, #imm VCADD.f32 [X0], [X1], X2, MASK, #0 0x83c01388

汇编器级最小示例:

.text
.a64
VCADD.f16 [X0], [X1], X2, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
reduce_mode 0..1 1 位;零扩展/枚举 scale=1;alignment=1 归约/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/21/24/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 167 — VCMAX

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量分组/归约最大值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10000011............01000.......0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10000011(fixed); [23:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01000(fixed); [6:2]=Xs; [1:0]=reduce_mode
  • 解码条件:(word & 0xff000f80) == 0x83000400

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK, #imm VCMAX.f16 [X0], [X1], X2, MASK, #0 0x83401408
dav-c220-vec f32 [Xn], [Xn], Xn, MASK, #imm VCMAX.f32 [X0], [X1], X2, MASK, #0 0x83c01408

汇编器级最小示例:

.text
.a64
VCMAX.f16 [X0], [X1], X2, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
reduce_mode 0..3 2 位;零扩展/枚举 scale=1;alignment=1 归约/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/9/10/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 168 — VCMIN

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量分组/归约最小值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10000011............01001.......0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10000011(fixed); [23:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01001(fixed); [6:2]=Xs; [1:0]=reduce_mode
  • 解码条件:(word & 0xff000f80) == 0x83000480

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK, #imm VCMIN.f16 [X0], [X1], X2, MASK, #0 0x83401488
dav-c220-vec f32 [Xn], [Xn], Xn, MASK, #imm VCMIN.f32 [X0], [X1], X2, MASK, #0 0x83c01488

汇编器级最小示例:

.text
.a64
VCMIN.f16 [X0], [X1], X2, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
reduce_mode 0..3 2 位;零扩展/枚举 scale=1;alignment=1 归约/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/9/10/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 169 — VCGMAX

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量全局/分组最大值归约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............01010.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01010(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000500

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VCGMAX.f16 [X0], [X1], X2, MASK 0x83401508
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VCGMAX.f32 [X0], [X1], X2, MASK 0x83c01508

汇编器级最小示例:

.text
.a64
VCGMAX.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/6/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 170 — VCGMIN

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量全局/分组最小值归约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............01011.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01011(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000580

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VCGMIN.f16 [X0], [X1], X2, MASK 0x83401588
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VCGMIN.f32 [X0], [X1], X2, MASK 0x83c01588

汇编器级最小示例:

.text
.a64
VCGMIN.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/6/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 171 — VCGADD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 向量全局/分组加法归约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............01100.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01100(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000600

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VCGADD.f16 [X0], [X1], X2, MASK 0x83401608
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VCGADD.f32 [X0], [X1], X2, MASK 0x83c01608

汇编器级最小示例:

.text
.a64
VCGADD.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/13/16/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 172 — VNCHWCONV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 在 NCHW 相关的分块布局之间转换。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............01101.......0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=01101(fixed); [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xfe000f80) == 0x82000680

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 NCHW 转换块和 repeat 展开:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 173 — VMOV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 向量移动。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............01110.....1.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=01110(fixed); [6:2]=Xs; [1]=1(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000702

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 174 — VCPADD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 dst/src=UB 地址;Xs=分组/repeat;MASK=有效 lane
作用 成对/相邻 lane 加法规约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............01111.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src; [11:7]=01111(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000780

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VCPADD.f16 [X0], [X1], X2, MASK 0x83401788
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VCPADD.f32 [X0], [X1], X2, MASK 0x83c01788

汇编器级最小示例:

.text
.a64
VCPADD.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 175 — VNOT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 按位取反。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............10000.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=10000(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000800

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], Xn, MASK VNOT.b16 [X0], [X1], X2, MASK 0x82401808

汇编器级最小示例:

.text
.a64
VNOT.b16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 176 — VRPAC

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 执行 RPN/候选框处理所需的专用向量操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10001.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=10001(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000880

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 177 — VBS16

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 执行 16 位 bit-sort/候选框专用操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10010.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=10010(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000900

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 178 — VMS4

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 四路 merge-sort 类向量操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10011.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=10011(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000980

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 179 — VEXTRACT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 从向量/通道中抽取元素。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10100.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=10100(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000a00

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 180 — VCONCAT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 拼接向量/通道。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10101.....000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=10101(fixed); [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000f83) == 0x82000a80

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 181 — VMERGECH

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 合并通道。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10110.....010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=10110(fixed); [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000f83) == 0x82000b01

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 182 — RPN_COR_DIAG

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 RPN 对角相关专用操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............10111.....1.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=10111(fixed); [6:2]=Xs; [1]=1(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000b82

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 183 — VTRANSPOSE

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 向量块转置。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000001.............11000.....000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=11000(fixed); [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000f83) == 0x82000c00

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按转置块和 repeat 展开:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 184 — UNDEF184

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 R
参数角色 保留机器码槽;无公共操作数
作用 内部/保留解码槽位,不定义公共语义。
文本语法状态 保留/内部

32 位编码布局

  • 位 31→0 模式:1000001.............11000.....010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:12]=reserved/internal payload; [11:7]=11000(fixed); [6:2]=reserved/internal payload; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000f83) == 0x82000c01

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64(默认)/1(默认)/1(base 默认);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 185 — VSQRT

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 dst/src=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 平方根。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............11001.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=11001(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000c80

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, MASK VSQRT.f16 [X0], [X1], X2, MASK 0x83401c88
dav-c220-vec f32 [Xn], [Xn], Xn, MASK VSQRT.f32 [X0], [X1], X2, MASK 0x83c01c88

汇编器级最小示例:

.text
.a64
VSQRT.f16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:32/14/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 186 — VBS32

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 执行 32 位 bit-sort/候选框专用操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000010.......................100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000010(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:2]=Xs; [1:0]=10(fixed)
  • 解码条件:(word & 0xfe000003) == 0x84000002

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 32 位排序块、repeat 和有效列表展开:32/64/19/17(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 187 — VMS4V2

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SPECIAL
参数角色 指令专用 VA、地址、锁、排序或控制状态
作用 第二版四路 merge-sort 类操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000010.......................110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000010(fixed); [24:22]=mode; [21:17]=operand 0; [16:12]=operand 1; [11:7]=operand 2; [6:2]=Xs; [1:0]=11(fixed)
  • 解码条件:(word & 0xfe000003) == 0x84000003

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector VMSU→4 路读→比较0→比较1→对齐/写回→Vector retire
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{read}}/L_{\mathrm{cmp}}/L_{\mathrm{align}}/L_{\mathrm{write}}\right)-t_{\mathrm{dispatch}}+1+S\)
普通 IBUF 参数不直接驱动此路径
发射间隔 受 VMSU busy、4 路列表、读响应和写回缓存限制
uop 展开 U=U读+U比较0+U比较1+U写回;由 4 路有效列表和列表长度决定,写回对齐缓存上限为 4 组:128/1/1(base);最终由 UB 写回仲裁重算
退休 全部 VMS4V2 uop 完成且最终写回 uop 退休
动态停顿 VMSU busy、UB 读写、四路列表不平衡、比较依赖、align_buf 满

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 188 — VCONV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CONV
参数角色 Xd=目标 UB 地址;Xn=源 UB 地址;Xs=转换配置;MASK=有效 lane;后缀指定转换与舍入
作用 逐 lane 类型转换;后缀包含源/目标类型及舍入/饱和模式。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000110.........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000110(fixed); [24:22]=conversion class; [21:17]=dst; [16:12]=src; [11:7]=Xs; [6:3]=conversion mode; [2:0]=round/subop
  • 解码条件:(word & 0xfe000000) == 0x8c000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec DEQ [Xn], [Xn], Xn, MASK VCONV.DEQ [X0], [X1], X2, MASK 0x8dc0117f
dav-c220-vec DEQs162b8h [Xn], [Xn], Xn, MASK VCONV.DEQs162b8h [X0], [X1], X2, MASK 0x8dc01177
dav-c220-vec DEQs162b8l [Xn], [Xn], Xn, MASK VCONV.DEQs162b8l [X0], [X1], X2, MASK 0x8dc0116f
dav-c220-vec VDEQs162b8h [Xn], [Xn], Xn, MASK VCONV.VDEQs162b8h [X0], [X1], X2, MASK 0x8dc01167
dav-c220-vec VDEQs162b8l [Xn], [Xn], Xn, MASK VCONV.VDEQs162b8l [X0], [X1], X2, MASK 0x8dc0115f
dav-c220-vec bf162f32 [Xn], [Xn], Xn, MASK VCONV.bf162f32 [X0], [X1], X2, MASK 0x8c801100
dav-c220-vec bf162s32a [Xn], [Xn], Xn, MASK VCONV.bf162s32a [X0], [X1], X2, MASK 0x8c801121
dav-c220-vec bf162s32c [Xn], [Xn], Xn, MASK VCONV.bf162s32c [X0], [X1], X2, MASK 0x8c801123
dav-c220-vec bf162s32f [Xn], [Xn], Xn, MASK VCONV.bf162s32f [X0], [X1], X2, MASK 0x8c801122
dav-c220-vec bf162s32r [Xn], [Xn], Xn, MASK VCONV.bf162s32r [X0], [X1], X2, MASK 0x8c801120
dav-c220-vec bf162s32z [Xn], [Xn], Xn, MASK VCONV.bf162s32z [X0], [X1], X2, MASK 0x8c801124
dav-c220-vec f162f32 [Xn], [Xn], Xn, MASK VCONV.f162f32 [X0], [X1], X2, MASK 0x8c401100
dav-c220-vec f162s16a [Xn], [Xn], Xn, MASK VCONV.f162s16a [X0], [X1], X2, MASK 0x8c401129
dav-c220-vec f162s16c [Xn], [Xn], Xn, MASK VCONV.f162s16c [X0], [X1], X2, MASK 0x8c40112b
dav-c220-vec f162s16f [Xn], [Xn], Xn, MASK VCONV.f162s16f [X0], [X1], X2, MASK 0x8c40112a
dav-c220-vec f162s16r [Xn], [Xn], Xn, MASK VCONV.f162s16r [X0], [X1], X2, MASK 0x8c401128
dav-c220-vec f162s16z [Xn], [Xn], Xn, MASK VCONV.f162s16z [X0], [X1], X2, MASK 0x8c40112c
dav-c220-vec f162s32a [Xn], [Xn], Xn, MASK VCONV.f162s32a [X0], [X1], X2, MASK 0x8c401121
dav-c220-vec f162s32c [Xn], [Xn], Xn, MASK VCONV.f162s32c [X0], [X1], X2, MASK 0x8c401123
dav-c220-vec f162s32f [Xn], [Xn], Xn, MASK VCONV.f162s32f [X0], [X1], X2, MASK 0x8c401122
dav-c220-vec f162s32r [Xn], [Xn], Xn, MASK VCONV.f162s32r [X0], [X1], X2, MASK 0x8c401120
dav-c220-vec f162s32z [Xn], [Xn], Xn, MASK VCONV.f162s32z [X0], [X1], X2, MASK 0x8c401124
dav-c220-vec f162s4 [Xn], [Xn], Xn, MASK VCONV.f162s4 [X0], [X1], X2, MASK 0x8c401140
dav-c220-vec f162s4a [Xn], [Xn], Xn, MASK VCONV.f162s4a [X0], [X1], X2, MASK 0x8c401141
dav-c220-vec f162s4c [Xn], [Xn], Xn, MASK VCONV.f162s4c [X0], [X1], X2, MASK 0x8c401143
dav-c220-vec f162s4f [Xn], [Xn], Xn, MASK VCONV.f162s4f [X0], [X1], X2, MASK 0x8c401142
dav-c220-vec f162s4r [Xn], [Xn], Xn, MASK VCONV.f162s4r [X0], [X1], X2, MASK 0x8c401140
dav-c220-vec f162s4z [Xn], [Xn], Xn, MASK VCONV.f162s4z [X0], [X1], X2, MASK 0x8c401144
dav-c220-vec f162s8 [Xn], [Xn], Xn, MASK VCONV.f162s8 [X0], [X1], X2, MASK 0x8c401130
dav-c220-vec f162s8a [Xn], [Xn], Xn, MASK VCONV.f162s8a [X0], [X1], X2, MASK 0x8c401131
dav-c220-vec f162s8c [Xn], [Xn], Xn, MASK VCONV.f162s8c [X0], [X1], X2, MASK 0x8c401133
dav-c220-vec f162s8f [Xn], [Xn], Xn, MASK VCONV.f162s8f [X0], [X1], X2, MASK 0x8c401132
dav-c220-vec f162s8r [Xn], [Xn], Xn, MASK VCONV.f162s8r [X0], [X1], X2, MASK 0x8c401130
dav-c220-vec f162s8z [Xn], [Xn], Xn, MASK VCONV.f162s8z [X0], [X1], X2, MASK 0x8c401134
dav-c220-vec f162u8 [Xn], [Xn], Xn, MASK VCONV.f162u8 [X0], [X1], X2, MASK 0x8c401138
dav-c220-vec f162u8a [Xn], [Xn], Xn, MASK VCONV.f162u8a [X0], [X1], X2, MASK 0x8c401139
dav-c220-vec f162u8c [Xn], [Xn], Xn, MASK VCONV.f162u8c [X0], [X1], X2, MASK 0x8c40113b
dav-c220-vec f162u8f [Xn], [Xn], Xn, MASK VCONV.f162u8f [X0], [X1], X2, MASK 0x8c40113a
dav-c220-vec f162u8r [Xn], [Xn], Xn, MASK VCONV.f162u8r [X0], [X1], X2, MASK 0x8c401138
dav-c220-vec f162u8z [Xn], [Xn], Xn, MASK VCONV.f162u8z [X0], [X1], X2, MASK 0x8c40113c
dav-c220-vec f322bf16a [Xn], [Xn], Xn, MASK VCONV.f322bf16a [X0], [X1], X2, MASK 0x8c001111
dav-c220-vec f322bf16c [Xn], [Xn], Xn, MASK VCONV.f322bf16c [X0], [X1], X2, MASK 0x8c001113
dav-c220-vec f322bf16f [Xn], [Xn], Xn, MASK VCONV.f322bf16f [X0], [X1], X2, MASK 0x8c001112
dav-c220-vec f322bf16r [Xn], [Xn], Xn, MASK VCONV.f322bf16r [X0], [X1], X2, MASK 0x8c001110
dav-c220-vec f322bf16z [Xn], [Xn], Xn, MASK VCONV.f322bf16z [X0], [X1], X2, MASK 0x8c001114
dav-c220-vec f322f16 [Xn], [Xn], Xn, MASK VCONV.f322f16 [X0], [X1], X2, MASK 0x8c001108
dav-c220-vec f322f16a [Xn], [Xn], Xn, MASK VCONV.f322f16a [X0], [X1], X2, MASK 0x8c001109
dav-c220-vec f322f16c [Xn], [Xn], Xn, MASK VCONV.f322f16c [X0], [X1], X2, MASK 0x8c00110b
dav-c220-vec f322f16f [Xn], [Xn], Xn, MASK VCONV.f322f16f [X0], [X1], X2, MASK 0x8c00110a
dav-c220-vec f322f16o [Xn], [Xn], Xn, MASK VCONV.f322f16o [X0], [X1], X2, MASK 0x8c00110d
dav-c220-vec f322f16r [Xn], [Xn], Xn, MASK VCONV.f322f16r [X0], [X1], X2, MASK 0x8c001108
dav-c220-vec f322f16z [Xn], [Xn], Xn, MASK VCONV.f322f16z [X0], [X1], X2, MASK 0x8c00110c
dav-c220-vec f322f32a [Xn], [Xn], Xn, MASK VCONV.f322f32a [X0], [X1], X2, MASK 0x8c001101
dav-c220-vec f322f32c [Xn], [Xn], Xn, MASK VCONV.f322f32c [X0], [X1], X2, MASK 0x8c001103
dav-c220-vec f322f32f [Xn], [Xn], Xn, MASK VCONV.f322f32f [X0], [X1], X2, MASK 0x8c001102
dav-c220-vec f322f32r [Xn], [Xn], Xn, MASK VCONV.f322f32r [X0], [X1], X2, MASK 0x8c001100
dav-c220-vec f322f32z [Xn], [Xn], Xn, MASK VCONV.f322f32z [X0], [X1], X2, MASK 0x8c001104
dav-c220-vec f322s16a [Xn], [Xn], Xn, MASK VCONV.f322s16a [X0], [X1], X2, MASK 0x8c001129
dav-c220-vec f322s16c [Xn], [Xn], Xn, MASK VCONV.f322s16c [X0], [X1], X2, MASK 0x8c00112b
dav-c220-vec f322s16f [Xn], [Xn], Xn, MASK VCONV.f322s16f [X0], [X1], X2, MASK 0x8c00112a
dav-c220-vec f322s16r [Xn], [Xn], Xn, MASK VCONV.f322s16r [X0], [X1], X2, MASK 0x8c001128
dav-c220-vec f322s16z [Xn], [Xn], Xn, MASK VCONV.f322s16z [X0], [X1], X2, MASK 0x8c00112c
dav-c220-vec f322s32a [Xn], [Xn], Xn, MASK VCONV.f322s32a [X0], [X1], X2, MASK 0x8c001121
dav-c220-vec f322s32c [Xn], [Xn], Xn, MASK VCONV.f322s32c [X0], [X1], X2, MASK 0x8c001123
dav-c220-vec f322s32f [Xn], [Xn], Xn, MASK VCONV.f322s32f [X0], [X1], X2, MASK 0x8c001122
dav-c220-vec f322s32r [Xn], [Xn], Xn, MASK VCONV.f322s32r [X0], [X1], X2, MASK 0x8c001120
dav-c220-vec f322s32z [Xn], [Xn], Xn, MASK VCONV.f322s32z [X0], [X1], X2, MASK 0x8c001124
dav-c220-vec f322s64a [Xn], [Xn], Xn, MASK VCONV.f322s64a [X0], [X1], X2, MASK 0x8c001119
dav-c220-vec f322s64c [Xn], [Xn], Xn, MASK VCONV.f322s64c [X0], [X1], X2, MASK 0x8c00111b
dav-c220-vec f322s64f [Xn], [Xn], Xn, MASK VCONV.f322s64f [X0], [X1], X2, MASK 0x8c00111a
dav-c220-vec f322s64r [Xn], [Xn], Xn, MASK VCONV.f322s64r [X0], [X1], X2, MASK 0x8c001118
dav-c220-vec f322s64z [Xn], [Xn], Xn, MASK VCONV.f322s64z [X0], [X1], X2, MASK 0x8c00111c
dav-c220-vec s162f16 [Xn], [Xn], Xn, MASK VCONV.s162f16 [X0], [X1], X2, MASK 0x8d401108
dav-c220-vec s162f16a [Xn], [Xn], Xn, MASK VCONV.s162f16a [X0], [X1], X2, MASK 0x8d401109
dav-c220-vec s162f16c [Xn], [Xn], Xn, MASK VCONV.s162f16c [X0], [X1], X2, MASK 0x8d40110b
dav-c220-vec s162f16f [Xn], [Xn], Xn, MASK VCONV.s162f16f [X0], [X1], X2, MASK 0x8d40110a
dav-c220-vec s162f16r [Xn], [Xn], Xn, MASK VCONV.s162f16r [X0], [X1], X2, MASK 0x8d401108
dav-c220-vec s162f16z [Xn], [Xn], Xn, MASK VCONV.s162f16z [X0], [X1], X2, MASK 0x8d40110c
dav-c220-vec s162f32 [Xn], [Xn], Xn, MASK VCONV.s162f32 [X0], [X1], X2, MASK 0x8d401100
dav-c220-vec s322f32 [Xn], [Xn], Xn, MASK VCONV.s322f32 [X0], [X1], X2, MASK 0x8d001100
dav-c220-vec s322f32a [Xn], [Xn], Xn, MASK VCONV.s322f32a [X0], [X1], X2, MASK 0x8d001101
dav-c220-vec s322f32c [Xn], [Xn], Xn, MASK VCONV.s322f32c [X0], [X1], X2, MASK 0x8d001103
dav-c220-vec s322f32f [Xn], [Xn], Xn, MASK VCONV.s322f32f [X0], [X1], X2, MASK 0x8d001102
dav-c220-vec s322f32r [Xn], [Xn], Xn, MASK VCONV.s322f32r [X0], [X1], X2, MASK 0x8d001100
dav-c220-vec s322f32z [Xn], [Xn], Xn, MASK VCONV.s322f32z [X0], [X1], X2, MASK 0x8d001104
dav-c220-vec s322s16 [Xn], [Xn], Xn, MASK VCONV.s322s16 [X0], [X1], X2, MASK 0x8d001128
dav-c220-vec s322s64 [Xn], [Xn], Xn, MASK VCONV.s322s64 [X0], [X1], X2, MASK 0x8d001118
dav-c220-vec s42f16 [Xn], [Xn], Xn, MASK VCONV.s42f16 [X0], [X1], X2, MASK 0x8dc01157
dav-c220-vec s642f32a [Xn], [Xn], Xn, MASK VCONV.s642f32a [X0], [X1], X2, MASK 0x8cc01101
dav-c220-vec s642f32c [Xn], [Xn], Xn, MASK VCONV.s642f32c [X0], [X1], X2, MASK 0x8cc01103
dav-c220-vec s642f32f [Xn], [Xn], Xn, MASK VCONV.s642f32f [X0], [X1], X2, MASK 0x8cc01102
dav-c220-vec s642f32r [Xn], [Xn], Xn, MASK VCONV.s642f32r [X0], [X1], X2, MASK 0x8cc01100
dav-c220-vec s642f32z [Xn], [Xn], Xn, MASK VCONV.s642f32z [X0], [X1], X2, MASK 0x8cc01104
dav-c220-vec s642s32 [Xn], [Xn], Xn, MASK VCONV.s642s32 [X0], [X1], X2, MASK 0x8cc01120
dav-c220-vec s82f16 [Xn], [Xn], Xn, MASK VCONV.s82f16 [X0], [X1], X2, MASK 0x8d801108
dav-c220-vec u82f16 [Xn], [Xn], Xn, MASK VCONV.u82f16 [X0], [X1], X2, MASK 0x8dc01108

汇编器级最小示例:

.text
.a64
VCONV.DEQ [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按转换模式、repeat、block 和源/目标粒度展开:32/64/128/5/9/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 189 — VADD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 加法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000010.......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000010(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000003) == 0x84000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VADD.f16 [X0], [X1], [X2], X3, MASK 0x8540110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VADD.f32 [X0], [X1], [X2], X3, MASK 0x85c0110c
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VADD.s16 [X0], [X1], [X2], X3, MASK 0x8580110c
dav-c220-vec s32 [Xn], [Xn], [Xn], Xn, MASK VADD.s32 [X0], [X1], [X2], X3, MASK 0x8500110c

汇编器级最小示例:

.text
.a64
VADD.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 190 — VSUB

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 减法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000010.......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000010(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000003) == 0x84000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VSUB.f16 [X0], [X1], [X2], X3, MASK 0x8540110d
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VSUB.f32 [X0], [X1], [X2], X3, MASK 0x85c0110d
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VSUB.s16 [X0], [X1], [X2], X3, MASK 0x8580110d
dav-c220-vec s32 [Xn], [Xn], [Xn], Xn, MASK VSUB.s32 [X0], [X1], [X2], X3, MASK 0x8500110d

汇编器级最小示例:

.text
.a64
VSUB.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 191 — VMAX

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 最大值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000011.......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000011(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000003) == 0x86000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMAX.f16 [X0], [X1], [X2], X3, MASK 0x8740110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMAX.f32 [X0], [X1], [X2], X3, MASK 0x87c0110c
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VMAX.s16 [X0], [X1], [X2], X3, MASK 0x8780110c
dav-c220-vec s32 [Xn], [Xn], [Xn], Xn, MASK VMAX.s32 [X0], [X1], [X2], X3, MASK 0x8700110c

汇编器级最小示例:

.text
.a64
VMAX.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 192 — VMIN

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 最小值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000011.......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000011(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000003) == 0x86000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMIN.f16 [X0], [X1], [X2], X3, MASK 0x8740110d
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMIN.f32 [X0], [X1], [X2], X3, MASK 0x87c0110d
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VMIN.s16 [X0], [X1], [X2], X3, MASK 0x8780110d
dav-c220-vec s32 [Xn], [Xn], [Xn], Xn, MASK VMIN.s32 [X0], [X1], [X2], X3, MASK 0x8700110d

汇编器级最小示例:

.text
.a64
VMIN.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 193 — VMUL

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 乘法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000100.......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000100(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000003) == 0x88000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMUL.f16 [X0], [X1], [X2], X3, MASK 0x8940110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMUL.f32 [X0], [X1], [X2], X3, MASK 0x89c0110c
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VMUL.s16 [X0], [X1], [X2], X3, MASK 0x8980110c
dav-c220-vec s32 [Xn], [Xn], [Xn], Xn, MASK VMUL.s32 [X0], [X1], [X2], X3, MASK 0x8900110c

汇编器级最小示例:

.text
.a64
VMUL.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/8/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 194 — VMLA

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 乘加/累加。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000100.......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000100(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000003) == 0x88000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMLA.f16 [X0], [X1], [X2], X3, MASK 0x8940110d
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMLA.f32 [X0], [X1], [X2], X3, MASK 0x89c0110d
dav-c220-vec fmix [Xn], [Xn], [Xn], Xn, MASK VMLA.fmix [X0], [X1], [X2], X3, MASK 0x8980110d

汇编器级最小示例:

.text
.a64
VMLA.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 及三源有效性展开;部分操作将写回相位设为 2:64/128/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 195 — VDIV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 除法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10001011........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10001011(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=subop
  • 解码条件:(word & 0xff000000) == 0x8b000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VDIV.f16 [X0], [X1], [X2], X3, MASK 0x8b40110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VDIV.f32 [X0], [X1], [X2], X3, MASK 0x8bc0110c

汇编器级最小示例:

.text
.a64
VDIV.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:32/14/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 196 — VADDRELUCONV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CONV
参数角色 Xd=目标 UB 地址;Xn/Xm=两个源 UB 地址;Xs=配置;MASK=有效 lane;conversion_mode=融合转换模式
作用 向量加法、ReLU 与类型转换融合。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10001010......................0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10001010(fixed); [23:22]=conversion class; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1]=0(fixed); [0]=conversion_mode
  • 解码条件:(word & 0xff000002) == 0x8a000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f162s8 [Xn], [Xn], [Xn], Xn, MASK, #imm VADDRELUCONV.f162s8 [X0], [X1], [X2], X3, MASK, #0 0x8a40110c
dav-c220-vec f322f16 [Xn], [Xn], [Xn], Xn, MASK, #imm VADDRELUCONV.f322f16 [X0], [X1], [X2], X3, MASK, #0 0x8a80110c
dav-c220-vec s162s8 [Xn], [Xn], [Xn], Xn, MASK, #imm VADDRELUCONV.s162s8 [X0], [X1], [X2], X3, MASK, #0 0x8a00110c

汇编器级最小示例:

.text
.a64
VADDRELUCONV.f162s8 [X0], [X1], [X2], X3, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
conversion_mode 0..1 1 位;零扩展/枚举 scale=1;alignment=1 融合转换/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/9/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 197 — VSUBRELUCONV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CONV
参数角色 Xd=目标 UB 地址;Xn/Xm=两个源 UB 地址;Xs=配置;MASK=有效 lane;conversion_mode=融合转换模式
作用 向量减法、ReLU 与类型转换融合。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10001010......................1.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10001010(fixed); [23:22]=conversion class; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1]=1(fixed); [0]=conversion_mode
  • 解码条件:(word & 0xff000002) == 0x8a000002

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f162s8 [Xn], [Xn], [Xn], Xn, MASK, #imm VSUBRELUCONV.f162s8 [X0], [X1], [X2], X3, MASK, #0 0x8a40110e
dav-c220-vec f322f16 [Xn], [Xn], [Xn], Xn, MASK, #imm VSUBRELUCONV.f322f16 [X0], [X1], [X2], X3, MASK, #0 0x8a80110e
dav-c220-vec s162s8 [Xn], [Xn], [Xn], Xn, MASK, #imm VSUBRELUCONV.s162s8 [X0], [X1], [X2], X3, MASK, #0 0x8a00110e

汇编器级最小示例:

.text
.a64
VSUBRELUCONV.f162s8 [X0], [X1], [X2], X3, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
conversion_mode 0..1 1 位;零扩展/枚举 scale=1;alignment=1 融合转换/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/9/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 198 — VMADD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 乘加。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010011......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010011(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x93000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMADD.f16 [X0], [X1], [X2], X3, MASK 0x9340110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMADD.f32 [X0], [X1], [X2], X3, MASK 0x93c0110c

汇编器级最小示例:

.text
.a64
VMADD.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 及三源有效性展开;部分操作将写回相位设为 2:64/128/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 199 — VMADDRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 乘加并执行 ReLU。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001001.......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000003) == 0x92000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VMADDRELU.f16 [X0], [X1], [X2], X3, MASK 0x9340110d
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VMADDRELU.f32 [X0], [X1], [X2], X3, MASK 0x93c0110d

汇编器级最小示例:

.text
.a64
VMADDRELU.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 及三源有效性展开;部分操作将写回相位设为 2:64/128/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 200 — VMAXS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 向量与标量逐 lane 取最大值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010110......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010110(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x96000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VMAXS.f16 [X0], [X1], X2, X3, MASK 0x9640110c
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VMAXS.f32 [X0], [X1], X2, X3, MASK 0x96c0110c
dav-c220-vec s16 [Xn], [Xn], Xn, Xn, MASK VMAXS.s16 [X0], [X1], X2, X3, MASK 0x9680110c
dav-c220-vec s32 [Xn], [Xn], Xn, Xn, MASK VMAXS.s32 [X0], [X1], X2, X3, MASK 0x9600110c

汇编器级最小示例:

.text
.a64
VMAXS.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 201 — VMINS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 向量与标量逐 lane 取最小值。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010110......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010110(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xff000003) == 0x96000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VMINS.f16 [X0], [X1], X2, X3, MASK 0x9640110d
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VMINS.f32 [X0], [X1], X2, X3, MASK 0x96c0110d
dav-c220-vec s16 [Xn], [Xn], Xn, Xn, MASK VMINS.s16 [X0], [X1], X2, X3, MASK 0x9680110d
dav-c220-vec s32 [Xn], [Xn], Xn, Xn, MASK VMINS.s32 [X0], [X1], X2, X3, MASK 0x9600110d

汇编器级最小示例:

.text
.a64
VMINS.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 202 — VSHR

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 逐 lane 右移。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10011011......................0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10011011(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1]=0(fixed); [0]=shift_mode
  • 解码条件:(word & 0xff000002) == 0x9b000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec s16 [Xn], [Xn], Xn, Xn, MASK, #imm VSHR.s16 [X0], [X1], X2, X3, MASK, #0 0x9b40110c
dav-c220-vec s32 [Xn], [Xn], Xn, Xn, MASK, #imm VSHR.s32 [X0], [X1], X2, X3, MASK, #0 0x9bc0110c
dav-c220-vec u16 [Xn], [Xn], Xn, Xn, MASK, #imm VSHR.u16 [X0], [X1], X2, X3, MASK, #0 0x9b00110c
dav-c220-vec u32 [Xn], [Xn], Xn, Xn, MASK, #imm VSHR.u32 [X0], [X1], X2, X3, MASK, #0 0x9b80110c

汇编器级最小示例:

.text
.a64
VSHR.s16 [X0], [X1], X2, X3, MASK, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
shift_mode 0..1 1 位;零扩展/枚举 scale=1;alignment=1 移位/控制模式

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 203 — VSHL

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 逐 lane 左移。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:100111001.....................110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:23]=100111001(fixed); [22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1:0]=11(fixed)
  • 解码条件:(word & 0xff800003) == 0x9c800003

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], Xn, Xn, MASK VSHL.b16 [X0], [X1], X2, X3, MASK 0x9c80110f
dav-c220-vec b32 [Xn], [Xn], Xn, Xn, MASK VSHL.b32 [X0], [X1], X2, X3, MASK 0x9cc0110f

汇编器级最小示例:

.text
.a64
VSHL.b16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 204 — VLRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-UNARY
参数角色 Xd=目标 UB 地址;Xn=源 UB 地址;Xm=标量斜率;Xs=配置;MASK=有效 lane
作用 逐 lane Leaky ReLU。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010010......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010010(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=scalar slope; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x92000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VLRELU.f16 [X0], [X1], X2, X3, MASK 0x9240110c
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VLRELU.f32 [X0], [X1], X2, X3, MASK 0x92c0110c

汇编器级最小示例:

.text
.a64
VLRELU.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/8/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 205 — VADDRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 加法并执行 ReLU。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010100......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010100(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x94000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VADDRELU.f16 [X0], [X1], [X2], X3, MASK 0x9440110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VADDRELU.f32 [X0], [X1], [X2], X3, MASK 0x94c0110c
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VADDRELU.s16 [X0], [X1], [X2], X3, MASK 0x9480110c

汇编器级最小示例:

.text
.a64
VADDRELU.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 206 — VSUBRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 减法并执行 ReLU。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010100......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010100(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xff000003) == 0x94000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VSUBRELU.f16 [X0], [X1], [X2], X3, MASK 0x9440110d
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VSUBRELU.f32 [X0], [X1], [X2], X3, MASK 0x94c0110d
dav-c220-vec s16 [Xn], [Xn], [Xn], Xn, MASK VSUBRELU.s16 [X0], [X1], [X2], X3, MASK 0x9480110d

汇编器级最小示例:

.text
.a64
VSUBRELU.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 207 — VCMPVS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CMP
参数角色 Xd=目标 UB 地址;Xn=向量源;Xm=标量源;Xs=配置
作用 向量与标量比较并产生选择/比较掩码。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:100110........................1.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:26]=100110(fixed); [25]=vector op1; [24:22]=dtype; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1]=1(fixed); [0]=condition/subop
  • 解码条件:(word & 0xfc000002) == 0x98000002

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec EQ.f16 [Xn], [Xn], Xn, Xn VCMPVS.EQ.f16 [X0], [X1], X2, X3 0x9a00110e

汇编器级最小示例:

.text
.a64
VCMPVS.EQ.f16 [X0], [X1], X2, X3

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 208 — VGATHERB

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 按字节/块索引聚集。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1000000000...................0110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:3]=Xs; [2:0]=011(fixed)
  • 解码条件:(word & 0xffc00007) == 0x80000003

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按字节/块索引组与 repeat 展开:128/2/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 209 — VBRCB

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 Xd=目标 UB 地址;Xn=源 UB 地址;Xs=广播配置
作用 向量按块广播。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000000000...............100.1000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1000000000(fixed); [21:17]=dst; [16:12]=src; [11:7]=Xs; [6:4]=100(fixed); [3]=broadcast control; [2:0]=100(fixed)
  • 解码条件:(word & 0xffc00077) == 0x80000044

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], Xn VBRCB.b16 [X0], [X1], X2 0x80001144
dav-c220-vec b32 [Xn], [Xn], Xn VBRCB.b32 [X0], [X1], X2 0x8000114c

汇编器级最小示例:

.text
.a64
VBRCB.b16 [X0], [X1], X2

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按广播块与 repeat 展开:64/128/2/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 210 — VREDUCE

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 Xd=目标 UB 地址;Xn/Xm=两个源 UB 地址;Xs=归约配置;MASK=有效 lane
作用 向量归约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:100111010.....................110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:23]=100111010(fixed); [22]=dtype; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=11(fixed)
  • 解码条件:(word & 0xff800003) == 0x9d000003

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], [Xn], Xn, MASK VREDUCE.b16 [X0], [X1], [X2], X3, MASK 0x9d00110f
dav-c220-vec b32 [Xn], [Xn], [Xn], Xn, MASK VREDUCE.b32 [X0], [X1], [X2], X3, MASK 0x9d40110f

汇编器级最小示例:

.text
.a64
VREDUCE.b16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按归约块、repeat 与末块宽度展开:32/64/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 211 — VREDUCEV2

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-REDUCE
参数角色 Xd=目标 UB 地址;Xn/Xm=两个源 UB 地址;Xs=归约配置;MASK=有效 lane
作用 第二版向量归约。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001110.......................100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001110(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=10(fixed)
  • 解码条件:(word & 0xfe000003) == 0x9c000002

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], [Xn], Xn, MASK VREDUCEV2.b16 [X0], [X1], [X2], X3, MASK 0x9d00110e
dav-c220-vec b32 [Xn], [Xn], [Xn], Xn, MASK VREDUCEV2.b32 [X0], [X1], [X2], X3, MASK 0x9d40110e

汇编器级最小示例:

.text
.a64
VREDUCEV2.b16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按归约块、repeat 与末块宽度展开:32/64/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 212 — VAXPY

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 执行 A*X+Y 形式的逐 lane 运算。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010101......................0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010101(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xff000002) == 0x95000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VAXPY.f16 [X0], [X1], X2, X3, MASK 0x9540110c
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VAXPY.f32 [X0], [X1], X2, X3, MASK 0x95c0110c
dav-c220-vec fmix [Xn], [Xn], Xn, Xn, MASK VAXPY.fmix [X0], [X1], X2, X3, MASK 0x9580110c

汇编器级最小示例:

.text
.a64
VAXPY.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 及三源有效性展开;部分操作将写回相位设为 2:64/128/11/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 213 — VADDS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 向量与标量逐 lane 加法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010111......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010111(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x97000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VADDS.f16 [X0], [X1], X2, X3, MASK 0x9740110c
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VADDS.f32 [X0], [X1], X2, X3, MASK 0x97c0110c
dav-c220-vec s16 [Xn], [Xn], Xn, Xn, MASK VADDS.s16 [X0], [X1], X2, X3, MASK 0x9780110c
dav-c220-vec s32 [Xn], [Xn], Xn, Xn, MASK VADDS.s32 [X0], [X1], X2, X3, MASK 0x9700110c

汇编器级最小示例:

.text
.a64
VADDS.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/7/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 214 — VMULS

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-SCALAR
参数角色 dst/vector=UB 地址;scalar=X 源;Xs=配置;MASK=有效 lane
作用 向量与标量逐 lane 乘法。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10010111......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10010111(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=vector src; [11:7]=scalar src; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xff000003) == 0x97000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], Xn, Xn, MASK VMULS.f16 [X0], [X1], X2, X3, MASK 0x9740110d
dav-c220-vec f32 [Xn], [Xn], Xn, Xn, MASK VMULS.f32 [X0], [X1], X2, X3, MASK 0x97c0110d
dav-c220-vec s16 [Xn], [Xn], Xn, Xn, MASK VMULS.s16 [X0], [X1], X2, X3, MASK 0x9780110d
dav-c220-vec s32 [Xn], [Xn], Xn, Xn, MASK VMULS.s32 [X0], [X1], X2, X3, MASK 0x9700110d

汇编器级最小示例:

.text
.a64
VMULS.f16 [X0], [X1], X2, X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/6/8/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 215 — VCMP

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CMP
参数角色 CMPMASK=隐式目标;Xn/Xm=两个向量源;Xs=配置;MASK=有效 lane
作用 比较向量元素并更新比较掩码。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001100.......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001100(fixed); [24:22]=dtype; [21:17]=compare control/CMPMASK; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000003) == 0x98000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
1 X1 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec EQ.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.EQ.f16 CMPMASK, [X0], [X1], X2, MASK 0x99400088
dav-c220-vec EQ.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.EQ.f32 CMPMASK, [X0], [X1], X2, MASK 0x99c00088
dav-c220-vec GE.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.GE.f16 CMPMASK, [X0], [X1], X2, MASK 0x99480088
dav-c220-vec GE.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.GE.f32 CMPMASK, [X0], [X1], X2, MASK 0x99c80088
dav-c220-vec GT.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.GT.f16 CMPMASK, [X0], [X1], X2, MASK 0x99460088
dav-c220-vec GT.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.GT.f32 CMPMASK, [X0], [X1], X2, MASK 0x99c60088
dav-c220-vec LE.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.LE.f16 CMPMASK, [X0], [X1], X2, MASK 0x994a0088
dav-c220-vec LE.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.LE.f32 CMPMASK, [X0], [X1], X2, MASK 0x99ca0088
dav-c220-vec LT.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.LT.f16 CMPMASK, [X0], [X1], X2, MASK 0x99440088
dav-c220-vec LT.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.LT.f32 CMPMASK, [X0], [X1], X2, MASK 0x99c40088
dav-c220-vec NE.f16 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.NE.f16 CMPMASK, [X0], [X1], X2, MASK 0x99420088
dav-c220-vec NE.f32 CMPMASK, [Xn], [Xn], Xn, MASK VCMP.NE.f32 CMPMASK, [X0], [X1], X2, MASK 0x99c20088

汇编器级最小示例:

.text
.a64
VCMP.EQ.f16 CMPMASK, [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 216 — VCMPV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CMP
参数角色 Xd=目标 UB 地址;Xn/Xm=两个向量源;Xs=配置
作用 向量比较并将结果写为向量/掩码。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001100.........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001100(fixed); [24:22]=dtype; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=condition/subop
  • 解码条件:(word & 0xfe000000) == 0x98000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec EQ.f16 [Xn], [Xn], [Xn], Xn VCMPV.EQ.f16 [X0], [X1], [X2], X3 0x9800110d
dav-c220-vec EQ.f32 [Xn], [Xn], [Xn], Xn VCMPV.EQ.f32 [X0], [X1], [X2], X3 0x9800110f
dav-c220-vec GE.f16 [Xn], [Xn], [Xn], Xn VCMPV.GE.f16 [X0], [X1], [X2], X3 0x9900110d
dav-c220-vec GE.f32 [Xn], [Xn], [Xn], Xn VCMPV.GE.f32 [X0], [X1], [X2], X3 0x9900110f
dav-c220-vec GT.f16 [Xn], [Xn], [Xn], Xn VCMPV.GT.f16 [X0], [X1], [X2], X3 0x98c0110d
dav-c220-vec GT.f32 [Xn], [Xn], [Xn], Xn VCMPV.GT.f32 [X0], [X1], [X2], X3 0x98c0110f
dav-c220-vec LE.f16 [Xn], [Xn], [Xn], Xn VCMPV.LE.f16 [X0], [X1], [X2], X3 0x9940110d
dav-c220-vec LE.f32 [Xn], [Xn], [Xn], Xn VCMPV.LE.f32 [X0], [X1], [X2], X3 0x9940110f
dav-c220-vec LT.f16 [Xn], [Xn], [Xn], Xn VCMPV.LT.f16 [X0], [X1], [X2], X3 0x9880110d
dav-c220-vec LT.f32 [Xn], [Xn], [Xn], Xn VCMPV.LT.f32 [X0], [X1], [X2], X3 0x9880110f
dav-c220-vec NE.f16 [Xn], [Xn], [Xn], Xn VCMPV.NE.f16 [X0], [X1], [X2], X3 0x9840110d
dav-c220-vec NE.f32 [Xn], [Xn], [Xn], Xn VCMPV.NE.f32 [X0], [X1], [X2], X3 0x9840110f

汇编器级最小示例:

.text
.a64
VCMPV.EQ.f16 [X0], [X1], [X2], X3

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat/block 生成特殊写回 uop,归约/比较结果可改变末 uop 标记:64/128/5/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 217 — VOR

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 按位或。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10011010......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10011010(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xff000003) == 0x9a000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], [Xn], Xn, MASK VOR.b16 [X0], [X1], [X2], X3, MASK 0x9a40110c

汇编器级最小示例:

.text
.a64
VOR.b16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 218 — VAND

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 逐 lane 按位与。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:10011010......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:24]=10011010(fixed); [23:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xff000003) == 0x9a000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], [Xn], Xn, MASK VAND.b16 [X0], [X1], [X2], X3, MASK 0x9a40110d

汇编器级最小示例:

.text
.a64
VAND.b16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 219 — VSEL

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 按 MASK/CMPMASK 逐 lane 选择。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001110.......................000/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001110(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=00(fixed)
  • 解码条件:(word & 0xfe000003) == 0x9c000000

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f16 [Xn], [Xn], [Xn], Xn, MASK VSEL.f16 [X0], [X1], [X2], X3, MASK 0x9d40110c
dav-c220-vec f32 [Xn], [Xn], [Xn], Xn, MASK VSEL.f32 [X0], [X1], [X2], X3, MASK 0x9dc0110c

汇编器级最小示例:

.text
.a64
VSEL.f16 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按选择掩码、repeat、block 与三源模式展开:64/128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 223 — VMOVMASK_XD

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 把向量比较掩码移动到标量寄存器。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1001111.......................100/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001111(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:2]=Xs; [1:0]=10(fixed)
  • 解码条件:(word & 0xfe000003) == 0x9e000002

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 只生成写侧/控制 uop;数量由目标块决定:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 224 — VMOVMASK_XN

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 UB/VA/索引操作数按具体形式;Xs=配置;MASK=有效 lane
作用 从标量寄存器恢复/设置向量比较掩码。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1001111.......................110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001111(fixed); [24:22]=dtype/op2; [21:17]=dst/VA; [16:12]=src/VA; [11:7]=index/src; [6:2]=Xs; [1:0]=11(fixed)
  • 解码条件:(word & 0xfe000003) == 0x9e000003

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 只生成读侧/控制 uop;数量由 repeat/block 与有效源决定:128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 225 — VMULCONV

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-CONV
参数角色 Xd=目标 UB 地址;Xn/Xm=两个源 UB 地址;Xs=配置;MASK=有效 lane;后缀指定融合转换
作用 向量乘法与类型转换融合。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1001111.......................010/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1001111(fixed); [24:22]=conversion class; [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=01(fixed)
  • 解码条件:(word & 0xfe000003) == 0x9e000001

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x00000f80 7,8,9,10,11 r0->word[7]; r1->word[8]; r2->word[9]; r3->word[10]; r4->word[11]
3 X3 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec f162s8 [Xn], [Xn], [Xn], Xn, MASK VMULCONV.f162s8 [X0], [X1], [X2], X3, MASK 0x9e40110d
dav-c220-vec f162u8 [Xn], [Xn], [Xn], Xn, MASK VMULCONV.f162u8 [X0], [X1], [X2], X3, MASK 0x9e80110d

汇编器级最小示例:

.text
.a64
VMULCONV.f162s8 [X0], [X1], [X2], X3, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:128/10/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 226 — VADDDEQRELU

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-BINARY
参数角色 dst/src0/src1=UB 地址;Xs=repeat/stride;MASK=有效 lane
作用 向量加法、反量化与 ReLU 融合。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:1001111011....................110/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:22]=1001111011(fixed); [21:17]=dst; [16:12]=src0; [11:7]=src1; [6:2]=Xs; [1:0]=11(fixed)
  • 解码条件:(word & 0xffc00003) == 0x9ec00003

公共文本形式

当前 c220 后端没有接受该目录项的完整文本形式。OP<dtype><mode> 等占位符不是汇编语法;目录样例字只用于机器格式识别,不能作为可运行内核。

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/10/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字

ID 227 — VCOPY

项目 内容
指令域/执行位置 vector / Vector(pipe 1)
格式类 V-MOVE
参数角色 Xd=目标 UB 地址;Xn=源 UB 地址;Xs=复制配置;MASK=有效 lane
作用 按向量地址/步长描述复制。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:1000001.............01110.....0.0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:25]=1000001(fixed); [24:22]=dtype/op2; [21:17]=dst; [16:12]=src; [11:7]=01110(fixed); [6:2]=Xs; [1]=0(fixed); [0]=subop
  • 解码条件:(word & 0xfe000f82) == 0x82000700

X 寄存器操作数位域

下表通过逐个改变该 X 操作数的 5 个编号位得到;word bits 是机器字中的精确承载位。

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x003e0000 17,18,19,20,21 r0->word[17]; r1->word[18]; r2->word[19]; r3->word[20]; r4->word[21]
1 X1 0x0001f000 12,13,14,15,16 r0->word[12]; r1->word[13]; r2->word[14]; r3->word[15]; r4->word[16]
2 X2 0x0000007c 2,3,4,5,6 r0->word[2]; r1->word[3]; r2->word[4]; r3->word[5]; r4->word[6]

c220 接受的后缀与操作数组合

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-vec b16 [Xn], [Xn], Xn, MASK VCOPY.b16 [X0], [X1], X2, MASK 0x82401708
dav-c220-vec b32 [Xn], [Xn], Xn, MASK VCOPY.b32 [X0], [X1], X2, MASK 0x82801708

汇编器级最小示例:

.text
.a64
VCOPY.b16 [X0], [X1], X2, MASK

周期与冲突

项目 架构周期模型
路径 CCU Vector issue→Vector IBUF/uop→UB 读→Vector EXEU→UB/特殊目标写回→retire delay→退休
延迟/公式 \(T=\max_{i}\!\left(t_{\mathrm{issue},i}+L_{\mathrm{rd},i}+L_{\mathrm{ex},i}+L_{\mathrm{wr,actual},i}\right)-t_{\mathrm{dispatch}}+1\)
uop 可重叠,不能简单求和
发射间隔 IBUF/EXEU/UB 端口空闲时每拍推进;同 op 相关、bank 和前序写回可限流
uop 展开 按 repeat、block、mask、地址步长和跨 bank 拆分;空结果仍补 1 个占位 uop:64/128/1/1(base);最终由 UB 写回仲裁重算
退休 带末 uop 标记的 uop 完成写回;无目标路径在控制完成点退休
动态停顿 IBUF 深度、RAW/WAW/mask hazard、UB bank/port、前序同 op 最小间隔、写回队列

这些数值是架构周期模型,不是 910B 芯片的实测吞吐率。设备结果状态:待目标设备执行。 数值异常、掩码、描述字和访存副作用分别见数值语义MASK/VA 与访存配置字