PCIe 3.0 x16和QPI 1.1(20通道)具有相同的有效带宽(16 GB / s)。所以,我想粗略了解两者之间的差异。
两者在延迟和消息速率(每秒数据包数量或TLP数量)方面有何不同?对于延迟,我的球场数量为QPI为20 ns,PCIe 3.0为200 ns。这些好估计?如果是,为什么PCIe的延迟要高得多 - 是否由于线路长度?
除了QPI提供缓存侦听这一事实之外,两者之间是否存在重大架构差异?据我所知,两者都使用分层协议:通过物理层传输层。
答案 0 :(得分:5)
由于角色不同,两者的消息类型完全不同。 QPI直接关注通过MESIF protocol和NUMA通过distributed directory实现缓存一致性。 PCIe没有这样的概念,尽管它们共享公共存储器读写和完成消息类型(对于某些PCIe基础知识,请参阅here)。它们具有类似的电源状态和通过虚拟通道实现的优先级方案。两者都使用基于信用的流量控制,但不保证QPI与PCIe端点维持什么类型的信用有任何共性(据我所知,QPI信用的具体信息是英特尔的商业秘密)。 / p>
每个消息的速率通常用GT / s表示。典型的QPI速率为4.8,6.4和8 GT / s,PCIe为5或8 GT / s。
您对两者的延迟估计可能都很低。 QPI每跳on the order of a few hundred ns。请注意,4 +套接字系统在套接字对之间可能有多个QPI跳。 PCIe可能是closer to 500ns,但同样取决于系统拓扑。处理器插槽的主存储器和直接挂在该插槽上的PCIe卡(PEG插槽)之间的延迟将低于同一存储器和挂在南桥上的卡之间的延迟。