PCIE基础知识
pcie 6个bar空间的定义

pcie 6个bar空间的定义随着科技的不断进步,计算机硬件也在不断更新换代。
其中,PCIe (Peripheral Component Interconnect Express)作为一种高速串行计算机扩展总线标准,已广泛应用于各类计算机系统中。
PCIe 6.0作为最新版本,相较于前代版本在传输速率、通道数量等方面都有显著提升。
在本篇文章中,我们将重点探讨PCIe 6个Bar空间的定义及其在系统中的应用。
首先,我们来了解一下PCIe的基本概念。
PCIe是一种用于连接计算机主板与外部设备的扩展总线标准,它采用了高速串行传输技术,以替代传统的并行传输技术。
PCIe总线具有高度的可扩展性,支持多种设备,如显卡、声卡、网卡等。
目前,PCIe已经发展到6.0版本,传输速率最高可达64GT/s。
接下来,我们来看看PCIe 6个Bar空间的定义。
在PCIe总线中,Bar空间是指一个固定宽度的寄存器,用于在设备与主板之间传输数据。
PCIe 6个Bar空间分别为:1.Configuration Space(配置空间):用于存储设备配置信息,如设备ID、供应商ID等。
2.Memory Space(内存空间):用于读写设备内部的内存空间,如图形显存的读写。
3.I/O Space(输入输出空间):用于读写设备的外部I/O端口,如键盘、鼠标的输入等。
4.Interrupt Line(中断线):用于设备向主板请求中断,如数据传输完成、设备故障等。
5.Clock(时钟):用于设备与主板之间同步时钟信号。
6.Cacheable Address Space(缓存地址空间):用于缓存设备的数据,提高数据传输效率。
了解了PCIe 6个Bar空间的定义后,我们再来分析一下它们在系统中的应用。
PCIe通道与Bar空间的关系密切,每个通道都对应一个Bar空间。
在实际应用中,各个Bar空间的功能和应用如下:1.Configuration Space(配置空间):用于存储设备配置信息,方便主机识别和控制设备。
pcie基本原理

pcie基本原理PCI Express(Peripheral Component Interconnect Express)是一种高速串行总线标准,用于连接计算机内部的各种设备和组件,例如显卡、网卡、声卡等。
PCIe基于串行传输方式和点对点连接的思想,相比传统的并行总线具有更高的带宽和更低的延迟。
1. PCIe物理层PCIe物理层包括差分信号传输、时钟恢复、电源管理等方面。
差分信号传输是PCIe最关键的特性之一,它使用两条反向传输线代表一个数据位,实现了抗干扰性能更好和更远距离的数据传输。
时钟恢复是指接收端通过解码发送端发送过来的时钟信息来恢复本地时钟,从而实现同步通信。
电源管理则是为了节省能源,在设备空闲或未使用时自动进入低功耗模式。
2. PCIe数据链路层PCIe数据链路层负责将上层逻辑层的请求转换成可被物理层发送的数据包,并在接收端将数据包还原成原始请求。
数据链路层分为两个子层:逻辑子层(Logical Sublayer)和传输子层(Transport Sublayer)。
逻辑子层主要负责错误检测和纠正,传输子层则负责流量控制和错误恢复。
3. PCIe传输层PCIe传输层是PCIe中最重要的层次之一,它定义了数据包如何在发送端和接收端之间传输。
PCIe采用基于令牌的流控制方式,发送端将数据包打成一个个TLP(Transaction Layer Packet),并通过令牌的方式将TLP交给接收端。
如果接收端准备好接收数据,则返回一个令牌给发送端,发送端才会将数据包发送出去。
这种流控制方式可以有效地避免数据包丢失和冲突。
4. PCIe事务层PCIe事务层是PCIe协议中最高层次的逻辑,它定义了如何进行读写操作、配置设备、中断处理等操作。
PCIe事务分为两种类型:读取(Read)和写入(Write)。
读取操作由请求者发起,写入操作由请求者或响应者发起。
配置空间是一种特殊的地址空间,用于存储设备的配置信息。
PCIe协议相关资料要点

