PCIE架构简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

白皮书PCIe入门ScottKnowlton,Synopsys的产品营销经理2007年9月©2007Synopsys,Inc.从并行到串行PCIExpress®(又称PCIe®)是一种高性能、高带宽串行通讯互连标准,由外设组件互连特别兴趣组(PCI-SIG)制定,以取代基于总线的通信架构,如:PCI、PCIExtended(PCI-X)以及加速图形端口(AGP)。转向PCIe的主要动机是以更低的生产成本获得明显提高的系统吞吐量、可扩展性和灵活性,而上述这些是传统基于总线的互连几乎根本无法达到的。PCIExpress标准的制定是着眼未来的,它还在继续发展为系统提供更高的吞吐量。第一代PCIe约定的吞吐量是2.5千兆位/秒(Gbps),第二代则达到5.0Gbps,而最近发布的PCIe3.0标准则能支持8.0Gbps的速率。在PCIe标准继续利用最新的技术以提供不断增加的吞吐量的同时,利用分层协议、通过使驱动程序保持与现有PCI应用的软件兼容性将简化从PCI到PCIe的过渡。虽然最初定位在电脑扩展卡和图形卡应用,但目前,PCIe已在更广泛的领域得到应用,包括:网络、通信、存储、工业和消费类电子产品等。本白皮书的目的是使读者充分了解PCIExpress以及对成功实现PCIe来说,那些关键的设计挑战。PCIExpress基础拓补结构本节介绍PCIe协议的基础,以及在当今系统中实现和支持PCIe协议所需的各不同部分。本节的目标是提供有关PCIe的工作原理,并不更深入地涉及PCIe协议的复杂内容。PCIe的优势以其复杂性为代价。PCIe是基于分组的串行连接协议,估计比PCI并行总线复杂10倍以上。这种复杂性部分源于在千兆赫速率所要求的并行到串行的数据转换以及转向基于分组的实现。PCIe保持了PCI基于加载存储的基本架构,包括对PCI-X增加的对分割事务的支持。此外,它引进了一系列底层信息传送要件来管理链接(如链路层流量控制)以模仿传统并行总线的边带线,且提供了更高水平的鲁棒性和功能。该规范定义了许多特性、能同时支持当今的需求和未来的扩展需要,且同时与PCI保持了软件兼容。PCIExpress的先进特性包括:主动电源管理;先进的错误报告;通过端对端循环冗余校验(ECRC)支持的端对端的可靠性;支持热插拔以及服务质量(QoS)流通类。一个简化系统的拓扑结构包括四个功能类型——根联合体根联合体(rootcomplex)、交换器、端点和桥——见图1。虚线代表着两个PCIe设备间的一个连接,被称为链路。©2007Synopsys,Inc.CPUGFX芯片组w/RootComplex存储器PCIPCIe到PCI桥开关端点端点端点图1:4个PCIe功能类型•根联合体对整个PCIe建构实施初始化并配置各链路。它通常把中央处理单元(CPU)与其它三个功能中的一或多个——PCIe交换器、PCIe端点和PCIe到PCI桥——连接起来。•PCIe交换器把数据路由至下游多个PCIe端口,并分别从其中每个端口路由到上游唯一一个根联合体。PCIe交换器也可以灵活地把数据从一个下游端口路由到另一个下游端口(点对点),它消除了传统PCI系统限制性的树状结构。•端点通常位于终端应用内,它负责连接应用与系统内的PCIe网络。端点要求并完成PCIe事务传输。一般来说,系统内的端点比任何其他类型的PCIe部件都要多。•桥用于连接PCIe与系统内诸如PCI/PCI-X等其他PCI总线标准;这样的系统同时采用上述各总线架构。PCIe协议规范PCIe规范定义的协议遵循开放源码促进会(OSI)模型。该模型分为5个基本层,如图2左侧所示。本节将对机械和物理层进行一般描述;随后的章节将讨论链路、事务传输和应用层。©2007Synopsys,Inc.TxDataCommandStatusRxDataPCIk应用PIPE应用事务传输链路物理逻辑电气机械物理接口(PIPE)PCS层电气子块Transaction链路PhysicalPhysicalCodingSub-layerRxTx通路链路状态机训练和状况状态机(LTSSM)以及通路–通路去扭8b/10b编码/解码弹性缓冲器Rx检测模拟缓存器SERDES10位接口图2.PCIe规范协议层•机械层定义了诸如对连接器、卡外形尺寸、卡检测和热插拔等要求的机械环境。在图2的右边,我们对其余层进行了展开,以更准确地显示那些更靠底部的层是如何映射到物理硬件实现的。如图所示,物理层分为两个子层:电气和逻辑层。不少公司已经在电气层和逻辑层间定义了一个称为PCIExpress(PIPE)的物理接口,并对其加以利用。PIPE接口使设计能参照一个标准接口进行且还能使购自不同厂商的多个部件协同工作。•物理层下的电气子层实现包括收发器、模拟缓冲器、串行/解串行器(SerDes)在内的模拟器件以及10位接口。•物理编码子层(PCS)把每8位数据字节编码/解码为10位代码。这种编码特性不仅能检查有效字符,而且也限制了被发送的“0”和“1”数量上的差异,从而同时在发射器和接收器侧保持了DC均衡,进而大大提高了电磁兼容性(EMC)和电气信号性能。•在物理层内PIPE接口的另一侧包含用以指示链路训练和状态的状态机(LTSSM)、通道间去除偏移、特殊序列检测和生成等功能。在物理硬件内:从串行引脚层到PIPE接口层统称为物理层;从PIPE接口到应用的那些层统称为数字控制器。任何给定PCIe链路的端点都必须包括物理层和数字控制器。图3显示了插入到根联合体内的PCIe物理层和控制器以及来自在图1中定义的子系统内的端点。端点使用端点端口,根联合体设备使用根端口。图3显示了展延进各自物理层的端口类型以及控制器功能。©2007Synopsys,Inc.芯片组w/RootComplexPCIeRC控制器物理层物理层PCIe端点端点图3.系统级芯片内的物理层和控制器用法如前述,两个端口间的虚线代表链路。该PCIe链路是单向的,它使用低电压差分信号。PCIe规范定义:每个链路可以包含多达32个平行通道以增加吞吐量;因此,PCIe1.x(2.5Gbps)和PCIe2.0(5.0Gbps)链路的吞吐量可分别高达80和160Gbps。链路内的每条通道都提供自己的嵌入时钟,从而消除了在PC板上进行的通道长度匹配,而旧的PCI接口为保持时序需要这种匹配。接着的两节将更深入地讨论物理层设计和数字控制器功能。PCIeSerDes设计挑战对设计师来说,为PCIe设计其物理层尤其困难,原因如下:•串行到并行的数据转换,要求先进的模拟设计。•不同工艺技术间,模拟设计不具移植性。所以必须针对芯片制造所采用的工艺技术对物理层实施重新设计。•高速——虽然它本身就足以是个设计挑战——并且模拟链路引入的额外设计复杂性(如因信号完整性和噪音导致的衰减,当然是必须要予以解决的问题)使设计难度进一步加大。•物理层必须通过严格的电气和兼容性测试,以确保与其它设备的互操作性。随着线速度的增加,物理层的设计不仅更艰难,且还要必须小心地应对整合问题以规避在超过1Gbps吞吐量情况下,会发生的信号完整性问题。高速时的封装和板级设计变得更加困难和耗时且经常导致项目延期。此外,高性能物理层设计要求在高速模拟通信方面有高超技巧。取决于设备制造工艺,这种通信很关键,因此设计师必须具备基本器件物理方面的认识。这种专门知识只有通过丰富的设计经验才能获得。困难不仅存在于物理层开发,且物理层还必须与其他公司设计的PCIe接口互操作。因此,PCI-SIG组织提供一致性测试服务——通常称为“plug-fests”——以测试一个设计是否符合规范及与其他设备的互操作性。©2007Synopsys,Inc.DataRate.0GbpsDataRate1.Gbps.0Gbps为什么PCIe的工程挑战如此艰巨?图4显示的是在高速设计中此问题的一个例子以及标准FR4电路板材料对信号的影响。图左侧分别显示的是1.25Gbps和5Gbps数据流的二进制眼图,信号都是采用26英寸长的标准FR4板材传输的。图右侧对应的二进制眼图显示的是在接收端信号的衰减。1.25Gbps数据流在传输过程中,信号得以相当好地保留;但由于在高于1GHz频率速率下,低成本FR4基板和互连材料引入的介电损耗,5Gbps眼图的大小和清晰度已被严重恶化。发射眼接收眼@26英寸FR4板材图4.带频率增加的二进制眼图频率越高,损耗越大;从而导致无法接受的1-0-1-0位流(本质上是交流信号)失真,尽管一系列全“1”或全“0”(本质上是直流信号)能成功传输。解决方案是通过加大相对于低频(DC)信号而言的高频(AC)信号的幅值来提升总体信噪比——它是个称为预加重的过程。另一种方法是对较低频率的信号进行去加重。在发射器端采用预加重可为接收端提供干净的眼图从而能使裕度满足规范。(见图5)。发射眼接收眼@26英寸FR4板材发射眼带预加重接收眼带预加重@26英寸FR4板材图5.利用预加重限制二进制眼图衰减使用预加重和其它模拟设计技术可提供一个干净信号。然而,即便一个具有明显干净二进制眼图的信号仍必须要满足PCIe规范的电压裕度要求。在图6中,左边的图表示的是菱形在中央、规定了最小眼图开启程度的PCIe规范。中间的图传递了这些PCIe规范要求(如图中菱形所示)并显示了一个超过这些要求的可接受的开眼程度。右边图显示的是未能达到菱形所代表的开眼要求的波形。©2007Synopsys,Inc.图6.满足电压裕度要求这样做的意义何在?在高速SerDes测试中,使用回环模式以确保物理层可产生一个干净的眼图是常用手法。然而,即使器件有干净的眼图、有可能通过回环测试,但仍可能无法与系统中的其他PCIe器件可靠通信。显然,回环测试不足以确保物理层能通过PCIe规范的电气要求。为克服回环测试的局限,Synopsys在其高速物理层设计中植入了片上诊断功能,为观察链路行为和性能提供了实时可视性。这种诊断对信号完整性问题进行了确定和量化,如过抖动和裸片电压冗余不够等问题,这是简单的“通过/不通过”回环诊断做不到的。为应对上述物理层研发挑战可能会引入进一步约束。这些挑战必须要在满足经济上可行的芯片在面积和功耗方面限制的前提下予以解决。小裸片、低功耗是一种要求。PCIExpress数字控制器设计挑战PCIe的复杂性远超PCI,其接口复杂性约大10倍、门数量(不包括物理层)约是7.5倍。PCIe还定义了不同的端口类型,包括:根联合体、交换器、桥和端点。使问题更复杂的是:对各种PCIe端口类型来说,不存在一个普适的设计。例如:一个1G以太网控制器PCIe扩展卡的要求可由带32位内部数据通路的单一通道(×1)端点实现;而机顶盒则可能需要带双根联合体和端点功能的64位内部数据通路。有许多因素会增加PCIe接口的复杂性,包括特定PCIe应用会用到的可选特性。在实施PCIe接口时,必须谨慎以保证设计中只包含必要的特性,避免在不必要的门数、面积和功耗方面付出代价。各类PCIe端口类型都有一系列所需的特性,但也有一些必须要优化和解决的系统级问题。这种系统级策略极大地影响到接口性能和门数量。但这些策略不在本白皮书讨论的范围和目的之内。PCIe数据包在研讨各协议层不同特点的细节之前,了解数据是如何在PCIe网络上传输的很重要。PCIExpress采用数据包在各系统间以及数字接口的各层和PCIe设备间传输数据。应用层发起事务传输,事务传输层把应用请求转换为一个PCIe事务包。数据链路层为该数据包增加一个序列号和链路CRC(LCRC)。数据链路层还确保该双向事务接收正确(见图7)。最后,物理层在PCIe链路上传输该事务。©2007Synopsys,Inc.STP1ByteType1ByteData3Byte16bCRC2ByteEND1ByteSTPSEQTLPHeader2DataPayloadECRCLCRCEND1Byte2Byte12/160-4KByte4Byte4Byte1ByteTLP交易层数据链路层物理层DLLP数据链路层物理层图7.物理层(逻辑)控

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功