UB 子系统学习笔记
学习要点总结
- 协议栈四层:TA(事务)→ TP(传输)→ NL(网络)→ DL_PHY(链路+物理),每层职责清晰
- 三种分发场景: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 |
网络端口/分区标识 |
|
所有评论(0)