PCIe基础知识(扫盲)

PCIe由早期的PCI扩展衍生而来并且兼容PCI,两者的主要区别在于并行到串行的切换,且PCIe速率更快。PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。PCIe设计的知识面比较广,无论是在BIOS下还是系统下都显得尤为重要。本章主要介绍PCIe的基本知识扫盲,初次学习的同学必看。

1. 通常会看到x1,x2,x4,x8,x16,x32,怎么理解?
  x1表示1个Lan,PCIe总线走差分信号,1个Lan 4条线可接收也可发送。同理,x2表示2个Lan,以此类推, Lan数越多,数据传输的也越快。也可以将多个通道组合x1,x2,x4,x12,x16,x32,以提高插槽的可用带宽,一般情况下:
  PCI-Express x1/x2/x4,由南桥提供支持
  PCI-Express x8/x16,由北桥提供支持
  x1/x2主要是用来扩展声卡、网卡等低速设备,用于淘汰PCI插槽
  x4是用来扩展磁盘阵列卡等中速设备,用于淘汰PCI-X插槽
  x8/x16是用来扩展显卡等告诉设备,用于淘汰AGP插槽

2. 关于南北桥
  北桥多挂载一些高速设备,如显卡,内存。 南桥多挂载一些低速设备,如LPC接口,网卡
  由于北桥芯片多被集成在CPU内部,南桥一看自己隔空相望的兄弟不在了,也就不好再叫个南桥,加之Intel处理器各模块集成度越来越高,因此PCH诞生了。PCH主要还是作为南桥的功能,包括ICH(I/O controller hub输入输出控制器中心)负责链接PCI总线,IDE设备,I/O设备等。

【注】: PCH也是有一颗单独的芯片上存在于主板上,该芯片于CPU之间通过DMI接口相连,因此多数位于南桥上的接口如LPC,部分PCIE等端口都会在PCH的芯片上暴露出来,而不会在CPU的处理器上暴漏。 目前部分Intel处理器将PCH亦集成在CPU的SOC上,集成度更高,所有的引脚都会在CPU的SOC上暴露。

3. 关于PCIe通信

       前面介绍PCIe是通过一组差分信号对也就是一个Lan为基本通信单位来传输数据。一条收Rx一条发Tx,为半双工通信模式,亦可设置为全双工通信模式。

4. Bridge/Host Bridge,Root Complex, Root port等这些专业名词怎么理解?

①Host bridge的概念:桥接设备,用于Root Complex与CPU连接;

②Port 的概念

③Receiver&Reveiver Port概念:

④Root Port的概念:

⑤Root Complex的概念: 

简称RC,CPU和PCIe总线之间的接口可能会包含几个模块(处理器接口、 DRAM接口等),甚至可能还会包含芯片,这个集合就称为Root Complex,它作为PCIe架构的根,代表CPU与系统其它部分进行交互。广义来说, Root Complex可以认为是CPU和PCIe拓扑之间的接口。

Root Complex会将CPU的request转换成PCIe的4种不同的请求(Configuration、 Memory、 I/O、Message)

Root complex Component概念:

Switch的概念:

从示意图可以看出, Swtich提供扇出能力,让更多的PCIe设备连接在PCIe端口上;

Link的概念

Lane的概念:

5.  PCI总线模型和PCIe是点对点模型,怎么理解?

PCI总线模型: 在传统的PCI总线模型中,一个设备通过在Bus上判断DEVSEL(设备选择)来认领一个请求。如果在一段时钟周期后没有设备认领一个请求,这个请求就被放弃。

PCIe点对点模型:PCI是一种点对点的传输模型,不像PCI总线那样,在总线上有平等认领请求的机制。所有的传送总是由一个Device发给Link上的另外一个Device。所以,对于所有接收方来说,接收方将会直接判断这个请请求是否要被认领。

6. 总线PCI、PCIX、PCIE、CPCI和PXI介绍

①PCI:

