我是靠谱客的博主 正直口红,最近开发中收集的这篇文章主要介绍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





最后

以上就是正直口红为你收集整理的PCIe学习笔记(15)--- TLP的ROUTING方式的全部内容,希望文章能够帮你解决PCIe学习笔记(15)--- TLP的ROUTING方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部