PCIe学习笔记(15)--- TLP的ROUTING方式

Posted yf869778412

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCIe学习笔记(15)--- TLP的ROUTING方式相关的知识,希望对你有一定的参考价值。

PCIE是POINT TO POINT的,不像PCI,是SHARED-BUS,总线上的数据,是被所有EP DEV看到的。

这一点与USB2.0比较类似,是广播方式的(BROADCASTING)

USB3.0也修改了广播方式,变成了ROUTING方式

 

OS(ORDERED SET) 与DLLP是在一个LINK之间交互的,不需要ROUTING

TLP可能会在多条LINK之间交互,所以需要ROUTING

 

TLP有几种ROUTING方式:

一,ADDRESS

小于4BG的内存空间,使用3DW的TLP HEADER

大于4GB的内存空间,使用4DW的TLP HEADER

IO空间,只有32-BITS,使用3DW的TLP HEADER

 

EP通过BAR来判断一次

SWITCH首先通过BAR来判断一次,是否针对自己

如果不是,刚再通过BASE/LIMIT来决断一次,是否针对下面的EP(BASE/LIMIT要针对 NP, P, IO三种类型)

 

二,ID(B.D.F)

对于PCIE EP来说,只需要CHECK一次,判断TLP中的B.D.F是不是针对自己的

对于SWITCH(每一个P2P)来说,需要CHECK两次,一次是判断是否针对自己,如果是,则消耗掉了该TLPL;如果不是,则再次通过SECONDARY BUS与SUBORDINATE BUS REGISTERS来判断,是否针对该SWITCH下游的EP

 

所以,ADDRESS与B.D.F中

BASE/LIMIT与SECONDARY/SUBORDINATE BUS是起相同作用的一组寄存器,限定了SWITCH下面的ADDRESS/BUS的范围

 

三,IMPLICITLY(利用了BRIDGE知道其上游及下游,RC在TOPOLOGY的顶层,EP在TOPOLOGY的底层, 在一个TOPOLOGY中,只有一个RC)

MESSAGE TLP可以使用IMPLICITLY方式的ROUTING, MESSAGE TLP的存在,就是为了免除了原来PCI/PCI-X的SIDEBAND SIGNAL(如INT, POWER MANAGEMENT等, RC往往是这些内容的SOURCE或者DESTINATION)

 

具体的MESSAGES包括如下:

 

Hot Plug signaling

Vendor-specific signaling

Slot Power Limit settings

Power Management

INTx legacy interrupt signaling

Error signaling

Locked Transaction support

 

MESSAGE TLP,均为4DW

 

有三位来表示MESSAGE ROUTING的方式:

000 implicit - route to the rc

001 route by address

010 route by id

011 implicit - broadcast downstream

100 implicit - local: terminate at receiver

101 implicit - gather & route to the rc

110 reserved terminate at recevier

111 reserved terminate at receiver

转载:http://blog.csdn.net/u013140088/article/details/65634756

以上是关于PCIe学习笔记(15)--- TLP的ROUTING方式的主要内容,如果未能解决你的问题,请参考以下文章

为什么PCIe TLP标头有“Last DW BE”和“First DW BE”?

RK3399平台开发系列讲解(高速设备驱动篇)6.56PCIe事务包(TLP)详解

PCIe Max_Payload_Size 和 Max_Read_Request_Size

017 PCIe总线的事务层

PCIE_DMA:xapp1052学习笔记

PCIe物理层逻辑部分基础