Write-Combining允许CPU将64字节MWr TLP突发到PCIe端点,但有一些含义。
PC CPU具有称为写入组合(WC)的存储器缓存模式。
Write Combining允许CPU的内存管理器缓冲写入相同地址范围的写入。
- 一旦WC高速缓存行(当前Pentiums为64字节)被填满,存储器管理器就执行突发写入。
- 在PCIe中,这成为具有64字节有效载荷的TLP。
- 如果内存范围标记为WC,则内存管理器仅执行WC。
- 这可以通过将BAR范围标记为具有WC属性的设备驱动程序来完成,或者通过BIOS / OS将PCI / PCIe设备识别为视频设备(类代码)来完成。
Write Combining主要针对视频帧缓冲区,以便在CPU将数百万像素加载到图形硬件中以改变显示图像时提高性能。
- Write Combining具有以下特征:
- MWr TLP有效载荷大小可以高达64字节。
- 可以以任何顺序发送TLP。
没有类似的读操作。
它是软件驱动的。
对PCIe端点的影响:
。PCIe Completer设计必须能够处理1字节到64字节的TLP。 。Lattice PCIe Completer不是为处理Root的突发而设计的。。因此,参考设计不支持Write Combining。
。可以以任何地址顺序将TLP发送到端点。 。WC缓存行刷新规则可以以非顺序地址顺序刷新TLP。。对于旨在将每个MWr作为独立操作(即不依赖于先前或未来的MWr)而设计的端点完成符,这不是问题。。如果端点假定TLP将按顺序到达,则会出现问题 – 将它们直接加载到FIFO中。。他们需要重新订购。。此外,大小可能不总是64字节。
。CPU可以将数据突发到端点,但不能以突发方式检索数据。 。WC在双向型应用中无效。。只有在写入器件时才能获得性能提升。 。WC由CPU上运行的软件驱动。。吞吐量将直接与软件和CPU负载相关。。这不是确定性的。
。结论
。Lattice PCIe参考设计不使用Write Combining。。所有CPU访问都被视为控制平面访问(每个TLP 1个DWORD)。。对于吞吐量应用,与PCIe内核集成的DMA引擎启动对PC系统内存的所有MRd / MWr操作,以便以硬件速度在PCIe端点和系统内存之间移动数据。
没有回复内容