PCIe学习笔记(15)--- TLP的ROUTING方式
来源:互联网 发布:搜狐网络大厦薪水 编辑:程序博客网 时间:2024/09/21 09:20
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
- PCIe学习笔记(15)--- TLP的ROUTING方式
- PCIE中TLP prefix的疑问
- PCIe学习笔记(3)---PCIe初步
- PCIE -- TLP格式
- PCIe学习笔记(9)--- 配置空间的两种访问方式--LEGACY
- PCIe学习笔记(10)--- 配置空间的两种访问方式--ENHANCED
- PCIe学习笔记(4)---PCIe的层次结构--TRANSACTION LAYER
- PCIe学习笔记(5)---PCIe的层次结构--DATA LINK LAYER
- PCIe学习笔记(6)---PCIe的层次结构--PHYSICAL LAYER
- PCIe学习笔记(12)--- PCIe总线的枚举过程 ENUMERATION
- DWC PCIE学习笔记(一)----->PCIE PHY接口
- PCIe学习笔记(11)--- 配置空间的读写请求
- PCIe学习笔记(1)---PCI相关
- PCIe学习笔记(7)--- BDF
- PCIe学习笔记(26)--- PL
- PCIe学习笔记(27)--- PL
- PCIe学习笔记(28)--- PL
- PCIe学习笔记(29)--- PL
- Linux下的粘滞位
- The builder launch configuration could not be found.项目启动报错
- oralce计算时间差
- 蓝桥杯-稍大的字符串
- 有什么找工作的网站
- PCIe学习笔记(15)--- TLP的ROUTING方式
- iOS开发之Core Animation动画
- 什么是数据结构-数据结构学习笔记1.1(基本概念)
- ScrollView中嵌套RecyclerView问题
- javascript 动态改变onclick事件触发函数代码
- JPA的@Embedded
- 聚类(下)
- 如何获取Input标签自定义属性的值ie 8 9 10下取值
- 使用sqoop1将hive导入mysql