PCI Express高性能参考设计

ID 683541
日期 10/13/2015
Public

1.1.2. 用于后置写入的吞吐量

理论上最大吞吐量由以下公式算得:

吞吐量% = 负载量/(负载量+开销)

下图显示了具有不同TLP头大小及忽略所有DLLP和PLP的可能最大吞吐量。对于一个256-byte最大负载量和一个3dword TLP头(header)(或5个dword开销),可能的最大吞吐量是(256/(256+20)),或92%。

图 2. 用于存储器写的最大吞吐量

PCI Express配置空间中的device control寄存器(bits 7:5)指定最大TLP负载量。参数maximum payload size设置Device Capabilities寄存器(bits 2:0)Maximum Payload Size Supported域的只读值。您为variant指定的负载量可能基于系统最大负载量被减少。maximum payload size参数影响资源利用率。为了资源最大化,指定的最大负载量就不要大于系统最大负载量。

PCI Express使用流程控制。TLP不被传输除非接收器具有足够的空闲缓冲空间来接收。头(header)和数据信用追踪可用缓冲空间。当完成器(completer)中的应用接收了TLP,就将完成器处理层中的RX缓冲空间释放。完成器发送一个流程控制更新(FC Update DLLP)归还来自TLP的信用消耗。在器件使用完其全部初始信用后,根据链路带宽接收信用更新的快慢限制链路带宽。流程控制更新取决于最大负载量以及传输和接收器件中的延迟。