首页 理论教育PCIe规范中的隐式路由及其处理方式

PCIe规范中的隐式路由及其处理方式

【摘要】:PCIe总线规定消息请求报文使用隐式路由方式。表6-4 Route[4∶0]字段使用隐式路由方式的TLP,其Route字段为“000”,“011”,“100”或者“101”。当一个报文使用隐式路由向EP发送时,EP将对Route字段进行检查,如果这个报文是“来自RC的广播报文”,或者是“本地报文”,EP将接收此报文。如果Switch收到一条使用隐式路由的TLP时,将根据报文Route字段的不同而分别处理。

PCIe总线规定消息请求报文使用隐式路由方式。在PCIe总线中,有许多消息是直接发向RC或者来自RC的广播报文,这些报文不使用地址或者ID进行路由,而是使用Msg和MsgD报文的Route字段进行路由,这种路由方式称为隐式路由。

PCIe总线定义了一些用于中断请求、错误状态处理、锁定总线事务、热插拔信号处理和“Vendor_Defined Messages”消息报文。这些消息报文需要使用隐式路由方式进行传递。消息报文的Route字段的含义如表6-4所示。

表6-4 Route[4∶0]字段

978-7-111-29822-9-Part02-57.jpg(www.chuimin.cn)

使用隐式路由方式的TLP,其Route字段为“000”,“011”,“100”或者“101”。当一个报文使用隐式路由向EP发送时,EP将对Route字段进行检查,如果这个报文是“来自RC的广播报文”,或者是“本地报文”,EP将接收此报文。

如果Switch收到一条使用隐式路由的TLP时,将根据报文Route字段的不同而分别处理。如果Switch的上游端口接收了一条来自RC的广播消息,则将该报文发向所有的下游端口;如果Switch接收了一条来自下游端口发向RC的消息报文时,Switch将此报文直接转发到上游端口,直至RC;如果Switch接收了一条使用隐式路由方式的本地消息报文,则Switch接收并终结此报文,不再上传或下推。

如果RC收到一个使用隐式路由的TLP时,将根据报文Route字段而分别处理这些TLP。如果该Route字段为0b000和0b101,RC将接收该TLP,并作相应的处理;如果为0b100,RC将接收该TLP,并结束该TLP报文的传递。