跳转至

Flow 与同步指令

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

目录速览

ID 解码名 助记符 格式 作用 状态
63 JUMP JUMP F-PC PC 相对无条件跳转。 c220 汇编器接受
64 JUMPC JUMPC F-PC 根据隐式条件状态执行 PC 相对跳转。 c220 汇编器接受
65 JUMPR JUMPR F-REG 跳转到标量寄存器给出的地址。 c220 汇编器接受
66 PRELOAD PRELOAD F-SPECIAL 控制流/指令预取提示。 c220 汇编器接受
67 DCCI DCCI F-SPECIAL 数据缓存维护/失效操作。 c220 汇编器接受
68 CALL CALL F-PC PC 相对调用并设置链接寄存器。 c220 汇编器接受
69 CALLR CALLR F-REG 寄存器间接调用并设置链接寄存器。 c220 汇编器接受
70 BAR_SET BAR_SET F-SYNC 设置屏障状态。 仅机器格式;无 c220 公共语法
71 BAR_WAIT BAR_WAIT F-SYNC 等待屏障状态。 仅机器格式;无 c220 公共语法
72 RET RET F-NONE 从 X31/链接寄存器返回。 c220 汇编器接受
73 TRAP TRAP F-SPECIAL 触发陷阱。 c220 汇编器接受
74 LOOP LOOP F-LOOP 建立硬件循环。 c220 汇编器接受
75 SET_FLAG SET_FLAG F-SYNC 向另一执行流水线发布事件标志。 c220 汇编器接受
76 WAIT_FLAG WAIT_FLAG F-SYNC 等待另一执行流水线的事件标志。 c220 汇编器接受
77 BAR BAR F-SYNC 屏障编码类;具体后缀、参与范围和可见性域需按目标生成序列确认。 c220 汇编器接受
78 NOP_PIPE NOP_PIPE F-SPECIAL 指定流水线的空操作。 仅机器格式;无 c220 公共语法
79 ENDLOOP ENDLOOP F-NONE 结束硬件循环体。 c220 汇编器接受
80 NOP NOP F-NONE 空操作。 c220 汇编器接受
81 END END F-NONE 结束当前 AI Core 内核。 c220 汇编器接受
82 BREAK BREAK F-NONE 按当前执行上下文中断循环或内核控制流程。 c220 汇编器接受
83 ADRP ADRP F-SPECIAL 构造 PC 相对页地址。 c220 汇编器接受
84 DSB DSB F-SPECIAL 数据同步屏障。 c220 汇编器接受
85 HSET_FLAG HSET_FLAG F-SYNC 层次化/硬件事件置位。 仅机器格式;无 c220 公共语法
86 HWAIT_FLAG HWAIT_FLAG F-SYNC 层次化/硬件事件等待。 仅机器格式;无 c220 公共语法
87 JUMPCMP JUMPCMP F-CMP 比较标量操作数并条件跳转。 c220 汇编器接受
89 WAIT_FLAG_DEV WAIT_FLAG_DEV F-SYNC 等待设备侧事件标志。 仅机器格式;无 c220 公共语法
90 WAIT_FLAG_DEVI WAIT_FLAG_DEV F-SYNC 使用立即数形式等待设备侧事件标志。 c220 汇编器接受
91 SET_CROSS_CORE SET_CROSS_CORE F-SYNC 设置跨核同步事件。 仅机器格式;无 c220 公共语法

逐指令说明

ID 63 — JUMP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-PC
参数角色 target=PC 相对目标;机器位移按指令字计数
作用 PC 相对无条件跳转。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0000.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0000(fixed); [20:16]=PC-relative target; [15:0]=pc_displacement
  • 解码条件:(word & 0xe1e00000) == 0x40000000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm JUMP #0 0x40000000

汇编器级最小示例:

.text
.a64
JUMP #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
pc_displacement -32768..32767 16 位;符号扩展 scale=4;alignment=4 有符号指令字位移;标签字节位移除以 4 后重定位

周期与冲突

