pci-e - 如果 PCIe 读/写带宽溢出给定的 PCIe 规范怎么办
问题描述
我正在测试 Mellanox 100G NIC,对于 PCIe Gen3、32lane,这些 NIC 与 4slot 连接。每个 Rx、Tx 端口有 2 个插槽,我将数据包从生成器发送到 100G NIC
我认为每个通道都有 1000MB 带宽,将其转换为 Gb 为 8Gb,因此 NIC 可以获得的总带宽为 32*8Gb = 256Gb,
但我对 pcm-pcie.x 进行了测试,它给出了带宽读/写结果似乎很奇怪。它溢出给定的 PCIe 限制(256Gb)
这是测试结果
所以我的问题是
1.如 64 字节结果所示,PCIe Rd Byte 为 37G,PCIe Wr Byte 为 14G 将其转换为 Gb(*8) 37GB -> 296Gb / 14Gb -> 232Gb 296Gb 溢出给定 PCIe Gen3 规范。它可能吗?或者我错过了什么?
2.随着数据包大小的减少(1512 > 512 > 64)总 PCIe 带宽增加,对吗?我认为如果 pakcet 大小更大,数据包会突发发送,因此会增加带宽,但结果相反
3.除此之外, PCI Express 参数摘要 “总带宽”术语似乎是有线的。数据速率是 PCIeGen3 1000MB/s x16 是 16Gbs 但总意味着 32Gb?什么是总的意思?它结合了读/写?如果是,PCI 是否可以同时处理读/写,因此它可以读取 16Gb*2、32Gb?
解决方案
推荐阅读
- c# - “调试”模式下的 Visual-studio 扩展项目构建错误
- python - VSCode 中的 Python 路径
- docker - 如何运行从 docker hub 下载的 docker compose 映像(在 Windows 10 w/Docker Toolbox 中)?
- kdb - KDB 获取季度的最后/第一天
- ios - 使用 Facebook 注册 Cognito 不会创建用户
- pic - PicKit3 和 PIC16F1829 编程,MCLR 电压
- javascript - 如何使用 NUXT.js 为我的传单地图设置自定义标记图标
- ionic-framework - 离子深度链接在推送深度链接/页面之前显示空白页面
- python - Python:从命令行运行小型多行脚本
- xml - 解析 XML 并重命名文件名中的特殊字符(XML 和位置)