首页 > 其他分享 >PCIe发展及基础知识

PCIe发展及基础知识

时间:2024-12-05 23:55:49浏览次数:6  
标签:发展 总线 带宽 差分 基础知识 PCIe PCI 链路

1.什么是PCIe

PCI Express是新一代的总线接口。早在2001年的春季,英特尔公司就提出了要用新一代的技术取代PCI总线和多种芯片的内部连接,并称之为第三代I/O总线技术。随后在2001年底,包括Intel、AMD、DELL、IBM在内的20多家业界主导公司开始起草新技术的规范,并在2002年完成,对其正式命名为PCI Express。它采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。

PCI Express的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16(X2模式将用于内部接口而非插槽模式)。较短的PCI Express卡可以插入较长的PCI Express插槽中使用(自动识别并兼容)。PCI Express接口能够支持热拔插,这也是个不小的飞跃。PCI Express卡支持的三种电压分别为+3.3V、3.3Vaux以及+12V。用于取代AGP接口的PCI Express接口位宽为X16,将能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽。

PCI Express规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。例如,PCI Express X1规格支持双向数据传输,每向数据传输带宽250MB/s,PCI Express X1已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,必须采用PCI Express X16,即16条点对点数据传输通道连接来取代传统的AGP总线。PCI Express X16也支持双向数据传输,每向数据传输带宽高达4GB/s,双向数据传输带宽有8GB/s之多,相比之下,目前广泛采用的AGP 8X数据传输只提供2.1GB/s的数据传输带宽。

2.PCIe发展历史

话说上世纪80年代处理器的速度是越来越快,早期的ISA并行总线有8位和16位两种模式,时钟频率为8MHz,总线带宽可以达到8MB/s和16MB/s;到88年推出了EISA在兼容ISA的基础上将位宽增加到32位,带宽因此也能达到32MB/s,当时这速率连接386/486之类的处理器已足够;但随着处理器速度越来越快,EISA总线的带宽已经满足不了CPU的需求,CPU外网总线带宽已经成为制约计算机处理能力继续提高的瓶颈。于是在1991年,Intel、IBM、HP、Compaq、DEC等100多家计算机公司成立了PCISIG,联合推出PCI(Peripheral Component Interconnect),92年PCI1.0便Release。

随着PCI总线的发展,PCI总线又发展到PCI-X(Peripheral Component Interconnect eXtended)。与PCI总线相比,PCI-X总线的位宽未改变,而是将时钟频率进行了提高。PCI-X 1.0的时钟频率有66MHz/100MHz/133MHz,总线带宽分别为:264MB/s,400MB/s和532MB/s(32位),528MB/s,800MB/s和1064MB/s;PCI-X2.0的时钟频率有266MHZ/533MHz/1066MHz,总线带宽分别为1064MB/s、2132MB/s和4264MB/s(32位),3128MB/s,4264MB/s和8512MB/s(64位)。PCI-X与PCI在结构上完全兼容。不过PCI-X出现不就便出现了PCIe,因此在工业界,PCI-X应用远没有PCI和PCIe广泛。

90年代处理器按照摩尔定律发展,PCI碰到了和ISA一样的问题--赶不上处理器发展速度。想要提高速度,还是并行总线的PCI,要么提升频率要么提升位宽;如果提升频率的话并行信号间的串扰让时序难以收敛,提高位宽的话,信号线数量又大大增加。于是高速的串行总线开始替代并行总线,差分线替代并行线,在2003年的时候PCIe诞生了。下图为PCIe1.0到PCIe5.0的发展概况。

image

3.PCIe总线基础知识

3.1PCIe体系结构

PCIe总线作为处理器系统的局部总线,其作用与PCI总线类似,主要目的是为了连接处理器系统中的外部设备,当然PCIe总线也可以连接其他处理器系统。在不同的处理器系统中,PCIe体系结构的实现方法略有不同。但是在大多数处理器系统中,都使用了RC、Switch和PCIe-to-PCI桥这些基本模块连接PCIe和PCI设备。在PCIe总线中,基于PCIe总线的设备,也被称为EP。

在下图的结构中,处理器系统首先使用一个虚拟的PCI桥分离处理器系统的存储器域与PCI总线域。FSB总线下的所有外部设备都属于PCI总线域。与这个虚拟PCI桥直接相连的总线为PCI总线0。这种架构与Intel的x86处理器系统较为类似。