项目 架构周期模型
路径 CCU 控制执行→IFU 目标更新
延迟/公式 \(T=1+R_{\mathrm{redirect}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 目标/链接状态更新后
动态停顿 前端重定向、取指队列刷新

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

ID 64 — JUMPC

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-PC
参数角色 target=PC 相对目标;机器位移按指令字计数
作用 根据隐式条件状态执行 PC 相对跳转。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0001000..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0001000(fixed); [17:16]=PC-relative target; [15:0]=pc_displacement
  • 解码条件:(word & 0xe1fc0000) == 0x40200000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm JUMPC #0 0x40200000

汇编器级最小示例:

.text
.a64
JUMPC #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
pc_displacement -32768..32767 16 位;符号扩展 scale=4;alignment=4 有符号指令字位移;标签字节位移除以 4 后重定位

周期与冲突

项目 架构周期模型
路径 CCU 比较/条件→IFU 预测校正
延迟/公式 \(T=1+R_{\mathrm{mispredict}}\)
预测正确时 R=0
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 条件解析并完成必要校正后
动态停顿 寄存器相关、预测错误、I-cache

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

ID 65 — JUMPR

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-REG
参数角色 Xn=间接跳转/调用目标
作用 跳转到标量寄存器给出的地址。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0001001..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0001001(fixed); [17]=subop/control; [16:12]=target register; [11:0]=control
  • 解码条件:(word & 0xe1fc0000) == 0x40240000

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]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) Xn JUMPR X0 0x40240000

汇编器级最小示例:

.text
.a64
JUMPR X0

周期与冲突

项目 架构周期模型
路径 Scalar 读寄存器→CCU→IFU 目标更新
延迟/公式 \(T=1+R_{\mathrm{redirect}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 间接目标和链接状态更新后
动态停顿 源寄存器 RAW、前端重定向

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

ID 66 — PRELOAD

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SPECIAL
参数角色 Xn=预取地址;Xm=预取描述/控制
作用 控制流/指令预取提示。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0001010..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0001010(fixed); [17]=preload control; [16:12]=address; [11:7]=descriptor; [6:0]=control
  • 解码条件:(word & 0xe1fc0000) == 0x40280000

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]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) Xn, Xn PRELOAD X0, X1 0x40280080

汇编器级最小示例:

.text
.a64
PRELOAD X0, X1

周期与冲突

项目 架构周期模型
路径 CCU→IFU preload/取指提示
延迟/公式 \(T_{\mathrm{issue}}=1\)
预取效果异步
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 提示被接受后
动态停顿 前端队列、I-cache/BIU

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

ID 67 — DCCI

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SPECIAL
参数角色 Xn=缓存地址;mode=缓存维护模式
作用 数据缓存维护/失效操作。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0001011..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0001011(fixed); [17]=mode; [16:12]=address; [11:0]=control
  • 解码条件:(word & 0xe1fc0000) == 0x402c0000

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]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) Xn, #imm DCCI X0, #0 0x402c0000

汇编器级最小示例:

.text
.a64
DCCI X0, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
mode 0..1 1 位;零扩展/枚举 scale=1;alignment=1 缓存维护操作模式

周期与冲突

