PCI-Express协议传输层读书笔记_第1页
PCI-Express协议传输层读书笔记_第2页
PCI-Express协议传输层读书笔记_第3页
PCI-Express协议传输层读书笔记_第4页
PCI-Express协议传输层读书笔记_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PCIETLP层学习摘要北京炎强通信技术有限公司处理层协议(transactionLayerspecification)整理:捷马 联系我:giema@163.com2011-12-02目录1.TLP概况 21.1四种空间: 21.2三种处理类型: 21.3两种属性: 31.4主要包格式: 31.5TLP通用包头 42.TLP打包地址和路由导向方式 72.1Address寻址 72.2ID寻址方式 82.3处理层描述符(transactionDescriptor): 103.i/o,memory,configuration,messagerequest、completetion详解。 113.1MemoryRequestPackage 113.2I/ORequest包 123.3ConfigurationRequest包 133.4Message包: 133.5CompletionRules(应答机制) 154.请求和应答处理机制 164.1RequestHandlingRules 174.2CompletionHandling 185.virtualchannel(vc)Mechanism虚拟通道机制。 195.1TC/VC映射 205.2FlowControl 216.DataIntegrity数据完整性 221.TLP概况处理层(transactionLayerspecification)是请求和响应信息形成的基础。包括四种地址空间,三种处理类型,从下图可以看出在transactionLayer中形成的包的基本概括。1.1四种空间:1.2三种处理类型:i/o口和memory的读写包(TLPS:transactionLayerspackages),配置寄存器的读写设置包信息包,描述通信状态。作为事件的信号告知用户。对memory的读写包分为读请求包和响应包、写请求包(不需要存储器的响应包)。而i/o类型的读写请求都需要返回I/O口的响应包,configuration包对配置寄存器的读写请求也有响应包。这些请求包还可以按属性来分类。1.3两种属性:NonPosted:即请求需要返回completion的响应包;Posted:即不需要completion返回响应包。例如上面的存储器写入请求包和Message包都隶属于posted包。1.4主要包格式:每种类型的包都有一定格式的包头(TlpHeader),根据不同的包的特性,还包括有效数据负荷(DataPayload)和tlp开销块(TlpDigest)。包头中的数据用于对包的管理和控制。有效数据负荷域存放有效数据信息。具有数据的TLP传递是有一定规则的:以DW为长度单位,发送端数据承载量不得超过“DeviceControlRegister”中的“Max_Payload_Size”数值,接收端中,所接收到的数据量也不能超过接收端“DeviceControlRegister”中的“Max_Payload_Size”数值。TLpDigest域是32位的ECRC校验。具体的包结构图如下:由此图可看出数据从低字节的高位先发送,从左到右。以下详细介绍TLPS的每个成分。1.5TLP通用包头R为保留信息位,应设为0,路由器switch对此位不做修改,接收器应该忽略此位。Fmt[1:0]:FormatofTLP(seeTable2-2)–bits6:5ofbyte0Type[4:0]:TypeofTLP–bits4:0ofbyte0TC[2:0]:TrafficClass–bits[6:4]ofbyte1,关于TC的作用将在下文说明。Attr[1:0]:Attributes–bits[5:4]ofbyte2,详细介绍见下文TD:1bindicatespresenceofTLPdigestintheformofasingleDWattheendoftheTLP标志TLPDigest域的有无。EP:indicatestheTLPispoisoned–bit6ofbyte2有效数据中毒(出错)机制。Length[9:0]:LengthofdatapayloadinDW.Fmt开销位说明TLPHeader的长度和TLP是否包含数据,见下图。Fmt[1:0]=00b,代表3DW的包头,没有数据。Fmt[1:0]=01b,代表4DW的包头,没有数据。Fmt[1:0]=10b,代表3DW的包头,有数据。Fmt[1:0]=11b,代表4DW的包头,有数据。Fmt[0]表示包头格式是3长字还是4长字。Fmt[1]表示包头是否包含数据。Fmt和Type开销组合定义了包(TLP)的类型如下。上图定义了各种类型的包,图中的r[2:0]用于定义Message包的隐含寻址方式,在下文中更为详细。Length域定义了有效负荷的DW长度如下。在不包含datapayload块的包中Length的值应被设置为保留值R,并被接收端忽略。余下的各个开销位将在后文提到。2.TLP打包地址和路由导向方式主要有三种TLP寻址方式:地址路由(address)、ID识别路由、间接路由(implicit)。下面主要解释address和ID寻址方式,间接寻址将在后面提及。2.1Address寻址主要用于memory和i/orequest请求包,memory读写请求包支持64位地址和32位地址,i/o读写请求只支持32位地址64位地址寻址的TLPHeader有4DW(16字节),32位地址寻址的TLPHeader有3DW长。上图就是64位地址的4DW的包头和32位地址的3DW的包头。对于memory读写request包,AT(addressTypefield)有如下的编码。2.2ID寻址方式主要用在configuration请求包、部分message包、响应包中。ID包括Busnumber、Divcenumber、functionnumber为TLP定位目标接收器。ID寻址的TLP包头长度也有4DW和3DW两种,ID在TLP中位置见下图。第七个Byte(Byte7)是第一个DW数据负荷和最后一个DW数据负荷使能位(ByteEnables),ByteEnables在于memory,i/o,configuration请求包中有效,如图。对于lastDWBE和1stDWBE中的每一个位,为0表示相应的数据字节不被读或写,为1表示相应的数据字节有效。每个使能位相对应的字节如下。2.3处理层描述符(transactionDescriptor):对于两种路由方式来说是通用的。用于请求器件和应答器件间转送处理层信息,包括三部分,TransacitonID、Attributes、Trafficclass(TC)。如下图。其中TransactionID包括:RequesterID、Tag,如图。Tag[7:0]是由产生请求包的器件生成的,如果请求器件需要应答,则每个Tag[7:0]和FunctionNumber是独一无二的。TransactionID是一个全局标识符用于响应包寻址请求器件。TC的规定如下,描述服务的层次和用于映射虚拟通道:处理层描述符在请求包中第二个DW:。中图中看出,描述字符放在第二个DW的前三个字节中。3.i/o,memory,configuration,messagerequest、completetion详解。memory、i/o、configurationrequest包头除了基本的域之外还包括:TransactionID即requesterID、Tag、LastDWBE、1stDWBE,放在第二个DW中。以下分别介绍这三种不同的请求包。3.1MemoryRequestPackage采用直接地址寻址,有64bit地址和32bit地址两种,其中读请求包的Length域不应大于Max_Read_Request_Size寄存器设置的值。请求器件不会示例一个所访问的memory空间超过4KB的readrequest包。以下是两种不同地址长度的memoryrequest包。64位地址的包格式32位地址的包格式3.2I/ORequest包I/Orequest包只有32位地址寻址。有如下限制:TC[2:0]mustbe000bAttr[1:0]mustbe00bAT[1:0]mustbe00bLength[9:0]mustbe0000000001bLastDWBE[3:0]mustbe0000b格式如下:可见每次只传送一个DW数据。3.3ConfigurationRequest包configurationrequest包采用ID寻址方式,包头(TlpHeader长度是3DW)。有如下规定:•TC[2:0]mustbe000b•Attr[1:0]mustbe00b•AT[1:0]mustbe00b•[9:0]mustbe0000000001b•LastDWBE[3:0]mustbe0000b包格式:3.4Message包:Message包分为:INTxInterruptSignalingINTx中断信息包PowerManagement电源管理机能。ErrorSignaling错误信息包LockedTransactionSupport锁住交易的支持SlotPowerLimitSupport插槽电源限制的支持Vendor-DefinedMessages制造商自行定义信息所有的Message包都用Msg编码,即不包括数据负荷的Message包,除了Vendor_DefinedMessages和Set_Slot_Power_LimitMessage包,Message包有以下限制:TheMessageCodefieldmustbefullydecoded(Messagealiasingisnotpermitted).Exceptasnoted,theAttr[1:0]fieldisreserved.保留Attr域。AT[1:0]mustbe00b.Exceptasnoted,bytes8through15arereserved.保留包头部分的bytes8到byte15.MessageRequestsarepostedanddonotrequireCompletion.Message包不需要返回响应包。MessageRequestsfollowthesameorderingrulesasMemoryWriteRequests.寻址方式:隐含寻址,由Type域中的r[2:0]决定,即Type域的最后三位。具体寻址映射如下:r[2:0]是010时,寻址方式就是ID寻址。3.5CompletionRules(应答机制)completion包用ID寻址方式,寻址使用的ID就是request提供的requesterID。除了那些正常的域以外,还包括:CompleterID[15:0]–IdentifiestheCompleter–describedindetailbelowCompletionStatus[2:0]–IndicatesthestatusforaCompletionBCM–ByteCountModifiedByteCount[11:0]–TheremainingbytecountforRequestTag[7:0]–incombinationwiththeRequesterIDfield,correspondstotheTransactionIDLowerAddress[6:0]–lowerbyteaddressforstartingbyteofCompletioncompl.Status位有如下含义:4.请求和应答处理机制处理机制就是对接收到的经DataLinkLayer进行数据完整性验证的Tlp进行处理。无效的包将被抛弃,保留字(reserved)将被忽略。以下是处理流程:对所有的包分requesthandling和completionhandling,按不同的规范处理。4.1RequestHandlingRules如果请求是一个不支持的请求包,并且需要响应,则CompletionStatus=UR,即不支持的请求。如果请求包是一个Message包则按Message包处理规则处理,否则对这个request进行处理。如果请求违反器件编程定义则给出ca响应,即响应器件放弃该请求,否则做出正确应答。4.2CompletionHandling如果接收到一个completion包的TransactionID和requester的TransactionID不一致则这个应答包是非预期包。合法的应答包将按Compl.Status域处理并提取有效数据负荷。5.virtualchannel(vc)Mechanism虚拟通道机制。虚拟信道(virtualchannel)在总线中提供用TC域来区分的虚拟信息通路,即某一传输通路,有不同的流程控制机制(FlowControl)。当某流程控制出现拥塞时,其他通路依然畅通。VC有自己的独立流控制,是实现Qos的秘诀。VC通道是解决拥塞的基础。在Switch内部,VC通道机制如下:5.1TC/VC映射每个TLP包并不包含具体的VC信息,VC是由TC映射得到的。每个器件的TC/VC映射是不同的,TC0/VC0是固定的。具体TC、VC映射如下:一个或多个TC映射到一个VC,同一个TC不能映射到不同的VC上,连接双方的映射机制一致。除了TC0外,其他的可以软件设置。链路两端的映射方案要一致,如图是一种映射方案。具体的虚拟通道是由VCID决定和识别的。5.2FlowControl每个虚拟通道有独立的流程控制的缓冲空间。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论