AN 690:PCI Express Avalon-MM DMA参考设计

ID 683824
日期 5/28/2016
Public

1.6.5. 峰值吞吐量

SignalTap为运行在250 MHz,142个周期的Gen3 x8,256-bit DMA进行吞吐量计算(如下):

  • 7.1 GBps-用于TX存储器只写,256-byte负载,和计算中被忽略的发送读请求需要的周期。
  • 6.8 GBps-用于TX存储器写,256-byte负载,和计算中所包含的发送读请求需要的周期。
  • 7.0 GBps-用于RX读完成

SignalTap运行中,TxStValid信号从未置低。Avalon-MM应用在最大速率无空闲周期中驱动TLP。此外,Hard IP for PCI Express不断接收TX数据。Hard IP for PCI Express IP Core极少会置低RxStValid信号。而出现RxStValid信号置低是由于主机系统未足够快地归还完成信息。然而,延伸的back-to-back TLP证明了Hard IP for PCI Express IP Core和Avalon-MM应用逻辑能够持续处理完成。

对于一个12.8千兆字节/秒(GBps)的总带宽,用于2 MB传输(包括描述符每方向6.4 Gb/s的开销)的平均吞吐量,。所报告的DMA吞吐量反应了典型应用。它包括下列开销:

  • 操作开始时取回DMA描述符所需要的时间。
  • 主机PC周期性分配亚最佳(sub-optimal)TLP地址边界
  • 将DMA状态存回主机存储器
  • 主机中的信用控制更新
  • waitrequest信号被置位时,非频发Avalon-MM内核架构中止。

TX理论带宽计算

TX接口中,写header为15 bytes,读header为7。由于TX接口为256 bits,无论传输RX读或写headers都需要一个周期。而传输256 bytes负载数据需8个周期(256/32),所以每TLP共9个周期。以下公式计算TX最大理论带宽:

8数据周期/9周期x 8 GBps = 7.111 GBps

因此,header周期减少了大约12%的最大理论带宽。

SignalTap观察

SignalTap仿真体现了250 MHz,142个周期峰值吞吐量的2 Mb数据传输。开销计算中忽略读请求所需要的时间,得出下列公式:

(142 - 7 - 15)/(142 - 7) x 8 GBps) = 7.111 GBps

开销计算中包括读请求所需要的时间,得出下列公式:

(142 - 7 - 15)/(142 x 8 GBps) = 6.76 GBps

RX理论带宽计算

RX接口中,要进行2 MB传输,不置位RxStValid信号3个周期。该传输需要15个 读完成headers用于256-byte完成。对于每个读完成,最大RX带宽由下列公式表示:

8 data cycles/9 cycles * 8GBps = 7.1111 GBps

SignalTap观察

RxStValid信号未作为开销被置位时,将完成header的数目和周期加入计算,则实际观察所得的带宽由下列公式表示:

(142-15-3)/142 * 8GBps = 6.986 Gbps