PCIe SGDMA参考设计的吞吐量是多少?测试设置结果结论

大多数使用Lattice PCIe和SGDMA IP内核的人都想知道吞吐量。

这是一个有效的问题,但很难肯定地回答。

吞吐量的问题在于它非常系统和应用程序。

  • 对性能的最大影响是Root Complex中缓冲区的大小。
  • 整个应用程序对性能也有很大影响。
  • 此常见问题解答将查看我们使用PCIe解决方案套件中提供的标准PCIe SGDMA演示测量的性能数字。
  • 测试设置
  • 测试完成如下:
  • SCM80 PCIe x4评估板
  • v3.3 PCIe IP核

v1.2 SGDMA IP核

最新的SGDMA演示IP和ColorBars演示软件

  1. 英特尔XBX975主板
  2. PCIe x4插槽,具有64 MWr学分和16个MRd学分
  3. 安捷伦PCIe协议分析仪可测量传输速率
  4. 数据流包括SGDMA IP核,它从一块IP中移动1 MB数据,生成不断变化的颜色到PC系统内存。
  5. 1MB的数据是2-D像素数据阵列,然后由监视器上的OpenGL图形调用显示。
  6. IP负责生成颜色并将其移动到PC内存。
  7. 演示软件处理显示图像。

执行流程是:

软件配置SGDMA将1 MB图像数据传输到PC内存

软件启动SGDMA并等待中断

SGDMA以8192个128字节块(匹配最大MWr TLP大小)移动图像数据

SGDMA完成后会产生中断

软件驱动程序清除传输,向read()操作发出等待应用程序的信号
软件使用OpenGL调用在图形窗口中显示1 MB数组
回到第1步并重复

结果

可以看出,发生了很多设置和系统级操作。

整体系统速率高度依赖于图形系统的显示速率(因为演示在开始新的传输之前显示图像数据)。 。安捷伦测量的总传输速率为185 MB / s。。这是连续操作期间的整体系统吞吐量平均值,包括配置DMA引擎和在屏幕上显示图像。 。实际上,1 MB数据的SGDMA传输仅花费1.7毫秒(从开始DMA操作的TLP的时间戳到最后一个MWr TLP的时间戳测量)。。这使得突发传输速率为588 MB / s。 。该软件使用217 usec配置SGDMA内核进行传输,因此在软件中加入头,传输速率现在为522 MB / s。 。这些速率基于一个简单的演示设计,该设计未针对任何特定应用或系统进行优化。。系统设计的改进可以进一步提高吞吐率。。例如,我们将SGDMA总线时钟从125 MHz增加到150 MHz,时间相应减少: 。DMA传输1MB:1.4毫秒 。软件配置:200 usec 。结论 。PCIe SGDMA演示表明,传输速率可达500 MB / s。。通过一些优化,可能会有更高的性能。。它还表明整体系统吞吐量非常依赖于系统架构。。工程师需要评估系统的所有方面,以便对吞吐量性能进行合理估计。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 10:29:56 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它