pcie处理层协议中文详解

上传人:飞*** 文档编号:35517608 上传时间:2018-03-16 格式:DOC 页数:20 大小:970KB
返回 下载 相关 举报
pcie处理层协议中文详解_第1页
第1页 / 共20页
pcie处理层协议中文详解_第2页
第2页 / 共20页
pcie处理层协议中文详解_第3页
第3页 / 共20页
pcie处理层协议中文详解_第4页
第4页 / 共20页
pcie处理层协议中文详解_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《pcie处理层协议中文详解》由会员分享,可在线阅读,更多相关《pcie处理层协议中文详解(20页珍藏版)》请在金锄头文库上搜索。

1、pcie(PCI-Express)处理层协议中文详解)处理层协议中文详解处理层协议(处理层协议(transaction Layer specification)TLP 概况。寻址定位和路由导向。i/o,memory,configuration,message request、completion 详解。请求和响应处理机制。virtual channel(vc)Mechanism 虚拟通道机制。data integrity 数据完整性。一TLP 概况处理层(transaction Layer specification)是请求和响应信息形成的基础。包括四种地址空间,三种处理类型,从下图可以看出在

2、 transaction Layer 中形成的包的基本概括。一类是对 i/o 口和 memory 的读写包(TLPS:transaction Layers packages),另一类是对配置寄存器的读写设置包,还有一类是信息包,描述通信状态,作为事件的信号告知用户。对memory 的读写包分为读请求包和响应包、写请求包(不需要存储器的响应包)。而 i/o 类型的读写请求都需要返回 I/O 口的响应包,configuration 包对配置寄存器的读写请求也有响应包。这些请求包还可以按属性来分就是:NP-non posted ,即请求需要返回 completion 的响应包;还有一种就是;post

3、e,即不需要completion 返回响应包。例如上面的存储器写入请求包和Message 包都隶属于 posted 包。包的主要格式结构如下:每种类型的包都有一定格式的包头(Tlp Header),根据不同的包的特性,还包括有效数据负荷(Data Payload)和 tlp 开销块(Tlp Digest)。包头中的数据用于对包的管理和控制。有效数据负荷域存放有效数据信息。具有数据的 TLP 传递是有一定规则的:以 DW 为长度单位,发送端数据承载量不得超过“Device Control Register”中的“Max_Payload_Size”数值,接收端中,所接收到的数据量也不能超过接收端“

4、Device Control Register”中的“Max_Payload_Size”数值。TLp Digest 域是 32位的 ECRC 校验。具体的包结构图如下:由此图可看出数据从低字节的高位先发送,从左到右。以下详细介绍 TLPS 的每个成分。R 为保留信息位,应设为 0,路由器 switch 对此位不做修改,接收器应该忽略此位。 Fmt1:0:Format of TLP (see Table 2-2) bits 6:5 of byte0 Type4:0:Type of TLP bits 4:0 of byte 0 TC2:0: Traffic Class bits 6:4 of by

5、te1,关于 TC 的作用将在下文说明。 Attr1:0: Attributes bits 5:4 of byte 2,详细介绍见下文 TD:1b indicates presence of TLP digest in the form of a single DW at the end of the TLP 标志TLPDigest 域的有无。 EP: indicates the TLP is poisoned bit 6 of byte 2 有效数据中毒(出错)机制。 Length9:0:Length of data payload in DW.Fmt 开销位说明 TLP Header 的长

6、度和 TLP 是否包含数据,见下图。 Fmt1:0=00b,代表 3DW 的包头,没有数据。 Fmt1:0=01b,代表 4DW 的包头,没有数据。 Fmt1:0=10b,代表 3DW 的包头,有数据。 Fmt1:0=11b,代表 4DW 的包头,有数据。Fmt 和 Type 开销组合定义了包(TLP)的类型如下。上图定义了各种类型的包,图中的 r2:0用于定义 Message包的隐含寻址方式,在下文中更为详细。Length 域定义了有效负荷的 DW 长度如下。在不包含 data payload 块的包中 Length 的值应被设置为保留值 R,并被接收端忽略。余下的各个开销位将在后文提到。二

7、TLP 打包定址和路由导向方式主要有三种 TLP 寻址方式:地址路由(address)、ID 识别路由、间接路由(implicit)。下面主要解释 address 和 ID 寻址方式,间接寻址将在后面提及。address 寻址主要用于 memory 和 i/o request 请求包,memory 读写请求包支持 64 位地址和 32 位地址,i/o 读写请求只支持 32 位地址。64 位地址寻址的 TLP Header 有 4DW(16字节),32 位地址寻址的 TLP Header 有 3DW 长。上图就是 64 位地址的 4DW 的包头和 32 位地址的 3DW 的包头。对于 memor

8、y 读写 request 包,AT(address Type field)有如下的编码。ID 寻址方式主要用在 configuration 请求包、部分 message包、响应包中。ID 包括 Bus number、Divce number、function number 为 TLP 定位目标接收器。ID 寻址的 TLP 包头长度也有4DW 和 3DW 两种,ID 在 TLP 中位置见下图。第七个 Byte(Byte7)是第一个 DW 数据负荷和最后一个DW 数据负荷使能位(Byte Enables),Byte Enables 在于memory,i/o,configuration 请求包中有效

9、,如图。对于 last DW BE 和 1st DW BE 中的每一个位,为 0 表示相应的数据字节不被读或写,为 1 表示相应的数据字节有效。每个使能位相对应的字节如下。处理层描述符(transaction Descriptor),用于请求器件和应答器件间转送处理层信息,包括三部分,Transaciton ID、Attributes、Traffic class(TC)。如下图。其中 Transaction ID 包括: Requester ID、Tag,如图。Tag7:0是由产生请求包的器件生成的,如果请求器件需要应答,则每个 Tag7:0和 Function Number 是独一无二的。T

10、ransaction ID 是一个全局标识符用于响应包寻址请求器件。TC 的规定如下,描述服务的层次和用于映射虚拟通道:处理层描述符在请求包中第二个 DW:。中图中看出,描述字符放在第二个 DW 的前三个字节中。三i/o,memory,configuration,message request、completetion 详解。memory、i/o、configuration request 包头除了基本的域之外还包括:Transaction ID 即 requester ID、Tag、Last DW BE、1st DW BE,放在第二个 DW 中。以下分别介绍这三种不同的请求包。memory

11、request package:采用直接地址寻址,有 64bit 地址和 32bit 地址两种,其中读请求包的 Length 域不应大于 Max_Read_Request_Size 寄存器设置的值。请求器件不会示例一个所访问的 memory 空间超过 4KB的 read request 包。以下是两种不同地址长度的 memory request 包。I/O request 包:I/O request 包只有 32 位地址寻址。有如下限制: TC2:0 must be 000b Attr1:0 must be 00b AT1:0 must be 00b Length9:0 must be 00

12、0000 0001b Last DW BE3:0 must be 0000b格式如下:可见每次只传送一个 DW 数据。configuration request 包:configuration request 包采用 ID 寻址方式,包头(Tlp Header 长度是 3DW)。有如下规定: TC2:0 must be 000b Attr1:0 must be 00b AT1:0 must be 00b 9:0 must be 00 0000 0001b Last DW BE3:0 must be 0000b包格式:Message 包:Message 包分为: INTx Interrupt S

13、ignaling INTx 中断信息包 Power Management 电源管理机能。 Error Signaling 错误信息包 Locked Transaction Support 锁住交易的支持 Slot Power Limit Support 插槽电源限制的支持 Vendor-Defined Messages 制造商自行定义信息所有的 Message 包都用 Msg 编码,即不包括数据负荷的Message 包,除了 Vendor_Defined Messages 和Set_Slot_Power_Limit Message 包,Message 包有以下限制: The Message C

14、ode field must be fully decoded (Message aliasing is not permitted). Except as noted, the Attr1:0 field is reserved.保留 Attr 域。 AT1:0 must be 00b. Except as noted, bytes 8 through 15 are reserved.保留包头部分的 bytes8 到 byte15. Message Requests are posted and do not require Completion.Message 包不需要返回响应包。 Mes

15、sage Requests follow the same ordering rules as Memory Write Requests.寻址方式:隐含寻址,由 Type 域中的 r2:0决定,即 Type 域的最后三位。具体寻址映射如下:r2:0是 010 时,寻址方式就是 ID 寻址。completion rules(应答机制):completion 包用 ID寻址方式,寻址使用的 ID 就是 request 提供的 requester ID。除了那些正常的域以外,还包括: Completer ID15:0 Identifies the Completer described in detail below Completion Status2:0 Indicates the status for a Completion

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号