快捷操作

手动发送 TLP

MWr 消耗 P 通道信用;MRd 无负载仅消耗 NP Hdr 信用;CplD 消耗 Cpl 信用(对端给本端的回程额度)。数据信用单位 = 16 字节。

场景开关

关闭"UpdateFC 返还"后持续发送,即可复现信用耗尽 → 发送暂停;打开"Infinite Credit"观察 0xFFF 广播的差异。
等待 FC 初始化 —— 点击左侧"FC 初始化"开始
已发送 TLP:0 被信用阻塞次数:0 UpdateFC 返还次数:0

事件日志

流控机制速记

  • 流控是逐跳点对点的:信用只存在于相邻两个端口之间,与端到端无关
  • 三个虚拟通道信道:Posted(MWr)/ Non-Posted(MRd、I/O、Cfg)/ Completion,各自独立记账
  • 每信道分 Hdr 信用(1 个 = 1 个 TLP Header)和 Data 信用(1 个 = 16 字节 = 4DW)
  • 链路训练完成后经 InitFC1/2(广告 Infinite)→ InitFC3(广告实际额度) 建立初始信用,之后由 UpdateFC DLLP 周期性返还
  • 发送前检查信用,不足则必须暂停发送(不丢弃、不重传)——这就是接收端反压发送端的机制
  • 广告值 0xFFF(12 位全 1)表示 Infinite Credit:常见于 Cpl 通道或大缓冲接收器