00. SG2262 C2C 子系统 -- 系统总览
文档定位: 行为级技术参考,面向仿真建模工程师。描述硬件做什么、怎么做、什么时候做。
信息来源标注: [DOC] = SG2262 C2C 方案设计文档, [PPT] = C2C Feature List PPT, [推导] = 从文档推导
设计目标与系统概述
核心设计目标
[DOC] SG2262 C2C 子系统基于 Ethernet 二层协议实现芯片间互联,设计指标:
| 参数 | 规格 | 来源 |
|---|---|---|
| 最大互联规模 | 1024 颗芯片 | [DOC] |
| 协议基础 | Ethernet L2 (复用交换机生态) | [DOC] |
| SerDes 速率 | 56 Gbps / 112 Gbps | [DOC] |
| 链路组合 | x4 / x8 | [DOC] |
| C2C 端口 | 每芯片 8 组 x4 Link | [DOC] |
| PCIe 端口 | 每芯片 1 组 x16 Link | [DOC] |
两种系统模式
[DOC] SG2262 支持两种互联系统,均走同一套 C2C 协议栈:
| 系统 | 互联方式 | 规模 | 典型场景 |
|---|---|---|---|
| 系统一 | 通过交换机互联 | 最多 1024 芯片 | 大规模训练/推理集群 |
| 系统二 | Ethernet 点对点直连 | 小规模 (2-32 芯片) | 服务器内互联、低成本部署 |
支持的拓扑类型
[DOC] 支持拓扑:clos、all2all、torus、mesh、ring、cube。拓扑可分单层和两层 (L1 cluster 内 + L2 cluster 间)。
完整 Feature List
数据传输能力
| Feature | 说明 | 来源 |
|---|---|---|
| 常规读写 | 读写其他芯片内存 | [DOC] |
| Write + MSG Sync | 写完成后触发接收方 msg 同步 | [DOC] |
| Write + Atomic | 写完成后触发接收方 atomic 写操作(不支持 atomic 读) | [DOC] |
| All Reduce | 支持在网计算 (scale + reduce_sum),硬件加速 | [DOC] |
| Send/Receive | 点对点配对通信;每个 CDMA Thread 一对一配对 | [DOC] |
| 芯片转发 | MAC 帧通过 SG2262 转发到其他芯片 | [DOC] |
| 广播/多播 | 支持(待确认) | [PPT] |
| 概率拼包 | 小报文合并发送,提升传输效率 | [DOC] |
保序与同步
| Feature | 说明 | 来源 |
|---|---|---|
| fence 指令 | CDMA 通过 fence 建立屏障,确保屏障前所有搬运指令完成后才执行屏障后指令 | [DOC] |
| 保序窗口 | 可配置 8/12/32 个地址区域的写保序,支持 OSTD(多个请求命中保序窗口不阻塞后续发射) | [DOC] |
| CHS (post_write) | 硬件沿路保序:MAC 保序 -> 交换系统保序 -> 转发保序 -> 写 Memory 保序 | [DOC] |
| CFS (non_post_write) | fence 指令保序,CDMA 指令切换不等 resp 回收 | [DOC] |
| Bresp 拼包 | c2c_sys_top 通过 CAM 结构缓存 bresp,相同 dst macid 的 bresp merge 成一笔报文 | [DOC] |
可靠性
| Feature | 说明 | 来源 |
|---|---|---|
| LLR | Link Level Retry,链路级重传 | [DOC] |
| E2E Retry | 端到端重传 | [DOC] |
| CBFC | Credit-Based Flow Control | [DOC] |
| CRC 校验 | 所有 C2C 报文添加 CRC | [DOC] |
| Memory Protect | 非法地址访问中断上报 | [DOC] |
| 隔离模式 | 错误芯片可隔离不扩散 | [DOC] |
All Reduce 操作码表
[DOC] All Reduce 操作通过 AXI awuser 信号携带。
opcode (归约操作):
| 操作 | opcode | C2C 映射 (2 bit) | 描述 |
|---|---|---|---|
| nop | 4'b0 | 2'b00 | 无操作 |
| max | 4'b10 | 2'b01 | 取最大值 |
| min | 4'b11 | 2'b10 | 取最小值 |
| add | 4'b100 | 2'b11 | 加法 |
dtype (支持的数据类型):
| 值 | 类型 | C2C 映射 (2 bit) |
|---|---|---|
4'b0 | fp32 | 2'b00 |
4'b1 | fp20 | 2'b01 |
4'b10 | fp16 | 2'b10 |
4'b11 | bp16 (bfloat16) | 2'b11 |
[PPT] All Reduce 支持 scale + reduce_sum 组合操作。
硬件约束与限制
以下为设计文档明确列出的硬件约束,直接影响仿真建模时的行为假设。
| # | 约束 | 说明 | 建模影响 | 来源 |
|---|---|---|---|---|
| 1 | 路径唯一 | 不支持 ECMP 等多路径算法;同 src macid + 同 dst macid + 同 hash value 时,交换机路径相同且严格保序 | 仿真中每对 src-dst 只有一条确定路径,不需要建模多路径选择 | [DOC] |
| 2 | AXI 4KB Boundary vs MAC 1.5KB MTU | 当前仅支持 512B / 256B AXI 报文;实现长报文会导致 NoC 性能下降,实现 C2C 自动封包/拆包会导致 PAXI 面积增加 | 仿真中报文长度上限为 512B,需要建模报文切分开销 | [DOC] |
| 3 | Send/Receive 限制 | 每个 CDMA Thread 只能同时与一颗芯片的一个 CDMA Thread 做 Send/Receive 交互(一对一配对) | Send/Receive 通信建模时需跟踪 thread 级配对关系 | [DOC] |
| 4 | 无网络级负载均衡 | 仅支持通过 ITLV 实现单芯片不同 C2C Link 之间的负载均衡,不支持网络级负载均衡 | 仿真中不建模动态路由,ITLV 分散只在同一芯片的出口 Link 间生效 | [DOC] |
| 5 | C2C Read 高代价 | C2C Read 高带宽代价较大且扩展性受限;软件层面应尽量用 Write 替代 Read | 仿真中 Read 延迟远高于 Write,需区分建模 | [DOC] |
封装与出 Pin 方案
物理链路配置
[DOC] 出 Pin 规格:
| 类型 | 配置 | 说明 |
|---|---|---|
| C2C Link | 8 组 x4 (每组 4 lane,每 lane 56G/112G) | 芯片间互联 |
| PCIe Link | 1 组 x16 | 主机接口 |
封装形态
[DOC] 只出一种封装方案,优先照顾 OAM 形态:
| 封装形态 | Link 布局 | 说明 |
|---|---|---|
| OAM 形态 (优先) | C2C Link 与 PCIe Link 均匀分布在芯片两端 | 标准服务器模组形态 |
| PCIe 卡形态 | C2C Link 与 PCIe Link 出在相反方向 | 需要 PCB 绕线适配 |
带宽计算
单芯片 C2C 总带宽推导
[推导] 基于 SerDes 速率和链路配置:
| SerDes 速率 | 链路配置 | 计算 | 单向总带宽 |
|---|---|---|---|
| 112 Gbps | 8 组 x 4 lane | 8 x 4 x 112 = 3,584 Gbps | 448 GB/s |
| 56 Gbps | 8 组 x 4 lane | 8 x 4 x 56 = 1,792 Gbps | 224 GB/s |
[PPT] 二层 MAC 协议开销约 17%,有效写带宽约为线速的 83%。
| SerDes 速率 | 线速单向带宽 | 有效写带宽 (x83%) |
|---|---|---|
| 112 Gbps | 448 GB/s | ~372 GB/s |
| 56 Gbps | 224 GB/s | ~186 GB/s |
带宽指标区分:文档集中存在两个不同层级的"有效带宽"指标,建模时需注意区分:
- MAC 协议有效带宽 (~83%):包含 Ethernet L2 全部协议开销(帧头、FCS、前导码、帧间间隔等),是 C2C Link 的实际可用吞吐上限。本节所述 ~372 GB/s (112G) 即此指标。
- PAXI 封装有效带宽 (~96.4%):仅计算 PAXI 报文的 payload/header 比(1344B 有效载荷 + 50B 报头),= 448 × 1344 / 1394 ≈ 432 GB/s。详见 04_communication.md §4.1.6。
建模建议:应使用 MAC 协议有效带宽(~372 GB/s @112G)作为 C2C Link 可用吞吐的上限估算。PAXI 封装效率用于分析不同 payload 大小下的带宽变化趋势。
RAS 设计
[DOC] RAS (Reliability, Availability, Serviceability) 核心原则:每个芯片作为算力池中任务分配的最小单元,错误不扩散到其他节点,支持软件介入恢复和节点下线两种恢复方式。
完整的 RAS 设计(两种隔离模式的详细流程、Memory Protect 机制)见 03_memory-consistency.md §5-6。
术语定义表
| 术语 | 全称 | 说明 |
|---|---|---|
| CLE | Chip Address Lookup Engine | 芯片地址查找引擎,用于 C2C 路由 |
| CMAP | Chip-level MAC ID Assignment Plan | 以芯片为单位分配 MAC ID |
| DMAP | Die-level MAC ID Assignment Plan | 以 Die 为单位分配 MAC ID |
| L1 | Layer 1 | 第一层互联 (cluster 内) |
| L2 | Layer 2 | 第二层互联 (cluster 间) |
| CHS | C2C post-write Hardware Sequence | 硬件保序方案 |
| CFS | C2C Fence Sequence | fence 指令保序方案 |
| CDMA | -- | 跨芯片 DMA 引擎 |
| PAXI | -- | AXI 协议的跨芯片透明桥接 |
| Datagram | -- | 原始以太网帧收发模式 |
| ITLV | Interleave | 跨 Link 交织分散带宽 |
| OSTD | Outstanding | 允许多个请求同时在途而不阻塞 |
| MTU | Maximum Transmission Unit | MAC 最大传输单元 (1.5 KB) |
| LLR | Link Level Retry | 链路级重传 |
| CBFC | Credit-Based Flow Control | 基于信用的流控 |