如果 PCIe 读/写带宽溢出给定的 PCIe 规范怎么办

问题描述

我正在测试 Mellanox 100G NIC,用于 PCIe Gen3、32lane 这些网卡与 4slot 相连。每个 Rx、Tx 端口 2 个插槽 然后我将数据包从生成器发送到 100G 网卡

我认为 对于每个通道有 1000MB 带宽,将其转换为 Gb 是 8Gb 所以网卡可以得到的总带宽是 32*8Gb = 256Gb,

但我对 pcm-pcie.x 进行了测试,它提供了读/写带宽 结果似乎很奇怪。它溢出给 PCIe 限制(256Gb)

这是测试结果

1512B

512B

64B

所以我的问题是

1.如64byte结果所示,PCIe Rd Byte为37G,PCIe Wr Byte为14G 将其转换为 Gb(*8) 37GB ->296Gb / 14Gb -> 232Gb 鉴于 PCIe Gen3 规范,296Gb 溢出。 它可能吗?或者我错过了什么?

2.随着数据包大小的减少(1512 > 512 > 64) PCIe 总带宽增加 这样对吗?我认为如果 pakcet 大小更大, 数据包突发发送,因此它增加了带宽 但结果相反

3.除此之外, Summmary of PCI Express Parameters “总带宽”术语似乎是有线的。 数据速率为 PCIeGen3 1000MB/s x16 是 16Gbs 但总意味着 32Gb? 什么是总手段?它结合了读/写? 如果是,PCI 是否可以同时处理读/写,所以 可以读取16Gb*2,32Gb??

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)