如何正确计算 PCIe 1x、2.0、3.0 速度?
How do I calculate PCIe 1x, 2.0, 3.0, speeds properly?
老实说,我对 PCIe 设备的速度计算非常迷惑。
我可以理解 PCI 和 PCI-X 设备的 33MHz - 66MHz 时钟,但 PCIe 让我感到困惑。
谁能解释一下如何计算 PCIe 的传输速度?
要理解Paebbels所指的table,你应该知道PCIe传输是如何工作的。与 PCI 和 PCI-X 相反,PCIe 是一种点对点 串行 总线,具有 link 聚合(意味着将多个串行通道放在一起以增加传输带宽)。
对于 PCIe 1.0,单通道在 1.25GHz 时钟 (Takrate) 的每个边沿传输符号。这产生每秒 2.5G 传输(或符号)的传输速率。该协议使用 10 个符号(8b10b 编码)对 8 位数据进行编码,用于 DC 平衡和时钟恢复。因此 raw 一个通道的传输速率是
2.5Gsymb/s / 10symb * 8bits = 250MB/s
原始传输速率可以乘以可用通道数以获得完整的link传输速率。
请注意,有用的 传输速率实际上低于此,因为数据的打包类似于以太网协议层打包。
A more detailed explanation can be found in this Xilinx white paper.
老实说,我对 PCIe 设备的速度计算非常迷惑。 我可以理解 PCI 和 PCI-X 设备的 33MHz - 66MHz 时钟,但 PCIe 让我感到困惑。
谁能解释一下如何计算 PCIe 的传输速度?
要理解Paebbels所指的table,你应该知道PCIe传输是如何工作的。与 PCI 和 PCI-X 相反,PCIe 是一种点对点 串行 总线,具有 link 聚合(意味着将多个串行通道放在一起以增加传输带宽)。
对于 PCIe 1.0,单通道在 1.25GHz 时钟 (Takrate) 的每个边沿传输符号。这产生每秒 2.5G 传输(或符号)的传输速率。该协议使用 10 个符号(8b10b 编码)对 8 位数据进行编码,用于 DC 平衡和时钟恢复。因此 raw 一个通道的传输速率是
2.5Gsymb/s / 10symb * 8bits = 250MB/s
原始传输速率可以乘以可用通道数以获得完整的link传输速率。
请注意,有用的 传输速率实际上低于此,因为数据的打包类似于以太网协议层打包。 A more detailed explanation can be found in this Xilinx white paper.