PCIe协议相关资料要点PCIe(Peripheral Component Interconnect Express)是一种计算机总线标准,用于连接计算机系统的外部设备。
它在现代计算机中广泛应用于图形卡、存储卡和扩展卡等设备的连接。
下面是PCIe协议的相关资料要点。
一、PCIe协议概述PCIe协议是一种高速串行通信协议,用于在计算机系统中传输数据。
它取代了传统的PCI总线,提供更高的带宽和更可靠的性能。
PCIe协议具有以下特点:1. 高速性能:PCIe协议支持多个通道和多个数据传输通路,并且每个通道都可以达到多Gbps的传输速度。
2. 点对点连接:PCIe协议采用点对点连接方式,每个设备都直接连接到主机,并且不会与其他设备共享带宽。
3. 热插拔支持:PCIe协议支持热插拔功能,可以在计算机运行时插入或拔出设备,而无需重新启动系统。
4. 多功率状态支持:PCIe协议支持多功率状态,可以有效地管理设备的能耗。
二、PCIe协议架构PCIe协议的架构包括物理层、数据链路层和传输层。
每个层级都有不同的功能和责任。
1. 物理层(Physical Layer):物理层负责在发送和接收设备之间传输数据。
它定义了数据传输的电气特性、传输速度和功耗等参数。
2. 数据链路层(Data Link Layer):数据链路层负责在发送和接收设备之间建立可靠的数据传输连接。
它通过发送和接收数据包来确保数据的完整性和可靠性。
3. 传输层(Transport Layer):传输层负责数据的路由和传输。
它根据设备的地址和标识符来确定数据的发送和接收。
三、PCIe协议数据传输PCIe协议的数据传输分为读取和写入两种方式。
1. 读取(Read):读取是指从PCIe设备读取数据到主机内存。
读取传输由主机启动,并且主机提供要读取的目标地址。
读取过程中,设备将数据传输到主机内存中的指定地址。
2. 写入(Write):写入是指将数据从主机内存写入到PCIe设备。
pcie基本原理

pcie基本原理PCIe基本原理PCIe(Peripheral Component Interconnect Express)是一种高速、点对点的串行总线标准,用于连接计算机内部的外部设备。
它是目前最流行的计算机总线标准之一,被广泛用于连接各种设备,如显卡、网卡、存储控制器等。
本文将介绍PCIe的基本原理,以帮助读者更好地理解这一技术。
PCIe采用串行传输方式,相比传统的并行总线,具有更高的带宽和更低的延迟。
它采用差分信号传输,即同时传输正负两路信号,以减少信号干扰和提高传输速度。
PCIe总线的带宽通常用“xN”来表示,其中“x”表示总线的通道数,而“N”表示每个通道的数据传输速率。
例如,PCIe 3.0 x16表示具有16个通道,每个通道的传输速率为PCIe 3.0规范下的速率。
PCIe总线采用多通道的方式来提高数据传输速度。
每个通道都有自己的发送和接收端口,可以同时进行数据传输。
此外,PCIe还支持多路复用技术,即将多个数据流通过同一物理通道传输,以提高总线的利用率。
这种设计使PCIe具有更高的带宽和更好的扩展性,可以满足不同设备对数据传输速度的需求。
PCIe总线还采用了“插槽”和“连接器”的设计,以便用户可以方便地连接和更换设备。
每个PCIe插槽都有一定数量的针脚,用于传输数据、电源和地线。
连接器则负责将插槽与设备连接起来,保证信号传输的可靠性和稳定性。
PCIe插槽通常分为不同的规格,如PCIe x1、PCIe x4、PCIe x8和PCIe x16等,以适应不同设备的需求。
PCIe总线还具有“热插拔”和“热插拔”功能,用户可以在计算机运行时插入或拔出设备,而无需重新启动计算机。
这使得设备的更换和升级变得更加方便快捷。
此外,PCIe还支持“链路层发现”和“链路层训练”功能,用于自动检测和优化总线的性能,以提高数据传输的稳定性和可靠性。
总的来说,PCIe是一种高速、灵活、可靠的计算机总线标准,被广泛应用于各种设备之间的连接。
pcie基础知识(二)