项目 架构周期模型
路径 CCU→Scalar LSU→D-cache/STB/BIU
延迟/公式 \(T=1+W_{\mathrm{dcache\,clean/invalidate}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 指定维护动作完成后
动态停顿 dirty line、STB、miss/refill、BIU

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

ID 68 — CALL

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-PC
参数角色 target=PC 相对目标;机器位移按指令字计数
作用 PC 相对调用并设置链接寄存器。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0010000..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0010000(fixed); [17:16]=PC-relative target; [15:0]=pc_displacement
  • 解码条件:(word & 0xe1fc0000) == 0x40400000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm CALL #0 0x40400000

汇编器级最小示例:

.text
.a64
CALL #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
pc_displacement -32768..32767 16 位;符号扩展 scale=4;alignment=4 有符号指令字位移;标签字节位移除以 4 后重定位

周期与冲突

项目 架构周期模型
路径 CCU 控制执行→IFU 目标更新
延迟/公式 \(T=1+R_{\mathrm{redirect}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 目标/链接状态更新后
动态停顿 前端重定向、取指队列刷新

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

ID 69 — CALLR

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-REG
参数角色 Xn=间接跳转/调用目标
作用 寄存器间接调用并设置链接寄存器。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0010001..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0010001(fixed); [17]=subop/control; [16:12]=target register; [11:0]=control
  • 解码条件:(word & 0xe1fc0000) == 0x40440000

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]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) Xn CALLR X0 0x40440000

汇编器级最小示例:

.text
.a64
CALLR X0

周期与冲突

项目 架构周期模型
路径 Scalar 读寄存器→CCU→IFU 目标更新
延迟/公式 \(T=1+R_{\mathrm{redirect}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 间接目标和链接状态更新后
动态停顿 源寄存器 RAW、前端重定向

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

ID 70 — BAR_SET

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 设置屏障状态。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....0010011..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0010011(fixed); [17:16]=src/dst pipe; [15:0]=event/control
  • 解码条件:(word & 0xe1fc0000) == 0x404c0000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 解码→Flow issue(无匹配处理器)
延迟/公式 \(\mathrm{N/A}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 不能作为有效 架构模型 时序指令使用
动态停顿 发射失败/错误路径

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

ID 71 — BAR_WAIT

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 等待屏障状态。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....0010100..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=0010100(fixed); [17:16]=src/dst pipe; [15:0]=event/control
  • 解码条件:(word & 0xe1fc0000) == 0x40500000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 解码→Flow issue(无匹配处理器)
延迟/公式 \(\mathrm{N/A}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 不能作为有效 架构模型 时序指令使用
动态停顿 发射失败/错误路径

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

ID 72 — RET

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-NONE
参数角色 无显式操作数;读写 PC、链接或内核控制状态
作用 从 X31/链接寄存器返回。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0011....11111............0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0011(fixed); [20:17]=implicit/control; [16:12]=11111(fixed); [11:0]=implicit/control
  • 解码条件:(word & 0xe1e1f000) == 0x4061f000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) RET 0x4061f000

汇编器级最小示例:

.text
.a64
RET

周期与冲突

项目 架构周期模型
路径 Scalar 读寄存器→CCU→IFU 目标更新
延迟/公式 \(T=1+R_{\mathrm{redirect}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 间接目标和链接状态更新后
动态停顿 源寄存器 RAW、前端重定向

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

ID 73 — TRAP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SPECIAL
参数角色 无显式操作数;触发陷阱
作用 触发陷阱。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0011....11110............0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0011(fixed); [20:17]=instruction-specific payload; [16:12]=11110(fixed); [11:0]=instruction-specific payload
  • 解码条件:(word & 0xe1e1f000) == 0x4061e000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) TRAP 0x4061e000

汇编器级最小示例:

.text
.a64
TRAP

周期与冲突

项目 架构周期模型
路径 CCU Flow 控制路径
延迟/公式 \(T=1\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 本拍控制动作完成后
动态停顿 仅受 Flow 发射口占用

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

ID 74 — LOOP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-LOOP
参数角色 target=循环边界/位移;循环计数为隐式状态
作用 建立硬件循环。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0100.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0100(fixed); [20:8]=PC-relative boundary; [7:0]=pc_displacement
  • 解码条件:(word & 0xe1e00000) == 0x40800000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm LOOP #0 0x40800000

汇编器级最小示例:

.text
.a64
LOOP #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
pc_displacement 0..255 8 位;零扩展/枚举 scale=4;alignment=4 无符号指令字位移;标签按 4 字节对齐

周期与冲突

项目 架构周期模型
路径 CCU→IFU loop buffer/循环状态
延迟/公式 \(T=1+W_{\mathrm{loopbuf}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 循环状态更新后
动态停顿 loop buffer 可用性、前端重定向

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

ID 75 — SET_FLAG

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 向另一执行流水线发布事件标志。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0101.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0101(fixed); [20:19]=src/dst pipe; [18]=event; [17:16]=src/dst pipe; [15:2]=event/control; [1:0]=event
  • 解码条件:(word & 0xe1e00000) == 0x40a00000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec S.V #imm SET_FLAG.S.V #2 0x40a00082

汇编器级最小示例:

.text
.a64
SET_FLAG.S.V #2

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
event 0..7 3 位;零扩展/枚举 scale=1;alignment=1 字面字段值

周期与冲突

项目 架构周期模型
路径 CCU→事件表→目标 pipe token
延迟/公式 \(T=1+W_{\mathrm{event\,table}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 token 成功写入后
动态停顿 事件表 almost-full、目标事件槽

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

ID 76 — WAIT_FLAG

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 等待另一执行流水线的事件标志。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0110.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0110(fixed); [20:19]=src/dst pipe; [18]=event; [17:16]=src/dst pipe; [15:2]=event/control; [1:0]=event
  • 解码条件:(word & 0xe1e00000) == 0x40c00000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec S.V #imm WAIT_FLAG.S.V #2 0x40c00082

汇编器级最小示例:

.text
.a64
WAIT_FLAG.S.V #2

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
event 0..7 3 位;零扩展/枚举 scale=1;alignment=1 字面字段值

周期与冲突

项目 架构周期模型
路径 CCU→事件表匹配→消费 token
延迟/公式 \(T=1+W_{\mathrm{matching\,token}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 匹配 token 被消费后
动态停顿 源 pipe 尚未完成、事件 ID/内存 ID 不匹配

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

ID 77 — BAR

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 屏障编码类;具体后缀、参与范围和可见性域需按目标生成序列确认。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....0111.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=0111(fixed); [20:16]=src/dst pipe; [15:0]=event/control
  • 解码条件:(word & 0xe1e00000) == 0x40e00000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec S (无显式操作数) BAR.S 0x40e00000
dav-c220-cube, dav-c220-vec V (无显式操作数) BAR.V 0x40e00400

汇编器级最小示例:

.text
.a64
BAR.S

周期与冲突

项目 架构周期模型
路径 CCU→所选 pipe barrier 表
延迟/公式 \(T=1+W_{\mathrm{selected\,pipe\,retire}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 关联 connect-id 之前的工作退休后
动态停顿 目标 issue queue、未退休 uop;Scalar BAR.S 在本模型按 NOP

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

ID 78 — NOP_PIPE

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SPECIAL
参数角色 指令专用控制、缓存或地址参数
作用 指定流水线的空操作。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....1000.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1000(fixed); [20:0]=instruction-specific payload
  • 解码条件:(word & 0xe1e00000) == 0x41000000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 CCU→pipe 等待分派路径
延迟/公式 \(T=1+W_{\mathrm{selected\,pipe}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 所选 pipe 条件满足后
动态停顿 目标 pipe busy/事件条件

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

ID 79 — ENDLOOP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-NONE
参数角色 无显式操作数;读写 PC、链接或内核控制状态
作用 结束硬件循环体。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1001.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1001(fixed); [20:0]=implicit/control
  • 解码条件:(word & 0xe1e00000) == 0x41200000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) ENDLOOP 0x41200000

汇编器级最小示例:

.text
.a64
ENDLOOP

周期与冲突

项目 架构周期模型
路径 CCU→IFU loop buffer/循环状态
延迟/公式 \(T=1+W_{\mathrm{loopbuf}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 循环状态更新后
动态停顿 loop buffer 可用性、前端重定向

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

ID 80 — NOP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-NONE
参数角色 无显式操作数;读写 PC、链接或内核控制状态
作用 空操作。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1010.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1010(fixed); [20:0]=implicit/control
  • 解码条件:(word & 0xe1e00000) == 0x41400000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) NOP 0x41400000

汇编器级最小示例:

.text
.a64
NOP

周期与冲突

项目 架构周期模型
路径 CCU Flow NOP
延迟/公式 \(T=1\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 当拍完成
动态停顿 仅受 Flow 发射口占用

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

ID 81 — END

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-NONE
参数角色 无显式操作数;读写 PC、链接或内核控制状态
作用 结束当前 AI Core 内核。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1011.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1011(fixed); [20:0]=implicit/control
  • 解码条件:(word & 0xe1e00000) == 0x41600000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) END 0x41600000

汇编器级最小示例:

.text
.a64
END

周期与冲突

项目 架构周期模型
路径 CCU END→全单元完成检查
延迟/公式 \(T=1+W_{\mathrm{early\,end/drain}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 要求的队列和执行单元排空后
动态停顿 Vector/Cube/MTE/Fixpipe/存储未完成

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

ID 82 — BREAK

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-NONE
参数角色 无显式操作数;读写 PC、链接或内核控制状态
作用 按当前执行上下文中断循环或内核控制流程。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1100.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1100(fixed); [20:0]=implicit/control
  • 解码条件:(word & 0xe1e00000) == 0x41800000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) (无显式操作数) BREAK 0x41800000

汇编器级最小示例:

.text
.a64
BREAK

周期与冲突

项目 架构周期模型
路径 CCU Flow 控制路径
延迟/公式 \(T=1\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 本拍控制动作完成后
动态停顿 仅受 Flow 发射口占用

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

ID 83 — ADRP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SPECIAL
参数角色 Xd=目标页地址;page_displacement=PC 相对页位移
作用 构造 PC 相对页地址。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1101.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1101(fixed); [20:16]=Xd; [15:0]=page_displacement
  • 解码条件:(word & 0xe1e00000) == 0x41a00000

X 寄存器操作数位域

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

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x001f0000 16,17,18,19,20 r0->word[16]; r1->word[17]; r2->word[18]; r3->word[19]; r4->word[20]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) Xn, #imm ADRP X0, #0 0x41a00000

汇编器级最小示例:

.text
.a64
ADRP X0, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
page_displacement -32768..32767 16 位;符号扩展 scale=4096;alignment=4096 PC 低 12 位清零后加有符号页位移

周期与冲突

项目 架构周期模型
路径 CCU PC 相对地址生成→Scalar 写回
延迟/公式 \(T=1\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 地址结果写回后
动态停顿 目标寄存器 WAW

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

ID 84 — DSB

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SPECIAL
参数角色 指令专用控制、缓存或地址参数
作用 数据同步屏障。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1110.....................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1110(fixed); [20:18]=instruction-specific payload; [17:16]=mode; [15:0]=instruction-specific payload
  • 解码条件:(word & 0xe1e00000) == 0x41c00000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm DSB #0 0x41c00000

汇编器级最小示例:

.text
.a64
DSB #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
mode 0..3 2 位;零扩展/枚举 scale=1;alignment=1 字面字段值

周期与冲突

项目 架构周期模型
路径 CCU Flow 控制路径
延迟/公式 \(T=1\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 本拍控制动作完成后
动态停顿 仅受 Flow 发射口占用

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

ID 85 — HSET_FLAG

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 层次化/硬件事件置位。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....1111...............0.....0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1111(fixed); [20:16]=src/dst pipe; [15:6]=event/control; [5]=0(fixed); [4:0]=event/control
  • 解码条件:(word & 0xe1e00020) == 0x41e00000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 CCU→事件表→目标 pipe token
延迟/公式 \(T=1+W_{\mathrm{event\,table}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 token 成功写入后
动态停顿 事件表 almost-full、目标事件槽

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

ID 86 — HWAIT_FLAG

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 层次化/硬件事件等待。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....1111...............1.....0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:21]=1111(fixed); [20:16]=src/dst pipe; [15:6]=event/control; [5]=1(fixed); [4:0]=event/control
  • 解码条件:(word & 0xe1e00020) == 0x41e00020

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 CCU→事件表匹配→消费 token
延迟/公式 \(T=1+W_{\mathrm{matching\,token}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 匹配 token 被消费后
动态停顿 源 pipe 尚未完成、事件 ID/内存 ID 不匹配

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

ID 87 — JUMPCMP

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-CMP
参数角色 Xn/Xm=比较源;cond/dtype=比较条件与数据类型;target=PC 相对目标
作用 比较标量操作数并条件跳转。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:01001...........................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:27]=01001(fixed); [26:25]=flow class; [24:21]=Xm; [20:16]=compare control; [15]=Xm; [14:10]=compare control; [9:5]=Xn; [4:0]=pc_displacement
  • 解码条件:(word & 0xf8000000) == 0x48000000

X 寄存器操作数位域

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

操作数序号 样例 token 编码掩码 word bits 输入位→机器位
0 X0 0x000003e0 5,6,7,8,9 r0->word[5]; r1->word[6]; r2->word[7]; r3->word[8]; r4->word[9]
1 X1 0x01e08000 15,21,22,23,24 r0->word[15]; r1->word[21]; r2->word[22]; r3->word[23]; r4->word[24]

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec EQ.s64 Xn, Xn, #imm JUMPCMP.EQ.s64 X0, X1, #0 0x48028000

汇编器级最小示例:

.text
.a64
JUMPCMP.EQ.s64 X0, X1, #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
pc_displacement -16..15 5 位;符号扩展 scale=4;alignment=4 公共字面量形式中的有符号指令字位移

周期与冲突

项目 架构周期模型
路径 CCU 比较/条件→IFU 预测校正
延迟/公式 \(T=1+R_{\mathrm{mispredict}}\)
预测正确时 R=0
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 条件解析并完成必要校正后
动态停顿 寄存器相关、预测错误、I-cache

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

ID 89 — WAIT_FLAG_DEV

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 等待设备侧事件标志。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....1111001..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=1111001(fixed); [17:16]=src/dst pipe; [15:0]=event/control
  • 解码条件:(word & 0xe1fc0000) == 0x41e40000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 CCU→设备 flag 接口
延迟/公式 \(T=1+W_{\mathrm{device\,flag}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 设备 flag 匹配后
动态停顿 设备侧事件到达时间

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

ID 90 — WAIT_FLAG_DEV(WAIT_FLAG_DEVI)

项目 内容
指令域/执行位置 flow / Flow(pipe 11)
格式类 F-SYNC
参数角色 event=设备侧事件槽编号
作用 使用立即数形式等待设备侧事件标志。
文本语法状态 c220 汇编器接受

32 位编码布局

  • 位 31→0 模式:010....1111011..................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:18]=1111011(fixed); [17:16]=src/dst pipe; [15:8]=event/control; [7:0]=event
  • 解码条件:(word & 0xe1fc0000) == 0x41ec0000

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

CPU 后缀 操作数形状 可复制语法 编码
dav-c220-cube, dav-c220-vec (无后缀) #imm WAIT_FLAG_DEV #0 0x41ec0000

汇编器级最小示例:

.text
.a64
WAIT_FLAG_DEV #0

立即数规则

操作数 范围 位宽/扩展 缩放/对齐 解释
event 0..255 8 位;零扩展/枚举 scale=1;alignment=1 字面字段值

周期与冲突

项目 架构周期模型
路径 CCU→设备 flag 接口
延迟/公式 \(T=1+W_{\mathrm{device\,flag}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 设备 flag 匹配后
动态停顿 设备侧事件到达时间

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

ID 91 — SET_CROSS_CORE

项目 内容
指令域/执行位置 flow / Scalar(pipe 0)
格式类 F-SYNC
参数角色 src/dst=执行域;event=事件槽;屏障形式可无 event
作用 设置跨核同步事件。
文本语法状态 仅机器格式;无 c220 公共语法

32 位编码布局

  • 位 31→0 模式:010....111110...................0/1 为固定值,. 为该解码项的可变位)。
  • 完整分段:[31:29]=010(fixed); [28:25]=flow class; [24:19]=111110(fixed); [18:16]=src/dst pipe; [15:0]=event/control
  • 解码条件:(word & 0xe1f80000) == 0x41f00000

公共文本形式

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

周期与冲突

项目 架构周期模型
路径 CCU→事件表→目标 pipe token
延迟/公式 \(T=1+W_{\mathrm{event\,table}}\)
发射间隔 条件满足时可在一次 Flow 发射机会完成;等待/重定向会形成前端反压
uop 展开 无数据 uop;事件/屏障类生成或消费一个控制 token:—/—/—
退休 token 成功写入后
动态停顿 事件表 almost-full、目标事件槽

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