PCIE基础知识
PCIe(Peripheral Component Interconnect Express)是一种高速差分总线技术,用于取代传统的并行总线结构。PCIe总线采用高速差分信号,可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行数据信号才能达到的总线带宽。
PCIe总线的基础知识与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为数据发送端和数据接收端。PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。PCIe总线使用的层次结构与网络协议栈较为类似。
PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4-1所示。由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。
PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0” 。与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“贴近”,而且在同层。因此外部干扰噪声将被“同值”且“同时”加载到D+和D-两根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。因此差分信号可以使用更高的总线频率。此外使用差分信号能有效抑制电磁干扰EMI(Electro Magnetic Interference)。
PCIe链路可以由多条Lane组成, 目前PCIe链路可以支持1、2、4、8、12、16和32个Lane,即× 1、× 2、× 4、× 8、× 12、× 16和× 32宽度的PCIe链路。每一个Lane上的总线频率与PCIe总线使用的版本相关。第一个PCIe总线规范为V1.0,之后依次为V1.0a、V1.1、V2.0和V2.1。目前PCIe总线的最新规范为V2.1,而V3.0正在开发过程中,预计在2010年发布。
不同的PCIe总线规范所定义的总线频率和链路编码方式并不相同,如表4-1所示。PCIe总线规范总线频率和编码方式的关系为:V1.x使用8/10b编码,V2.x使用8/10b编码,V3.0使用128/130b编码。
PCIe总线的峰值带宽取决于链路的宽度和总线频率,如表4-2所示。以V2.x规范为例,PCIe总线的峰值带宽为:× 1:250MB/s,× 2:500MB/s,× 4:1000MB/s,× 8:2000MB/s,× 12:3000MB/s,× 16:4000MB/s,× 32:8000MB/s。
PCIe总线是一种高速差分总线技术,具有高带宽、高可靠性和低延迟的特点,广泛应用于计算机系统、数据存储、网络通信等领域。