PCIE基础知识总结,pcie总线的基础知识
本作品内容为PCIE基础知识总结,格式为 docx ,大小 172135 KB ,页数为 11页
('PCIE基础知识总结.PCIe总线概括跟着现代办理器技术的发展,在互连领域中,使用高速差分总线代替并行总线是大势所趋。与单端并行信号对比,高速差分信号能够使用更高的时钟频次,进而使用更少的信号线,达成以前需要很多单端并行数据信号才能达到的总线带宽。PCI总线使用并行总线构造,在同一条总线上的全部外面设施共享总线带宽,而PCIe总线使用了高速差分总线,并采纳端到端的连结方式,所以在每一条PCIe链路中只好连结两个设施。这使得PCIe与PCI总线采纳的拓扑构造有所不一样。PCIe总线除了在连结方式上与PCI总线不一样以外,还使用了一些在网络通讯中使用的技术,如支持多种数据路由方式,鉴于多通路的数据传达方式,和鉴于报文的数据传递方式,并充足考虑了在数据传递中出现服务质量QoS(QualityofService)问题。PCIe总线的基础知识与PCI总线不一样,PCIe总线使用端到端的连结方式,在一条PCIe链路的两头只好各连结一个设施,这两个设施互为是数据发送端和数据接收端。PCIe总线除了总线链路外,还拥有多个层次,发送端发送数据时将经过这些层次,而接收端接收数据时也使用这些层次。PCIe总线使用的层次构造与网络协议栈较为近似。端到端的数据传达PCIe链路使用“端到端的数据传递方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其构造如图4-1所示。1PCIE基础知识总结.2PCIE基础知识总结.由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线构成。此中发送端的TX零件与接收端的RX零件使用一组差分信号连结,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX零件与接收端的TX零件使用另一组差分信号连结,该链路也被称为发送端的接收链路,也是接收端的发送链路。一个PCIe链路能够由多个Lane构成。高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。该电容也被称为AC耦合电容。PCIe链路使用差分信号进行数据传递,一个差分信号由D+和D-两根信号构成,信号接收端经过比较这两个信号的差值,判断发送端发送的是逻辑“1”仍是逻辑“0”。与单端信号对比,差分信号抗扰乱的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“切近”,并且在同层。因别的部扰乱噪声将被“同值”并且“同时”加载到D+和D-两根信号上,其差值在理想状况下为0,对信号的逻辑值产生的影响较小。所以差分信号能够使用更高的总线频次。别的使用差分信号能有效克制电磁扰乱EMI(ElectroMagneticInterference)。因为差分信号D+与D-距离很近并且信号幅值相等、极性相反。这两根线与地线间耦合电磁场的幅值相等,将互相抵消,所以差分信号对外界的电磁扰乱较小。自然差分信号的弊端也是不言而喻的,一是差分信号使用两根信号传递一位数据;二是差分信号的布线相对严格一些。PCIe链路能够由多条Lane构成,当前PCIe链路能够支持1、2、4、8、12、16和32个Lane,即×1、×2、×4、×8、×12、×16和×32宽度的PCIe链路。每一个Lane上使用的总线频次与PCIe总线使用的版真有关。第1个PCIe总线规范为,以后挨次为,,和。当前PCIe总线的最新规范为,而正在开发过程中,估计在2010年公布。不一样的PCIe总线规范所定义的总线频次和链路编码方式其实不同样,如表4-1所示。表4-1PCIe总线规范与总线频次和编码的关系PCIe总线规范总线频次1[1]单Lane的峰值带宽编码方式8/10b编码5GT/s8/10b编码4GHz8GT/s128/130b编码.3PCIE基础知识总结.如上表所示,不一样的PCIe总线规范使用的总线频次其实不同样,其使用的数据编码方式也不同样。PCIe总线和规范在物理层中使用8/10b编码,即在PCIe链路上的10bit中含有8bit的有效数据;而规范使用128/130b编码方式,即在PCIe链路上的130bit中含有128bit的有效数据。由上表所示,规范使用的总线频次固然只有4GHz,可是其有效带宽是的两倍。下文将以规范为例,说明不一样宽度PCIe链路所能供给的峰值带宽,如表4-2所示。表4-2PCIe总线的峰值带宽PCIe总线的数据位宽×1×2×4×8×12×16×32峰值带宽(GT/s)51020406080160由上表所示,×32的PCIe链路能够供给160GT/s的链路带宽,远高于PCI/PCI-X总线所能提供的峰值带宽。而马上推出的PCIe规范使用4GHz的总线频次,将进一步提升PCIe链路的峰值带宽。在PCIe总线中,使用GT(Gigatransfer)计算PCIe链路的峰值带宽。GT是在PCIe链路上传达的峰值带宽,其计算公式为总线频次×数据位宽×2。在PCIe总线中,影响有效带宽的要素有好多,因此其有效带宽较难计算。只管这样,PCIe总线供给的有效带宽仍是远高于PCI总线。PCIe总线也有其短处,此中最突出的问题是传递延时。PCIe链路使用串行方式进行数据传递,但是在芯片内部,数据总线仍旧是并行的,所以PCIe链路接口需要进行串并变换,这类串并变换将产生较大的延时。除此以外PCIe总线的数据报文需要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。在鉴于PCIe总线的设施中,×1的PCIe链路最为常有,而×12的PCIe链路很少出现,×4和×8的PCIe设施也不常见。Intel往常在ICH中集成了多个×1的PCIe链路用来连结低速外设,而在MCH中集成了一个×16的PCIe链路用于连结显卡控制器。而PowerPC办理器往常能够支持×8、×4、×2和×1的PCIe链路。PCIe总线物理链路间的数据传递使用鉴于时钟的同步传递体制,可是在物理链路上并无时钟线,PCIe总线的接收端含有时钟恢复模块CDR(ClockDataRecovery),CDR将从接收报文中提取接收时钟,进而进行同步数据传达。值得注意的是,在一个PCIe设施中除了需要从报文中提取时钟外,还使用了REFCLK+和REFCLK信-号对作为当地参照时钟,这个信号对的描绘见下文。PCIe总线使用的信号PCIe设施使用两种电源信号供电,分别是Vcc与Vaux,其额定电压为。此中Vcc为主电源,PCIe设施使用的主要逻辑模块均使用Vcc供电,而一些与电源管理有关的逻辑使用Vaux供电。在PCIe设施中,一些特别的存放器往常使用Vaux供电,如StickyRegister,此时即使PCIe设施的Vcc被移除,这些与电源管理有关的逻辑状态和这些特别存放器的内容也不会发生改变。在PCIe总线中,使用Vaux的主要原由是为了降低功耗和缩短系统恢复时间。因为Vaux在多半状况下其实不会被移除,所以当PCIe设施的Vcc恢复后,该设施不用从头恢复使用Vaux供电的逻辑,进而设施能够很快地恢复到正常工作状状态。PCIe链路的最大宽度为×32,可是在实质应用中,×32的链路宽度很少使用。在一个办理器系统中,一般供给×16的PCIe插槽,并使用PETp0~15、PETn0~15和PERp0~15、.4PCIE基础知识总结.PER--]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]n0~15共64根信号线构成32对差分信号,其中16对PETxx信号用于发送链路,此外16对PERxx信号用于接收链路。除此以外PCIe总线还使用了以下协助信号。1PERST#信号该信号为全局复位信号,由办理器系统供给,办理器系统需要为PCIe插槽和PCIe设施供给该复位信号。PCIe设施使用该信号复位内部逻辑。当该信号有效时,PCIe设施将进行复位操作。PCIe总线定义了多种复位方式,此中ColdReset和WarmReset这两种复位方式的实现与该信号有关,详见第节。2REFCLK+和REFCLK信-号在一个办理器系统中,可能含有很多PCIe设施,这些设施能够作为Add-In卡与PCIe插槽连接,也能够作为内置模块,与办理器系统供给的PCIe链路直接相连,而不需要经过PCIe插槽。PCIe设施与PCIe插槽都拥有REFCLK+和REFCLK信-号,此中PCIe插槽使用这组信号与办理器系统同步。在一个办理器系统中,往常采纳专用逻辑向PCIe插槽供给REFCLK+和REFCLK信-号,如图4-2所示。此中100Mhz的时钟源由晶振供给,并经过一个“一推多”的差分时钟驱动器生成多个同相位的时钟源,与PCIe插槽一一对应连结。PCIe插槽需要使用参照时钟,其频次范围为100MHz±300ppm。办理器系统需要为每一个PCIe插槽、MCH、ICH和Switch供给参照时钟。并且要求在一个办理器系统中,时钟驱动器产生的参照时钟信号到每一个PCIe插槽(MCH、ICH和Swith)的距离差在15英寸以内。往常信号的流传速度靠近光速,约为6英寸/ns,因而可知,不一样PCIe插槽间REFCLK+和REFCLK信-号的传递延时差约为。当PCIe设施作为Add-In卡连结在PCIe插槽时,能够直接使用PCIe插槽供给的REFCLK+和REFCLK信-号,也能够使用独立的参照时钟,只需这个参照时钟在100MHz±300ppm范围内即可。内置的PCIe设施与Add-In卡在办理REFCLK+和REFCLK信-号时使用的方法近似,可是PCIe设施能够使用独立的参照时钟,而不使用REFCLK+和REFCLK信-号。在PCIe设施配置空间的LinkControlRegister中,含有一个“CommonClockConfiguration”位。当该位为1时,表示该设施与PCIe链路的对端设施使用“同相位”的参照时钟;假如为0,表示该设施与PCIe链路的对端设施使用的参照时钟是异步的。在PCIe设施中,“CommonClockConfiguration”位的缺省值为0,此时PCIe设施使用的参照时钟与对端设施没有任何联系,PCIe链路两头设施使用的参照时钟能够异步设置。这个异步.5PCIE基础知识总结.时钟设置方法关于使用PCIe链路进行远程连结时尤其重要。在一个办理器系统中,假如使用PCIe链路进行机箱到机箱间的互连,因为参照时钟能够异步设置,机箱到机箱之间进行数据传递时仅需要差分信号线即可,而不需要参照时钟,进而极大降低了连结难度。3WAKE#信号当PCIe设施进入休眠状态,主电源已经停止供电时,PCIe设施使用该信号向办理器系统提交唤醒恳求,使办理器系统从头为该PCIe设施供给主电源Vcc。在PCIe总线中,WAKE#信号是可选的,所以使用WAKE#信号唤醒PCIe设施的体制也是可选的。值得注意的是产生该信号的硬件逻辑一定使用协助电源Vaux供电。WAKE#是一个OpenDrain信号,一个办理器的全部PCIe设施能够将WAKE#信号进行线与后,一致发送给办理器系统的电源控制器。当某个PCIe设施需要被唤醒时,该设施第一置WAKE#信号有效,而后在经过一段延时以后,办理器系统开始为该设施供给主电源Vcc,并使用PERST#信号对该设施进行复位操作。此时WAKE#信号需要一直保持为低,当主电源Vcc上电达成以后,PERST#信号也将置为无效并结束复位,WAKE#信号也将随之置为无效,结束整个唤醒过程。PCIe设施除了能够使用WAKE#信号实现唤醒功能外,还能够使用Beacon信号实现唤醒功能。与WAKE#信号实现唤醒功能不一样,Beacon使用In-band信号,即差分信号D+和D-实现唤醒功能。Beacon信号DC均衡,由一组经过D+和D-信号生成的脉冲信号构成。这些脉冲信号宽度的最小值为2ns,最大值为16us。当PCIe设施准备退出L2状态(该状态为PCIe设施使用的一种低功耗状态)时,能够使用Beacon信号,提交唤醒恳求。4SMCLK和SMDAT信号SMCLK和SMDAT信号与x86办理器的SMBus(SystemMangementBus)有关。SMBus于1995年由Intel提出,SMBus由SMCLK和SMDAT信号构成。SMBus源于I2C总线,可是与I2C总线存在一些差别。SMBus的最高总线频次为100KHz,而I2C总线能够支持400KHz和2MHz的总线频次。别的SMBus上的从设施拥有超时功能,当从设施发现主设施发出的时钟信号保持低电平超出35ms时,将引起从设施的超时复位。在正常状况下,SMBus的主设施使用的总线频次最低为10KHz,以防止从设施在正常使用过程中出现超时。在SMbus中,假如主设施需要复位从设施时,能够使用这类超时体制。而I2C总线只好使用硬件信号才能实现这类复位操作,在I2C总线中,假如从设施出现错误时,纯真经过主设施是没法复位从设施的。SMBus还支持AlertResponse体制。当从设施产生一此中止时,其实不会立刻消除该中止,直到主设施向0b0001100地点发出命令。上文所述的SMBus和I2C总线的差别仍是限制于物理层和链路层上,实质上SMBus还含有网络层。SMBus还在网络层上定义了11种总线协议,用来实现报文传达。SMBus在x86办理器系统中获取了大规模普及,其主要作用是管理办理器系统的外面设施,并采集外设的运转信息,特别是一些与智能电源管理有关的信息。PCI和PCIe插槽也为SMBus预留了接口,以便于PCI/PCIe设施与办理器系统进行交互。在Linux系统中,SMBus获取了宽泛的应用,ACPI也为SMBus定义了一系列命令,用于智能电池、电池充电器与办理器系统之间的通讯。在Windows操作系统中,有关外面设施的描绘信息,也是经过SMBus获取的。5JTAG信号JTAG(JointTestActionGroup)是一种国际标准测试协议,与IEEE兼容,主要用于芯片内部测试。当前绝大部分器件都支持JTAG测试标准。JTAG信号由TRST#、TCK、TDI、TDO.6PCIE基础知识总结.和TMS信号构成。此中TRST#为复位信号;TCK为时钟信号;TDI和TDO分别与数据输入和数据输出对应;而TMS信号为模式选择。JTAG允很多个器件经过JTAG接口串连在一同,并形成一个JTAG链。当前FPGA和EPLD可以借用JTAG接口实此刻线编程ISP(In-SystemProgramming)功能。办理器也能够使用JTAG接口进行系统级调试工作,如设置断点、读取内部存放器和储存器等一系列操作。除此以外JTAG接口也可用作“逆向工程”,剖析一个产品的实现细节,所以在正式产品中,一般不保存JTAG接口。6PRSNT1#和PRSNT2#信号PRSNT1#和PRSNT2#信号与PCIe设施的热插拔有关。在鉴于PCIe总线的Add-in卡中,PRSNT1#和PRSNT2#信号直接相连,而在办理器主板中,PRSNT1#信号接地,而PRSNT2#信号经过上拉电阻接为高。PCIe设施的热插拔构造如图4-3所示。如上图所示,当Add-In卡没有插入时,办理器主板的PRSNT2#信号由上拉电阻接为高,而当Add-In卡插入时主板的PRSNT2#信号将与PRSNT1#信号经过Add-In卡连通,此时PRSNT2#信号为低。办理器主板的热插拔控制逻辑将捕捉这个“低电平”,得悉Add-In卡已经插入,进而触发系统软件进行相应地办理。Add-In卡拔出的工作体制与插入近似。当Add-in卡连结在办理器主板时,办理器主板的PRSNT2#信号为低,当Add-In卡拔出后,办理器主板的PRSNT2#信号为高。办理器主板的热插拔控制逻辑将捕捉这个“高电平”,得悉Add-In卡已经被拔出,进而触发系统软件进行相应地办理。不一样的办理器系统办理PCIe设施热拔插的过程其实不同样,在一个实质的办理器系统中,热拔插设施的实现也远比图4-3中的示例复杂得多。值得注意的是,在实现热拔插功能时,Add-inCard需要使用“长短针”构造。如图4-3所示,PRSNT1#和PRSNT2#信号使用的金手指长度是其余信号的一半。所以当PCIe设施插入插槽时,PRSNT1#和PRSNT2#信号在其余金手指与PCIe插槽完好接触,并经过一段延时后,才能与插槽完好接触;当PCIe设施从PCIe插槽中拔出时,这两个信号第一与PCIe插槽断连,再经过一段延时后,其余信号才能与插槽断连。系统软件能够使用这段延时,进行一些热拔插办理。.7PCIE基础知识总结.PCIe总线的层次构造PCIe总线采纳了串行连结方式,并使用数据包(Packet)进行数据传输,采纳这类构造有效去除了在PCI总线中存在的一些边带信号,如INTx和PME#等信号。在PCIe总线中,数据报文在接收和发送过程中,需要经过多个层次,包含事务层、数据链路层和物理层。PCIe总线的层次构造如图4-4所示。2PCIe总线的层次构成构造与网络中的层次构造有近似之处,可是PCIe总线的各个层次都是使用硬件逻辑实现的。在PCIe系统构造中,数据报文第一在设施的中心层(DeviceCore)中产生,而后再经过该设施的事务层(TransactionLayer)、数据链路层(DataLinkLayer)和物理层(PhysicalLayer),最后发送出去。而接收端的数据也需要经过物理层、数据链路和事务层,并最后抵达DeviceCore。事务层事务层定义了PCIe总线使用总线事务,此中多半总线事务与PCI总线兼容。这些总线事务能够经过Switch等设施传递到其余PCIe设施或许RC。RC也能够使用这些总线事务接见PCIe设施。事务层接收来自PCIe设施中心层的数据,并将其封装为TLP(TransactionLayerPacket)后,发向数据链路层。别的事务层还能够从数据链路层中接收数据报文,而后转发至PCIe设施的中心层。事务层的一个重要工作是办理PCIe总线的“序”。在PCIe总线中,“序”的观点特别重要,也较难理解。在PCIe总线中,事务层传达报文时能够乱序,这为PCIe设施的设计制造了不小的麻烦。事务层还使用流量控制体制保证PCIe链路的使用效率。有关事务层的详尽说明见第6章。数据链路层.8PCIE基础知识总结.数据链路层保证来自觉送端事务层的报文能够靠谱、完好地发送到接收端的数据链路层。来自事务层的报文在经过数据链路层时,将被增添SequenceNumber前缀和CRC后缀。数据链路层使用ACK/NAK协议保证报文的靠谱传达。PCIe总线的数据链路层还定义了多种DLLP(DataLinkLayerPacket),DLLP产生于数据链路层,停止于数据链路层。值得注意的是,TLP与DLLP其实不同样,DLLP其实不是由TLP加上SequenceNumber前缀和CRC后缀构成的。物理层物理层是PCIe总线的最基层,将PCIe设施连结在一同。PCIe总线的物理电气特征决定了PCIe链路只好使用端到端的连结方式。PCIe总线的物理层为PCIe设施间的数据通讯供给传递介质,为数据传递供给靠谱的物理环境。物理层是PCIe系统构造最重要,也是最难以实现的构成部分。PCIe总线的物理层定义了LTSSM(LinkTrainingandStatusStateMachine)状态机,PCIe链路使用该状态机管理链路状态,并进行链路训练、链路恢复和电源管理。PCIe总线的物理层还定义了一些特意的“序列”,有的书本将物理层这些“序列”称为PLP(PhsicalLayerPacker),这些序列用于同步PCIe链路,并进行链路管理。值得注意的是PCIe设施发送PLP与发送TLP的过程有所不一样。关于系统软件而言,物理层几乎不行见,可是系统程序员仍有必需较为深入地理解物理层的工作原理。PCIe链路的扩展PCIe链路使用端到端的数据传递方式。在一条PCIe链路中,这两个端口是完好平等的,分别连结发送与接收设施,并且一个PCIe链路的一端只好连结一个发送设施或许接收设施。所以PCIe链路一定使用Switch扩展PCIe链路后,才能连结多个设施。使用Switch进行链路扩展的实比如图4-5所示。在PCIe总线中,Switch2[2]是一个特别的设施,该设施由1个上游端口和2~n个下游端口构成。PCIe总线规定,在一个Switch中能够与RC直接或许间接相连3[3]的端口为上游端口,.9PCIE基础知识总结.在PCIe总线中,RC的地点一般在上方,这也是上游端口这个称号的由来。在Switch中除了上游端口外,其余全部端口都被称为下游端口。下游端口一般与EP相连,或许连结下一级Switch持续扩展PCIe链路。此中与上游端口相连的PCIe链路被称为上游链路,与下游端口相连的PCIe链路被称为下游链路。上游链路和下游链路是一个相对的观点。如上图所示,Switch与EP2连结的PCIe链路,对于EP2而言是上游链路,而对Switch而言是下游链路。在上图所示的Switch中含有3个端口,此中一个是上游端口(UpstreamPort),而其余两个为下游端口(DownstreamPort)。此中上游端口与RC或许其余Switch的下游端口相连,而下游端口与EP或许其余Switch的上游端口相连。在Switch中,还有两个与端口有关的观点,分别是Egress端口和Ingress端口。这两个端口与经过Switch的数据流向有关。此中Egress端口指发送端口,即数据走开Switch使用的端口;Ingress端口指接收端口即数据进入Switch使用的端口。Egress端口和Ingress端口与上下游端口没有对应关系。在Switch中,上下游端口能够作为Egress端口,也能够作为Ingress端口。如图4-5所示,RC对EP3的内部存放器进行写操作时,Switch的上游端口为Ingress端口,而下游端口为Egress端口;当EP3对主储存器进行DMA写操作时,该Switch的上游端口为Egress端口,而下游端口为Ingress端口。PCIe总线还规定了一种特别的Switch连结方式,即Crosslink连结模式。支持这类模式的Switch,其上游端口能够与其余Switch的上游端口连结,其下游端口能够与其余Switch的下游端口连结。PCIe总线供给CrossLink连结模式的主要目的是为认识决不一样办理器系统之间的互连,如图4-6所示。使用CrossLink连结模式时,固然从物理构造上看,一个Switch的上/下游端口与另一个Switch的上/下游端口直接相连,可是这个PCIe链路经过训练后,仍旧是一个端口作为上游端口,而另一个作为下游端口。办理器系统1与办理器系统2间的数据互换能够经过Crosslink进行。当办理器系统1(2)接见的PCI总线域的地点空间或许RequesterID不在办理器系统1(2)内时,这些数据将被Crosslink端口接收,并传达到对端办理器系统中。Crosslink对端接口的P2P桥将接收来自另一个办理器域的数据恳求,并将其变换为本办理器域的数据恳求。使用Crosslink方式连结两个拓扑构造完好同样的办理器系统时,仍旧有不足之处。假定图4-6中的办理器系统1和2的RC使用的ID号都为0,而主储存器都是从0x0000-0000开始编址时。当办理器1读取EP2的某段PCI总线空间时,EP2将使用ID路由方式,将达成报文传递给ID号为0的PCI设施,此时是办理器2的RC而不是办理器1的RC收到EP2的数据。因为办理器1和2的RC使用的ID号都为0,EP2不可以划分这两个RC。由上所述,使用Crosslink方式其实不可以完好解决两个办理器系统的互连问题,所以在有些.10PCIE基础知识总结.Switch中支持非透明桥构造。这类构造与PCI总线非透明桥的实现体制近似,本章对此不做进一步说明。使用非透明桥仅解决了两个办理器间数据通路问题,可是不便于NUMA构造对外面设施的一致管理。PCIe总线对此问题的最后解决方法是使用MR-IOV技术,该技术要求Switch拥有多个上游端口分别与不一样的RC互连。当前PLX企业已经能够供给拥有多个上游端口的Switch,可是还没有实现MR-IOV技术波及的一些与虚构化有关的技术。即使MR-IOV技术能够合理解决多个办理器间的数据接见和对PCIe设施的配置管理,使用PCIe总线进行两个或很多个办理器系统间的数据传达仍旧是一个不小问题。因为PCIe总线的传递延时仍旧是限制其在大规模办理器系统互连中应用的重要要素。.11',)
提供PCIE基础知识总结,pcie总线的基础知识会员下载,编号:1700739755,格式为 docx,文件大小为11页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。