欢迎来到天天文库
浏览记录
ID:9876117
大小:970.00 KB
页数:20页
时间:2018-05-13
《pcie处理层协议中文详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、pcie(PCI-Express)处理层协议中文详解处理层协议(transactionLayerspecification)◆TLP概况。◆寻址定位和路由导向。◆i/o,memory,configuration,messagerequest、completion详解。◆请求和响应处理机制。◆virtualchannel(vc)Mechanism虚拟通道机制。◆dataintegrity数据完整性。一.TLP概况处理层(transactionLayerspecification)是请求和响应信息形成的基础。包括四种地址空间,三种处理类型,从下图可以看出在transactionLayer中形成的
2、包的基本概括。一类是对i/o口和memory的读写包(TLPS:transactionLayerspackages),另一类是对配置寄存器的读写设置包,还有一类是信息包,描述通信状态,作为事件的信号告知用户。对memory的读写包分为读请求包和响应包、写请求包(不需要存储器的响应包)。而i/o类型的读写请求都需要返回I/O口的响应包,configuration包对配置寄存器的读写请求也有响应包。这些请求包还可以按属性来分就是:NP-nonposted,即请求需要返回completion的响应包;还有一种就是;poste,即不需要completion返回响应包。例如上面的存储器写入请求包和Me
3、ssage包都隶属于posted包。包的主要格式结构如下:每种类型的包都有一定格式的包头(TlpHeader),根据不同的包的特性,还包括有效数据负荷(DataPayload)和tlp开销块(TlpDigest)。包头中的数据用于对包的管理和控制。有效数据负荷域存放有效数据信息。具有数据的TLP传递是有一定规则的:以DW为长度单位,发送端数据承载量不得超过“DeviceControlRegister”中的“Max_Payload_Size”数值,接收端中,所接收到的数据量也不能超过接收端“DeviceControlRegister”中的“Max_Payload_Size”数值。TLpDige
4、st域是32位的ECRC校验。具体的包结构图如下:由此图可看出数据从低字节的高位先发送,从左到右。以下详细介绍TLPS的每个成分。R为保留信息位,应设为0,路由器switch对此位不做修改,接收器应该忽略此位。▲ Fmt[1:0]:FormatofTLP(seeTable2-2)–bits6:5ofbyte0▲ Type[4:0]:TypeofTLP–bits4:0ofbyte0▲ TC[2:0]:TrafficClass–bits[6:4]ofbyte1,关于TC的作用将
5、在下文说明。▲ Attr[1:0]:Attributes–bits[5:4]ofbyte2,详细介绍见下文▲ TD:1bindicatespresenceofTLPdigestintheformofasingleDWattheendoftheTLP标志TLPDigest域的有无。▲ EP:indicatestheTLPispoisoned–bit6ofbyte2有效数据中毒(出错)机制。 ▲ Length[9:0]:Lengthofd
6、atapayloadinDW.Fmt开销位说明TLPHeader的长度和TLP是否包含数据,见下图。▲ Fmt[1:0]=00b,代表3DW的包头,没有数据。▲ Fmt[1:0]=01b,代表4DW的包头,没有数据。▲ Fmt[1:0]=10b,代表3DW的包头,有数据。▲ Fmt[1:0]=11b,代表4DW的包头,有数据。Fmt和Type开销组合定义了包(TLP)的类型如下。上图定义了各种类型的包,图中的r[2:0]用于定义Message包的隐含寻址方式,在下文中更为详细。Length域定义了有效负荷的DW长度如下。在不包含datapayload块的包中Length的值应被设置为保留值R
7、,并被接收端忽略。余下的各个开销位将在后文提到。二.TLP打包定址和路由导向方式主要有三种TLP寻址方式:地址路由(address)、ID识别路由、间接路由(implicit)。下面主要解释address和ID寻址方式,间接寻址将在后面提及。address寻址主要用于memory和i/orequest请求包,memory读写请求包支持64位地址和32位地址,i/o读写请求只支持32位地址。64位地址寻址的TL
此文档下载收益归作者所有