首页 理论教育PCIe体系结构的订单

PCIe体系结构的订单

【摘要】:图11-5 IDO模型的优点这种拥塞也被称为HOLBlocking。在PCIe V2.1总线规范提出之前,PLX[81]公司已经使用类似IDO模型的技术以优化Switch的数据传送,即PLX-Specific Relaxed Ordering技术。在PEX8518中,每一个Ingress端口都为不同的TC设置了一个“PLX-Specific Relaxed Ordering”使能位,当该位为1时,当一个Ingress端口收到的TLPs发向的Egress端口不同,则没有序的要求;而Egress端口相同的TLPs必须按序进行。

IDO模型由PCIe V2.1版本引入。该模型引入了“数据流”的概念,即相同的数据源发出的TLP属于相同的“数据流”,而不同数据源发出的TLP属于不同的“数据流”。PCIe链路可以根据“数据流”对TLP进行区分。IDO模型允许分属不同“数据流”的TLP之间没有序的要求,即可以“自由乱序”。

IDO模型的引入有利于Switch对发向不同Egress端口的报文进行优化处理。我们假设Switch的一个Ingress端口收到了若干个数据报文,这些报文分别发向不同的Egress端口,如图11-5所示。

其中TLP1~3分别发向Egress端口1~3,在不使用IDO模型的情况下,Ingress端口需要等待之前的报文被发送出去之后,才能发送之后的报文。TLP3、TLP2和TLP1依次进入Ingress端口,如果不使用IDO模式时,TLP2需要等待TLP3完全离开Ingress端口后,才能被发送;同理TLP1需要等待TLP2离开Ingress端口才能被发送。显然这种数据传送方式并不合理。

978-7-111-29822-9-Part02-158.jpg

图11-5 IDO模型的优点(www.chuimin.cn)

这种拥塞也被称为HOL(Head-of-Line)Blocking。引起这种现象的主要原因是Ingress端口每次只能处理一个报文引起的。如果在Ingress端口只有一个发送部件与Egress端口1~3对应时,即便使用IDO模型并不会提高效率,因为这些报文依然需要通过这一个发送部件串行发送。由此可见对于这种类型的Switch,使用IDO模型并不会提高效率。

但是如果Ingress端口中有3个发送部件,分别与Egress端口1~3对应时,实际上是In-gress端口为每一个Egress端口提供分离的发送缓冲,这个缓冲也被称为VOQ(Virtual Out-put Queue)。此时TLP1~3的发送可以同时进行,而Ingress端口使用IDO模型,可以不考虑传送“序”[80]而同时发送TLP1~3,从而极大地提高了Switch的转发效率。目前多数Switch的Ingress端口都支持VOQ技术。

在PCIe V2.1总线规范提出之前,PLX[81]公司已经使用类似IDO模型的技术以优化Switch的数据传送,即PLX-Specific Relaxed Ordering技术。下文以PEX8518芯片为例说明该技术的具体实现,该芯片是PLX公司设计的PCIe Switch。在PEX8518中,每一个Ingress端口都为不同的TC设置了一个“PLX-Specific Relaxed Ordering”使能位,当该位为1时,当一个Ingress端口收到的TLPs发向的Egress端口不同,则没有序的要求;而Egress端口相同的TLPs必须按序进行。PLX使用的这种技术与IDO模型类似。