pcie基础知识(二)本文主要讲述PCIE的相关缩写、术语;不同模式、配置;枚举等基础知识。
一、designware pcie产品:Dual Mode coreRC coreEP coreSwitch core二、架构:Common Xpress Port Logic (CXPL)实现大部分的传输层逻辑,所有的数据链路层逻辑,物理层的MAC部分(包括LTSSM)。
这个module就是所说的core。
XADM和RADM都是针对传输应用添加的模块。
比如说添加传输队列,仲裁TLP transmmision。
Transmit Application-Dependent Module (XADM)Receive Application-Dependent Module (RADM)Configuration-Dependent Module (CDM)Power Management Controller (PMC)Local Bus Controller (LBC)Message Generation (MSG_GEN)Hot Plug Control (hotplug_ctrl)三、核心(CXPL)操作3.1 DM/RC/EP 模式下的初始化在reset之后,通过检测device_type输入进入到RC或者EP模式,CDM内部配置寄存器为复位值。
LTSSM前配置:keep the app_ltssm_enable signal deasserted after reset until the application is ready to establish a Link and start receiving and transmitting TLPs,在这个阶段通过DBI配置好配置寄存器。
开始LTSSM:assert app_ltssm_enable to allow the LTSSM to begin Link establishment3.2 Link EstablishmentPIPE口,和usb3.0一样。
4.1pcie总线的基础知识