image

3.2端到端的差分数据传递

“端到端的数据传送方式”是PCIe和PCI最大的差别,PCI是物理层为并行总线传输。PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑)。

在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。一个PCIe链路可以由多个Lane组成。

高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。该电容也被称为AC耦合电容。PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0”。

与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“贴近”,而且在同层。因此外部干扰噪声将被“同值”而且“同时”加载到D+和D-两根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。因此差分信号可以使用更高的总线频率。

此外使用差分信号能有效抑制电磁干扰EMI(Electro Magnetic Interference)。由于差分信号D+与D-距离很近而且信号幅值相等、极性相反。这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。当然差分信号的缺点也是显而易见的,一是差分信号使用两根信号传送一位数据;二是差分信号的布线相对严格一些。

image

3.3PCIe总线的层次结构

PCIe总线采用了串行连接方式,并使用数据包(Packet)进行数据传输,采用这种结构有效去除了在PCI总线中存在的一些边带信号,如INTx和PME#等信号。在PCIe总线中,数据报文在接收和发送过程中,需要通过多个层次,包括事务层、数据链路层和物理层。PCIe总线的层次结构如图所示。具体每一层的硬件逻辑后续章节会详细介绍。

image

PCIe总线的层次组成结构与网络中的层次结构有类似之处,但是PCIe总线的各个层次都是使用硬件逻辑实现的。在PCIe体系结构中,数据报文首先在设备的核心层(Device Core)中产生,然后再经过该设备的事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer),最终发送出去。而接收端的数据也需要通过物理层、数据链路和事务层,并最终到达Device Core。

3.3.1事务层

事务层定义了PCIe总线使用总线事务,其中多数总线事务与PCI总线兼容。这些总线事务可以通过Switch等设备传送到其他PCIe设备或者RC。RC也可以使用这些总线事务访问PCIe设备。

事务层接收来自PCIe设备核心层的数据,并将其封装为TLP(Transaction Layer Packet)后,发向数据链路层。此外事务层还可以从数据链路层中接收数据报文,然后转发至PCIe设备的核心层。

3.3.2数据链路层

数据链路层保证来自发送端事务层的报文可以可靠、完整地发送到接收端的数据链路层。来自事务层的报文在通过数据链路层时,将被添加Sequence Number前缀和CRC后缀。数据链路层使用ACK/NAK协议保证报文的可靠传递。

PCIe总线的数据链路层还定义了多种DLLP(Data Link Layer Packet),DLLP产生于数据链路层,终止于数据链路层。值得注意的是,TLP与DLLP并不相同,DLLP并不是由TLP加上Sequence Number前缀和CRC后缀组成的。

3.3.3物理层

物理层是PCIe总线的最底层,将PCIe设备连接在一起。PCIe总线的物理电气特性决定了PCIe链路只能使用端到端的连接方式。PCIe总线的物理层为PCIe设备间的数据通信提供传送介质,为数据传送提供可靠的物理环境。

物理层是PCIe体系结构最重要,也是最难以实现的组成部分。PCIe总线的物理层定义了LTSSM(Link Training and Status State Machine)状态机,PCIe链路使用该状态机管理链路状态,并进行链路训练、链路恢复和电源管理。

3.3.4 PCIe层级结构及功能框图

下图为PCIe设备核心层、事务层、数据链路层、物理层的结构及功能框图,后期博文会详解。

image

4.PCIe链路的扩展

PCIe链路使用端到端的数据传送方式。在一条PCIe链路中,这两个端口是完全对等的,分别连接发送与接收设备,而且一个PCIe链路的一端只能连接一个发送设备或者接收设备。因此PCIe链路必须使用Switch扩展PCIe链路后,才能连接多个设备。使用Switch进行链路扩展的实例如图所示。

image

标签:发展,总线,带宽,差分,基础知识,PCIe,PCI,链路
From: https://www.cnblogs.com/linhaostudy/p/18589664