PCI,外设组件互连标准(Peripheral Component Interconnection),是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准。此标准允许在计算机内安装多达10个遵从PCI标准的扩展卡。最早提出的PCI总线工作在33MHz频率之下,传输带宽达到133MB/s(33MHz * 32bit/s),基本上满足了当时处理器的发展需要。随着对更高性能的要求,1993年又提出了64bit的PCI总线,后来又提出把PCI 总线的频率提升到66MHz。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供信号缓冲,能在高时钟频率下保持高性能,同时为显卡,声卡,网卡,MODEM等设备提供连接接口,工作频率为33MHz/66MHz。
PCI总线系统要求有一个PCI控制卡,它必须安装在一个PCI插槽内。这种插槽是目前主板带有最多数量的插槽类型,在当前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽。根据实现方式不同,PCI控制器可以与CPU一次交换32位或64位数据,它允许智能PCI辅助适配器利用一种总线主控技术与CPU并行地执行任务。PCI允许多路复用技术,即允许一个以上的电子信号同时存在于总线之上。
由于PCI 总线只有133MB/s的带宽,对声卡、网卡、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的显卡则无法满足其需求。Intel在2001年春季的IDF上,正式公布了旨在取代PCI总线的第三代I/O技术,该规范由Intel支持的AWG(Arapahoe Working Group)负责制定。2002年4月17日,AWG正式宣布3GIO1.0规范草稿制定完毕,并移交PCI-SIG(PCI特别兴趣小组,PCI-Special Interest Group)进行审核。开始的时候大家都以为它会被命名为Serial PCI(受到串行ATA的影响),但最后却被正式命名为PCI Express,Express意思是高速、特别快的意思。
2002年7月23日,PCI-SIG 正式公布了PCI Express 1.0规范,并于2007年初推出2.0规范(Spec 2.0),将传输率由PCI Express 1.1的2.5GB/s提升到5GB/s。

PCI标准特点并行总线,在一个时钟周期内32个bit(后扩展到64 PCIX)同时被传输;PCI空间与处理器空间隔离,PCI空间与存储器地址空间通过Host bridge隔离;扩展性强。

PCI架构图如下:

②PCIX

PCI-X接口是并连的PCI总线的更新版本,仍采用传统的总线技术,不过有更多数量的接线针脚,同时,如前所述的所有的连接装置会共享所有可用的频宽。

与原先PCI接口所不同的是:一改过去的32位,PCI-X采用64位宽度来传送数据,所以频宽自动就倍增两倍,而扩充槽的长度当然就不可避免的加大了,除此之外,其余的包括传输通讯协议、讯号和标准的接头格式都一并兼容,好处是3.3V的32位的PCI适配卡可以用在PCI-X扩充槽上,当然如果你愿意,也可以将64位PCI-X适配卡接在32位PCI扩充槽上,不过,频宽速度将会大减。

这个总线宽度倍增的改良版本对一些专业储存控制器,例如SCSI、iSCSI、光纤信道(Fibre Channel)、10GBit以太网和InfiniBand等其他传输装置,仍然无法提供足够的频宽,因此引进PCI-SIG接口以提供数个不同速度等级,可以从PCI-X 66一路上到PCI-X 533规格,以下表列这些技术细节:

你可以看到当频率速度到达了PCI-X 133的133MHz事后,就再也升不上去,为了让频宽能够倍增,于是不惜将主存储器及前端总线上已经行之有年而且路人皆知的技术搬过来,因此,PCI-X 266用上Double Data Rate技术,让每一个时钟脉冲的上升与下降边缘都可以传输数据,所以又多出了一倍的机会来传输数据,而PCI-X 533规格更进一步采用每一个时钟脉冲可以传送四次的技术,英特尔早在所有的Pentium 4和Xeon处理器的前端总线就用上这些技术了。

③PCIE:

PCI-Express是最新的总线和接口标准,它原来的名称为“3GIO”,是由英特尔提出的,很明显英特尔的意思是它代表着下一代I/O接口标准。交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标准将全面取代现行的PCI和AGP,最终实现总线标准的统一。

PCIe和PCI最大的改变是由并行改为串行,通过使用差分信号传输,如图:

PCI原来基本是半双工的(地址/数据线太多,不得不复用线路),而PCIe串行可以全双工。综合下来,如果我们从频率提高下来得到的收益大于一次传输多个bit的收益,这个选择就是合理的。我们做个简单的计算:

PCI传输: 33MHz x 4B = 133MB/s

PCIe 1.0 x1: 2.5GHz x 1b = 250MB/s (知道为什么不是2500M / 8=312.5MB吗?)👇

👆因为pcie gen1 采用8b/10b编码,所以是2.5GHz*1bit/10=250MB/s👆

