UB 子系统学习笔记

学习要点总结

  1. 协议栈四层:TA(事务)→ TP(传输)→ NL(网络)→ DL_PHY(链路+物理),每层职责清晰
  2. 三种分发场景:URMA(Host-Host Jetty 编程)、NIC/UNIC(Socket)、UB Memory(内存语义,无 EID 或全局 EID)

一、总体架构

1.1 协议栈四层(自顶向下)

Transaction(TA)  →  Transport(TP/CTP)  →  Network(NL)  →  DataLink+Physical(DL_PHY)
                                                                        ↓
                                                                   H112 SerDes
模块 核心功能
TA JFS/JFC/JFR、MsgQ、TM、INT、RAS、Cfg Jetty 队列调度、WQE 拆解发送、枚举/配置/管理消息、流量管理、远端/本端中断
TP Reliable/Unreliable Transport、QOS、SCC、Load/Store RC/RM 可靠/不可靠传输、多流负载均衡、DCQCN 拥塞控制
UMMU MAPT(权限表)、MATT(翻译表) UBA→PA 翻译 + 权限校验
BA Master Adapter、Slave Adapter 控制器与系统总线 Master/Slave 方向交互
NL Tx Buf/Rx Buf、PPP、PM 流控 + Buf 缓存 + 组包/解包、可编程表项查询
DL_PHY Retry Buf、PCS、LTSM 链路层重传 Buf、物理编码子层、链路训练状态机

1.2 9 种工作模式(4 大类)

Mode Transport Network 用途
URMA 1-4 TP/CTP IPv4/v6 或 CNA24 Host-Host 远端内存访问,Jetty 编程
NIC/UNIC 5-6 IPv4/v6 Socket 编程(UB Link 或 Eth Link)
Host-Device 7-8 CTP CNA16 MMIO Load/Store 或 CDMA
UB Memory 9 CNA16/24 内存语义,XPU/HA 直接发起

1.3 5 种互连角色

TP / CTP / UBmem / UBoE / NC —— 分别承担处理器卡和交换芯片互连功能。(与 9 种模式属两个维度)


二、TA 事务层

2.1 编程接口

接口 用途
Mailbox 控制面表项创建/修改/读取/注销(IMP 4 寄存器 / CTRL CPU 并行)
Doorbell 通知硬件执行任务、更新指针。硬 DB(写地址空间)、软 DB(写内存硬件读)
DirectWQE 低延时直接下发 WQE(64B 或 128B)

2.2 Jetty 队列体系

  • JFS(Send):最大 64K/Entity,队列深度 1~32K
  • JFR(Receive):最大 64K/Entity,队列深度 64~32K
  • JFC(Completion):最大 64K,CQE 深度 64~1M,大小 Normal 64B
  • Jetty Group:最大 64K/Entity,每组 32 Jetty,Hash 选 JFR
  • DirectWQE / WQE Lock Buffer
    • WQE Lock Buffer:4K×64B 片上,仅存 DirectWQE,Starvation-Free
    • Stars Lock Buffer:128×64B,与 WQE Lock Buffer Jetty 范围不交叠
  • WQE 切片:Write/Read 可切片给 TP(最大 64KB),Send/Atomic/Raw 不切片

2.3 URMA 操作语义

操作 最小 最大
Send 0B 64KB(TP)/ 1 MTU(CTP)
Write 0B 256MB
Read 0B 256MB
Atomic CAS 4B 16B
Atomic FetchAdd 4B 8B
Write/Read with Reduce ≤ MTU
Write with AtomicStoreAdd 单/两 WQEBB 昇腾自定义 opcode 0x19/0x1A

三、TP 传输层

3.1 TP vs CTP

TP CTP
端到端重传 支持 无(仅 Link 层重传)
消息速率 较低 较高
适用 框间、需可靠 框内直连、低延时

3.2 RC / RM 模式

  • RM(Model-1,Reliable Messaging):消息保序,需回 TAACK
  • RC(Model-3,Reliable Connection):连接保序,无需 RC Credit,无 TAACK

3.3 多路径

  • TP 多路径:一个连接只通过一个端口发包,可走多网络路径,接收侧 TP 保序
  • CTP 多路径:基于 Jetty 设单/多路径,只保证包内序
  • CTP RC 多路径:线路乱序传输,接收端定制逻辑保序(CCU counter+flag)

四、NL 网络层

4.1 路由

PA Router 按报文 CFG 类型选择转发策略:

  • CAM 表:NL 共用 128 条匹配表项,从低到高顺序匹配
  • 路由优先级:源路由 > 路由(最长匹配)> 地址路由 > 默认路由
  • 支持主路径 + 备份路径切换
CFG 含义 路由表转发 多路径
3 IPv4 Yes Yes
4 IPv6(128bit 截 32bit) Yes Yes
6 CNA16 带内控制 Yes No(控制无多路径)
7 CNA24 Clan 网络 Yes Yes
9 UB Memory CNA16 Yes Yes

五、UMMU 内存管理单元

输入:DstEID + TokenID + UBA + {NSE, NS}
  ↓
1. 配置信息查找:DstEID → TECT(Entity 信息)
                  TokenID → TCT(地址空间级,≤ 进程)
  ↓
1. 地址翻译:UBA → PA(ARM Arch MMU 兼容页表)
  ↓
1. 权限校验
  ↓
输出:PA + 属性

关键术语对照

术语 含义 注意
UB Unified Bus 协议 A.782 / r0.9 / DBOX 367
URMA Unified Remote Memory Access Jetty 编程
TA/TP/NL/DL_PHY 协议四层
TP/CTP 可靠传输 / 简易传输(无端到端重传) CTP 更快
RC/RM Reliable Connection / Messaging Model-3 / Model-1
UMMU UB 内存管理 UBA→PA + 权限
TECT/TCT Target Entity/Context Config Table UMMU 两级配置
DstEID 目的 Entity ID 128bit(URMA)/20bit(Host-Device)
TokenID 地址权限空间标识
UBA/PA/IPA/VA UB/Physical/Intermediate/Virtual Address
CNA/DCNA Clan Network Address / Dst CNA 16/24bit
MPT / MPW MultiPath Table / Window 多路径
PMT Performance Monitoring Table PMU 统计,勿混 MPT
GQM Global Queue Manager 硬件队列
SMAP Security MAP 热页频次统计
RSW RemoteSyncWrite 远端保序写,0.5 RTT
EOD Exactly Once Delivery 恰好一次交付
MLT Max Lifetime 报文最大生存时间
BA Bus Adapter Master/Slave 适配
VDM Vendor Defined Message 设备管理消息(CFG6 payload)
C2C/C2M Chip-to-Chip/Memory
HiMAC MAC 控制器 V700 Combo 10G~800G
JFS/JFR/JFC Jetty 三种队列 Send/Receive/Completion
WQE/CQE/SQE/RQE 队列元素 WQEBB=64B
TM/SCC/DCQCN/LDCP 流量管理/拥塞控制
NPI/UPI 网络端口/分区标识

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