相关文章

  • 希腊文化的起源与发展
    希腊文化的起源与发展历史背景起源:Origin-Probablyaround1200B.C.(约公元前1200年)鼎盛:Climax/highpoint-inthe5thcenturyB.C.,markedbythesuccessfulrepulseofthePersianinvasion,theestablishmentofdemocracy,andtheflourishingofvariousfiel......
  • 人机协作智能体如何助力人形机器人产业发展?网易伏羲受邀分享前沿观点 | 活动预告
    随着人工智能技术的飞速发展,人形机器人作为未来智能生活的重要组成部分,正逐步从科幻走向现实,其在各个领域的应用潜力日益凸显。从工业生产到医疗健康,从家庭服务到教育娱乐,人形机器人以其独特的形态优势、高度灵活的交互能力和强大的学习适应性,正构建起一个多元化、智能化的应用场......
  • EHOME视频平台EasyCVR私有化视频平台视频监控系统基础知识,你都掌握了吗?
    随着科技的发展,视频监控系统已经成为我们生活和工作中不可或缺的一部分,它为我们的安全提供了强有力的保障。对于刚入行的弱电新人来说,掌握视频监控系统的安装与调试是一项基本技能。今天,我将为大家逐步介绍最基础的视频监控系统知识,从设备选择到安装调试,帮助你快速上手。无论是对......
  • 国标GB28181视频平台EasyCVR视频融合平台音视频基础知识与常见的音响设备连接线
    在现代安防监控和音响设备领域,技术的不断进步带来了更多的功能和更高的性能要求。本文将介绍EasyCVR视频汇聚平台以及音响设备连接线的类型和音频信号线的基本知识。我们将探讨如何通过选择合适的连接线和音频设备,来实现高质量的音频传输和系统稳定性。接下来,我们将深入了解音频隔......
  • 第一部分:基础知识 6. 函数 --[MySQL轻松入门教程]
    MySQL提供了丰富的内置函数,涵盖了字符串处理、数值计算、日期时间操作、聚合分析以及控制流等多个方面。这些函数可以帮助用户更高效地进行数据查询和处理。1.字符串函数MySQL提供了丰富的字符串函数来帮助用户处理和操作字符串数据。下面是一些常用的MySQL字符串函数......
  • day10(Linux底层)根文件系统基础知识及制作
    目录根文件系统基础知识及制作1、概念2、移植根文件系统的工具busybox3、如何获取busybox4、根文件系统目录介绍5、使用busybox制作根文件系统5.1拷贝busybox-1.31.1.tar.bz2到ubuntu的家目录下5.2对根文件系统进行解压缩,并切换到busybox-1.31.1目录下5.3通过make......
  • XCVU13P板卡设计原理图:509-基于XCVU13P的4路QSFP28光纤PCIeX16收发卡
     一、板卡概述     基于XCVU13P的4路QSFP28光纤PCIeX16收发卡。该板卡要求符合PCIe3.0标准,包含一片XCVU13P-2FLGA2014I、4组64-bit/8GBDDR4;4路QSFP284X光纤,每路光纤支持4X25Gbps,双向;支持32路IO。板卡工作温度范围0到60℃,板卡设计加工包含散热装置,支持服务器风冷散热......
  • 国标GB28181视频平台EasyCVR安防监控流媒体技术发展现状及趋势预测
    随着信息技术的飞速发展,安防监控领域正经历着一场技术革命。EasyCVR视频融合云平台,作为这场变革中的佼佼者,以其卓越的云计算、大数据分析和AI智能识别技术,为用户提供了一个跨区域、网络化的视频监控综合管理系统平台。本文将深入探讨国标GB28181视频平台EasyCVR的主要技术特点、......
  • 大模型(LLMs)学习笔记——基础知识
    目录:前排提示,文末有大模型AGI-CSDN独家资料包哦!一.大模型介绍二.LayerNormalization三.激活函数四.Attention五.transformers函数六.损失函数七.相似度函数一.大模型介绍1.目前主流的开源模型体系有哪些?(1)CausalDecoder(因果解码器)介绍:从左到右的单项注......
  • C语言基础知识:指针(4)
        本期内容,将继续介绍C语言中的指针,带大家理解一些指针变量的特点,以及二位数组传参的本质和转移表的相关知识。    一.字符指针变量      之前我们介绍过一种指针类型为字符指针:char*。它可以存放字符的地址,解引用字符指针就能得到这个字符: ......