前文:事务的划分
PCIe(以及其前身PCI)之所以如此严格地区分这些事务类型,根本上是为了在硬件层面实现“功能正确性”、“性能优化”和“资源管理”三者之间的最佳平衡。
这种分类并非随意,而是每一种类型都对应着一套独特的硬件行为模式、资源占用情况和完成模型。
1. Posted Request - 为“数据流”优化的“一锤子买卖”
包含:Memory Write, Message
硬件行为:请求者(Requester)发出TLP后,不期待、也不需要任何来自完成者的响应。它假设传输是成功的,并立即释放本地相关资源(如缓冲区、但不包括Tag)。
为什么这么设计?
极致吞吐:这是为高带宽、流式数据写入设计的模型。想象一个GPU向显存灌注纹理,或一个网卡DMA向内存写入数据包。如果每一次写入都要等待对方说“收到”,那么发送端就会在等待中停滞,带宽利用率会急剧下降。Posted写消除了这个往返延迟,让数据可以源源不断地流出。