4.1 PCIe总线的基础知识与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。
PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用的层次结构与网络协议栈较为类似。
4.1.1端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4?1所示。
由上图所示,在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-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。
当然差分信号的缺点也是显而易见的,一是差分信号使用两根信号传送一位数据;二是差分信号的布线相对严格一些。
PCI-E资料(全)
TxData Command Status RxData PClk
Transaction Link xx
State machines for Link Training and Status State Machine (LTSSM) and lane0lane deskew
转向PCIe主要是为了实现显著增强系统吞吐量、扩容性和灵活性的目标,同时还要降低制造成本,而这 些都是基于总线的传统互连标准所达不到的。PCI Express标准在设计时着眼于未来,并且能够继续演 进,从而为系统提供更大的吞吐量。第一代PCIe规定的吞吐量是每秒2.5千兆比特(Gbps),第二代规 定的吞吐量是5.0 Gbps,而最近公布PCIe 3.0标准已经支持8.0 Gbps的吞吐量。在PCIe标准继续充分利 用最新技术来提供不断加大的吞吐量的同时,采用分层协议也便于PCI向PCIe的演进,并保持了与现有 PCI应用的驱动程序软件兼容性。
Chip Set with Root Complex
PCIe RC Controller
PHY
PHY PCIe Endpoint
Endpoint
图3:SoC芯片内的PHY和控制器运用
正如上文所述,2个端口之间的虚线代表着链路。PCIe链路是单向的,并采用了低压差分信号。PCIe规 格定义了链路可以包含多达32个并行通道,用于将PCIe 1.x(2.5Gbps)链路的吞吐量扩展至80 Gbps, 或将PCIe 2.0(5.0 Gbps)的吞吐量扩展至160 Gbps。同一链路内的每个线路(Lane)均提供了自己的 内嵌时钟信号,因而无需在PC电路板上实现线路长度匹配——这种匹配是以前PCI接口为了保持时序所 必需的。
PCIe规格内所定义的此协议遵循的是开源促进会(OSI)模型。此协议分隔成5个基本层,如图2左侧所 示。本节对机械层和物理层进行了综述;后续各节将针对链路层、事务处理层和应用层进行说明。
PCIe
.1 PCIe总线的基础知识(2011-05-27 15:59:56)转载标签:分类:浅谈PCIe体系结构杂谈与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。
PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用的层次结构与网络协议栈较为类似。
4.1.1 端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4-1所示。
由上图所示,在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-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。
PCIe基础篇(一)、基础知识扫盲
PCIe基础篇(⼀)、基础知识扫盲1、PCIe:Peripheral Component interconnect Expess,外围组件接⼝互联,属于第三代IO总线,PCIe的传输速率指的是实际的有效传输速率,为RAW data(原始数据)的80%,因为其采⽤了8b/10b编解码技术,有效数据是原始数据的0.8,PCIe的iyidai和第⼆代采⽤8b/10b编解码技术,第三代、第四代、第五代采⽤128b/130b编解码技术。
2、PCI总线是⼀种共享总线,所以需要有特定的仲裁器(Arbiter)来决定当前时刻总线的控制权。
⼀般该仲裁器位于北桥中,⽽仲裁器(主机)通过⼀对引脚REQ#和GNT#(grant)来与各个从机连接。
PCI总线是⼀种地址和数据复⽤的总线,地址和数据占⽤同⼀组信号线。
PCIe采⽤了差分、全双⼯的传输设计,允许在同⼀时刻,同时进⾏发送进⽽接收数据,设备之间通过双向的Link连接,每个Link⽀持1~32个通道(lane),由于是串⾏总线,因此所有的数据(包括配置信息等)都是以数据包为单位进⾏发送。
PCIe中还引⼊了嵌⼊式时钟计数,发送端不再向接收端发送时钟,但是接收端可以通过8b/10b的编码从数据通道中恢复出时钟.PCIe是⼀种点对点连接的总线,不是共享总线。
但是PCIe可以通过SWITCH连接多个PCIe设备,Switch包含了多个类似于PCI总线中桥的该概念。
上图中,Root Component作为Root,是CPU和PCIe总线系统通信的媒介。
endpoint位于PCIe总线系统拓扑结构中的最末段,⼀般作为总线操作的发起作者(initiator,类似于主机)与终结者(Completers,类似于从机),endpoint只能接收上级拓扑的数据包或者向上级发送数据包。
此外,Leagcy PCIe Endpoint指的是元贝准备设计为PCI-X总线接⼝的设备,却被改为PCIe接⼝的设备,native PCIe ENDpoint指的是标准的PCIe设备。
PCIE基础知识
PCIe总线概述随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行数据信号才能达到的总线带宽。
PCI总线使用并行总线结构,在同一条总线上的所有外部设备共享总线带宽,而PCIe 总线使用了高速差分总线,并采用端到端的连接方式,因此在每一条PCIe链路中只能连接两个设备.这使得PCIe与PCI总线采用的拓扑结构有所不同。
PCIe总线除了在连接方式上与PCI总线不同之外,还使用了一些在网络通信中使用的技术,如支持多种数据路由方式,基于多通路的数据传递方式,和基于报文的数据传送方式,并充分考虑了在数据传送中出现服务质量QoS (Quality of Service)问题。
PCIe总线的基础知识与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用的层次结构与网络协议栈较为类似.1。
1 端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4-1所示。
由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。
其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。
一个PCIe链路可以由多个Lane组成.高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。
该电容也被称为AC 耦合电容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PCIe总线概述随着现代处理器技术得发展,在互连领域中,使用高速差分总线替代并行总线就是大势所趋。
与单端并行信号相比,高速差分信号可以使用更高得时钟频率,从而使用更少得信号线,完成之前需要许多单端并行数据信号才能达到得总线带宽。
PCI总线使用并行总线结构,在同一条总线上得所有外部设备共享总线带宽,而PCIe总线使用了高速差分总线,并采用端到端得连接方式,因此在每一条PCIe链路中只能连接两个设备。
这使得PCIe与PCI总线采用得拓扑结构有所不同。
PCIe总线除了在连接方式上与PCI 总线不同之外,还使用了一些在网络通信中使用得技术,如支持多种数据路由方式,基于多通路得数据传递方式,与基于报文得数据传送方式,并充分考虑了在数据传送中出现服务质量QoS (Quality of Service)问题。
PCIe总线得基础知识与PCI总线不同,PCIe总线使用端到端得连接方式,在一条PCIe链路得两端只能各连接一个设备,这两个设备互为就是数据发送端与数据接收端。
PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用得层次结构与网络协议栈较为类似。
1、1 端到端得数据传递PCIe链路使用“端到端得数据传送方式”,发送端与接收端中都含有TX(发送逻辑)与RX(接收逻辑),其结构如图4-1所示。
由上图所示,在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-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场得幅值相等,将相互抵消,因此差分信号对外界得电磁干扰较小。
当然差分信号得缺点也就是显而易见得,一就是差分信号使用两根信号传送一位数据;二就是差分信号得布线相对严格一些。
PCIe链路可以由多条Lane组成,目前PCIe链路可以支持1、2、4、8、12、16与32个Lane,即×1、×2、×4、×8、×12、×16与×32宽度得PCIe链路。
每一个Lane上使用得总线频率与PCIe 总线使用得版本相关。
第1个PCIe总线规范为V1、0,之后依次为V1、0a,V1、1,V2、0与V2、1。
目前PCIe总线得最新规范为V2、1,而V3、0正在开发过程中,预计在2010年发布。
不同得PCIe总线规范所定义得总线频率与链路编码方式并不相同,如表4-1所示。
表4-1 PCIe总线规范与总线频率与编码得关系PCIe总线规范总线频率1[1] 单Lane得峰值带宽编码方式1、x 1、25GHz2、5GT/s 8/10b编码2、x 2、5GHz 5GT/s 8/10b编码3、0 4GHz 8GT/s 128/130b编码如上表所示,不同得PCIe总线规范使用得总线频率并不相同,其使用得数据编码方式也不相同。
PCIe总线V1、x与V2、0规范在物理层中使用8/10b编码,即在PCIe链路上得10 bit中含有8 bit得有效数据;而V3、0规范使用128/130b编码方式,即在PCIe链路上得130 bit中含有128 bit得有效数据。
由上表所示,V3、0规范使用得总线频率虽然只有4GHz,但就是其有效带宽就是V2、x得两倍。
下文将以V2、x规范为例,说明不同宽度PCIe链路所能提供得峰值带宽,如表4-2所示。
由上表所示,×32得PCIe链路可以提供160GT/s得链路带宽,远高于PCI/PCI-X总线所能提供得峰值带宽。
而即将推出得PCIe V3、0规范使用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(Clock Data Recovery),CDR将从接收报文中提取接收时钟,从而进行同步数据传递。
值得注意得就是,在一个PCIe设备中除了需要从报文中提取时钟外,还使用了REFCLK+与REFCLK-信号对作为本地参考时钟,这个信号对得描述见下文。
1、2 PCIe总线使用得信号PCIe设备使用两种电源信号供电,分别就是Vcc与Vaux,其额定电压为3、3V。
其中Vcc为主电源,PCIe设备使用得主要逻辑模块均使用Vcc供电,而一些与电源管理相关得逻辑使用Vaux 供电。
在PCIe设备中,一些特殊得寄存器通常使用Vaux供电,如Sticky Register,此时即使PCIe 设备得Vcc被移除,这些与电源管理相关得逻辑状态与这些特殊寄存器得内容也不会发生改变。
在PCIe总线中,使用Vaux得主要原因就是为了降低功耗与缩短系统恢复时间。
因为Vaux在多数情况下并不会被移除,因此当PCIe设备得Vcc恢复后,该设备不用重新恢复使用Vaux供电得逻辑,从而设备可以很快地恢复到正常工作状状态。
PCIe链路得最大宽度为×32,但就是在实际应用中,×32得链路宽度极少使用。
在一个处理器系统中,一般提供×16得PCIe插槽,并使用PETp0~15、PETn0~15与PERp0~15、PER--]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]n0~15共64根信号线组成32对差分信号,其中16对PETxx信号用于发送链路,另外16对PERxx信号用于接收链路。
除此之外PCIe总线还使用了下列辅助信号。
1 PERST#信号该信号为全局复位信号,由处理器系统提供,处理器系统需要为PCIe插槽与PCIe设备提供该复位信号。
PCIe设备使用该信号复位内部逻辑。
当该信号有效时,PCIe设备将进行复位操作。
PCIe总线定义了多种复位方式,其中Cold Reset与Warm Reset这两种复位方式得实现与该信号有关,详见第1、5节。
2 REFCLK+与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-信号得传送延时差约为2、5ns。
当PCIe设备作为Add-In卡连接在PCIe插槽时,可以直接使用PCIe插槽提供得REFCLK+与REFCLK-信号,也可以使用独立得参考时钟,只要这个参考时钟在100MHz±300ppm范围内即可。
内置得PCIe设备与Add-In卡在处理REFCLK+与REFCLK-信号时使用得方法类似,但就是PCIe设备可以使用独立得参考时钟,而不使用REFCLK+与REFCLK-信号。
在PCIe设备配置空间得Link Control Register中,含有一个“mon Clock Configuration”位。
当该位为1时,表示该设备与PCIe链路得对端设备使用“同相位”得参考时钟;如果为0,表示该设备与PCIe链路得对端设备使用得参考时钟就是异步得。
在PCIe设备中,“mon Clock Configuration”位得缺省值为0,此时PCIe设备使用得参考时钟与对端设备没有任何联系,PCIe链路两端设备使用得参考时钟可以异步设置。
这个异步时钟设置方法对于使用PCIe链路进行远程连接时尤为重要。
在一个处理器系统中,如果使用PCIe链路进行机箱到机箱间得互连,因为参考时钟可以异步设置,机箱到机箱之间进行数据传送时仅需要差分信号线即可,而不需要参考时钟,从而极大降低了连接难度。