速度快了一倍!我们还得到了另外的好处,例如布线简单,线路可以加长(甚至变成线缆连出机箱!),多个lane还可以整合成为更高带宽的线路等等。

PCI Express也有多种规格,从PCI Express 1X到PCI Express 16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。能支持PCI Express的主要是英特尔的i915和i925系列芯片组。当然要实现全面取代PCI和AGP也需要一个相当长的过程,就象当初PCI取代ISA一样,都会有个过渡的过程。

【注】:对于一般用户来说,PCIe对用户可见的部分就是主板上大大小小的PCIe插槽了,有时还和PCI插槽混在一起,造成了一定的混乱,其实也很好区分:

如图,PCI插槽都是等长的,防呆口位置靠下,大部分都是纯白色。PCIe插槽大大小小,最小的x1,最大的x16,防呆口靠上。各种PCIe插槽大小如下:

④CPCI

Compact PCI(Compact Peripheral Component Interconnect)简称CPCI,中文又称紧凑型PCI,是国际工业计算机制造者联合会(PCI Industrial Computer Manufacturer's Group,简称PICMG)于1994提出来的一种总线接口标准。是以PCI电气规范为标准的高性能工业用总线。CPCI的CPU及外设同标准PCI是相同的,并且CPCI系统使用与传统PCI系统相同的芯片、防火墙和相关软件。从根本上说,它们是一致的,因此操作系统、驱动和应用程序都感觉不到两者的区别,将一个标准PCI插卡转化成CPCI插卡几乎不需重新设计,只要物理上重新分配一下即可。为了将PCI SIG的PCI总线规范用在工业控制计算机系统,1995年11月PICMIG颁布了CPCI规范1.0版,以后相继推出了PCI-PCI Bridge规范、Computer Telephony TDM规范和User-defined I/O pin assignment规范。简言之CPCI总线 = PCI总线的电气规范 + 标准针孔连接器+ 欧洲卡规范。

CPCI的出现不仅让诸如CPU、硬盘等许多原先基于PC的技术和成熟产品能够延续应用,也由于在接口等地方做了重大改进,使得采用CPCI技术的服务器、工控电脑等拥有了高可靠性、高密度的优点。CPCI是基于PCI电气规范开发的高性能工业总线,适用于3U和6U高度的电路插板设计。CPCI电路插板从前方插入机柜,I/O数据的出口可以是前面板上的接口或者机柜的背板。它的出现解决了多年来电信系统工程师与设备制造商面临的棘手问题,比如传统电信设备总线VME与工业标准PCI总线不兼容问题。

CPCI技术是在PCI技术基础之上经过改造而成,其特点具体有三个方面:

一是继续采用PCI局部总线技术;

二是抛弃IPC传统机械结构,改用经过20年实践检验了的高可靠欧洲卡结构,改善了散热条件、提高了抗振动冲击能力、符合电磁兼容性要求;

三是抛弃IPC的金手指式互连方式,改用2mm密度的针孔连接器,具有气密性、防腐性,进一步提高了可靠性,并增加了负载能力。

CPCI规范自制定以来,已历经多个版本。最新的PICMG 3.0所规范的CPCI技术架构在一个更加开放、标准的平台上,有利于各类系统集成商、设备供应商提供更加便捷快速的增值服务,为用户提供更高性价比的产品和解决方案。PICMG 3.0标准是一个全新的技术,与PICMG 2.x完全不同,特别在速度上与PICMG 2.x相比,PICMG 3.0速度每秒可达2Tb。PICMG 3.0主要将应用在高带宽电信传输上,以适应未来电信的发展,PICMG 2.x则仍是目前CPCI的主流,并将在很长时间内主宰CPCI的应用。

CPCI具有可热插拔(Hot Swap)、高开放性、高可靠性。CPCI技术中最突出、最具吸引力的特点是热插拔。简言之,就是在运行系统没有断电的条件下,拔出或插入功能模板,而不破坏系统的正常工作的一种技术。热插拔一直是电信应用的要求,也为每一个工业自动化系统所渴求。它的实现是:在结构上采用三种不同长度的引脚插针,使得模板插入或拔出时,电源和接地、PCI总线信号、热插拔启动信号按序进行;采用总线隔离装置和电源的软启动;在软件上,操作系统要具有即插即用功能。目前CPCI总线热插拔技术正在从基本热切换技术向高可用性方向发展。

CPCI所具有高开放性、高可靠性、可热插拔的特点,使该技术除了可以广泛应用在通讯、网络、计算机电话之外,也适合实时系统控制、产业自动化、实时数据采集、军事系统等需要高速运算、智能交通、航空航天、医疗器械、水利等模块化及高可靠度、可长期使用的应用领域。由于CPCI拥有较高的带宽,它也适用于一些高速数据通信的应用,包括服务器、路由器、交换机等。

⑤PXI

PXI (PCI extensions for Instrumentation,面向仪器系统的PCI扩展) 是一种由PXI联盟发布的坚固的基于PC的测量和自动化平台。PXI结合了PCI(Peripheral Component Interconnection-外围组件互连)的电气总线特性与CompactPCI(紧凑PCI)的坚固性、模块化及Eurocard机械封装的特性发展成适合于试验、测量与数据采集场合应用的机械、电气和软件规范。制订PXI规范的目的是为了将台式PC的性能价格比优势与PCI总线面向仪器领域的必要扩展完美地结合起来,形成一种主流的虚拟仪器测试平台。这使它成为测量和自动化系统的高性能、低成本运载平台

一个PXI系统由几项组件所组成,包含了一个机箱、一个PXI背板(backplane)、系统控制器(System controller module)以及数个外设模块(Peripheral modules)。在此以一个高度为3U的八槽PXI系统为例。系统控制器,也就是CPU模块,位于机箱的左边第一槽,其左方预留了三个扩充槽位给系统控制器使用,以便插入因功能复杂而体积较大的系统卡。由第二槽开始至第八槽称为外设槽,可以让用户依照本身的需求而插上不同的仪器模块。其中第二槽又可称为星形触发控制器槽(Star Trigger Controller Slot),其特殊的功能将于后面的文章中说明。

7.有趣的问题

Q:我主板上只有一个x16的插槽,被我的显卡占据了。我还有个x16的RAID卡可以插在x8的插槽内吗?

A: 你也许会惊讶,但我的答案同样是:可以!你的RAID卡将以x8的方式工作。实际上来说,你可以将任何PCIe卡插入任何PCIe插槽中! PCIe在链接training的时候会动态调整出双方都可以接受的宽度。最后还有个小问题,你根本插不进去!呵呵,有些主板厂商会把PCIe插槽尾部开口,方便这种行为,不过很多情况下没有。这时怎么办?你懂的。。。。

Q: 我把x16的显卡插在主板上最长的x16插槽中,可是benchmark下来却说跑在x8下,怎么回事?!

A: 主板插槽x16不见得就连在支持x16的root port上,最好详细看看主板说明书,有些主板实际上是x8。有个主板原理图就更方便了。

参考文章:

老狼:知乎一个很不错的博主

关于PCI、PCIX、PCIE、CPCI_pcix设备能否插在pci上用-CSDN博客

  • 0
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCIe(Peripheral Component Interconnect Express)是一种计算机总线技术,被广泛应用于连接内部外设设备和电脑主板的接口。以下是关于PCIe总线的入门知识: 首先,PCIe总线相比于之前的PCI总线有着更高的性能和速度。它使用高速串行通信,可以提供更快的数据传输速度,从而支持更多高性能的设备。 PCIe总线的表现主要由其“通道”和“链接”构成。通道是指物理连接,每条通道可容纳一个或多个链接,而链接则代表一个点对点的逻辑连接。每个链接都有一个或多个“通道”转发数据。 PCIe总线拥有多种规格,最常见的是PCIe x1,PCIe x4和PCIe x16。它们分别表示该条总线的物理通道数量。例如,PCIe x1指的是通道数为1,而PCIe x16则代表通道数为16。通常,不同设备会根据需要选择不同规格的PCIe插槽来连接。 PCIe总线还具有热插拔功能,这意味着设备可以在计算机运行期间插入或拔出,而不需要重新启动计算机。这是因为每个PCIe设备都有自己的配置空间来告知主板它的存在和功能。 此外,PCIe还支持多通道并行,并在数据传输上具备流量控制和错误检测机制,以确保数据的安全和可靠性。 总之,通过PCIe总线,我们可以连接各种不同类型的硬件设备,如显卡、声卡、网卡和存储设备等。它以高速、高性能和可靠性而闻名,为计算机提供了更强大的扩展和升级能力,促进了计算机技术的不断发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值