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方式