PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。
PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。
PCIe交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”,简称“PCI-e”。它的主要优势就是数据传输速率高,而且还有相当大的发展潜力。
PCI Express也有多种规格,从PCI Express x1到PCI Express x32,能满足将来一定时间内出现的低速设备和高速设备的需求。PCI-Express的接口是PCIe 3.0接口,其比特率为8Gbps,约为上一代产品带宽的两倍,并且包含发射器和接收器均衡、PLL改善以及时钟数据恢复等一系列重要的新功能,用以改善数据传输和数据保护性能。
PCIe闪存卡的供应商包括:INTEL、IBM、LSI、OCZ、三星(计划中)、SanDisk、STEC、SuperTalent和东芝(计划中)等,而针对海量的数据增长使得用户对规模更大、可扩展性更强的系统所应用,PCIe 3.0技术的加入最新的LSI MegaRAID控制器及HBA产品的出色性能,就可以实现更大的系统设计灵活性。
- PCIe意义
PCI的更高发展
PCIe比以前的标准有许多改进,包括更高的最大系统总线吞吐量,更低的I/O引脚数量和更小的物理尺寸,更好的总线设备性能缩放,更详细的错误检测和报告机制(高级错误报告,AER)和本机热插拔功能。 PCIe标准的更新版本为I/O虚拟化提供了硬件支持。
PCI Express电接口也用于各种其他标准,最值得注意的是作为笔记本电脑扩展卡接口的ExpressCard以及作为计算机存储接口的SATA Express。
PCI Express 2.0规范的主要在数据传输速度上做出了重大升级,即从以前的2.5GT/s总线频率翻倍至5GT/s,这也就是说以前PCI Express 2.0 x16接口能够翻番达到惊人的8GB/s总线带宽(1GB/s=8Gbps)。
PCI-E 3.0是生产中可用于主流个人电脑的扩展卡的最新标准。也有还未退市的PCI-E(即1.0版)。而在2009年的第二季度发布的AMD RD890芯片组将率先支持PCI-E 3.0版本。2.0比1.0带宽提高一倍,而3.0比2.0版带宽又提升一倍,为5GHz x 4。
2.0升级部分
1、重点是PCI Express总线频率提升:每条串行线路的数据传输率从2.5Gbps翻番至5Gbps,带宽也随之翻倍。
2、可更好地支持未来高端显卡,即使功耗达到225W或者300W也只需PCI Express单独供电即可。
3、新增“输入输出虚拟化”(IOV)技术,可以让多台虚拟机共享网卡等PCI设备。
4、PCI-E线缆子规范可让PCI设备通过标准化铜缆线接入计算机,而且每条线路的速度都能达到2.5Gbps,适用于为高端服务器加入多块网卡作为输入输出扩展模块等场合。
5、最后是代号“Geneseo”的长期规划。该技术与Intel、IBM等业界巨头合作开发,可让图形处理单元、加密处理单元等协处理器更好地与中央处理器紧密相连。
6、对动态链路速度和链路宽度管理、以及活动状态电源管理(ASPM)进行相关改进。
角色定位
EMC公司最近更新的缓存策略巩固了固态PCI Express在服务器中的地位,并将和其他IT厂商一起为提升企业数据存储的效率扮演重要的角色。
但是PCI Express flash是否从根本上影响了整个行业以及是否对典型的数据中心具有吸引力仍然值得讨论。固态存储技术具有两面性,IT企业对新挑战还是抱有谨慎的态度。但是没人会否认PCIe不论是在缓存还是在主存里提升的优越性能。
PCIe的主要优势在于其减少延迟的能力。PCIe设备和PCIe总线直接相连,使缓存和数据更接近CPU。他们消除了传统存储协议的开销,并且EMC认为在合适的条件下能实现远远优于从08年开始销售的串列SCSI和SATA的固态硬盘SSD的性能。
pcie 1.0规格
传输通道数
|
脚Pin总数
|
主接口区Pin数
|
总 长 度
|
主接口区 长度
|
1
|
36
|
14
|
25 mm
|
7.65 mm
|
4
|
64
|
42
|
39 mm
|
21.65 mm
|
8
|
98
|
76
|
56 mm
|
38.65 mm
|
16
|
164
|
142
|
89 mm
|
71.65 mm
|
规格
|
总线宽度
|
工作时脉
|
传输速率
|
PCI-E x1
|
8 位
|
2.5 GHz
|
512 MiB/s
|
PCI-E x2
|
8 位
|
2.5 GHz
|
1.0 GiB/s
|
PCI-E x4
|
8 位
|
2.5 GHz
|
2.0 GiB/s
|
PCI-E x8
|
8 位
|
2.5 GHz
|
4.0 GiB/s
|
PCI-E x16
|
8 位
|
2.5 GHz
|
8.0 GiB/s
|
PCIe标准
PCI Express卡适合其物理尺寸或更大的插槽(使用×16作为最大的),但可能不适合更小的PCI Express插槽;例如,×16卡可能不适合×4或×8插槽。一些插槽使用开放式插座来允许物理上更长的卡,并协商最佳的电子和逻辑连接。
实际连接到插槽的通道数量也可能
少于物理槽大小所支持的数量。一个例子是一个×16插槽可以运行×1、×2、×4、×8、×16的卡,当运行×4卡时只提供4条通道。其规格可以读为“×16(×4模式)”,而“×size @×速度”符号(“×16 @×4”)也是常见的。优点是这样的插槽可以容纳更大范围的PCI Express卡,而不需要主板硬件来支持全传输速率。
卡本身设计和制造各种尺寸。例如,以PCI Express卡形式出现的固态驱动器(SSD)通常使用HHHL(半高,半长)和FHHL(全高,半长)来描述卡的物理尺寸。(右图中上面四个为PCIe插槽,最下面一个为PCI插槽)
引脚排列
下表列出了PCI Express卡上边缘连接器每侧的导线。 印刷电路板(PCB)的焊接侧为A侧,元件侧为B侧。PRSNT1#和PRSNT2#引脚必须稍短于其他引脚,以确保热插拔卡完全插入。WAKE#引脚使用全电压唤醒计算机,但必须从备用电源拉高以指示卡是可以唤醒。
PCIe 连接器引脚(×1、×4、×8和×16变体)
|
||||||||
引脚
|
B侧
|
A侧
|
描述
|
引脚
|
B侧
|
A侧
|
描述
|
|
1
|
+12V
|
PRSNT1#
|
必须连接到最远的PRSNT2 #
|
50
|
HSOp(8)
|
保留
|
通道8传输数据,+和-
|
|
2
|
+12V
|
+12V
|
主电源引脚
|
51
|
HSOn(8)
|
地面
|
||
3
|
+12V
|
+12V
|
52
|
地面
|
HSIp(8)
|
通道8接收数据,+和-
|
||
4
|
地面
|
地面
|
53
|
地面
|
HSIn(8)
|
|||
5
|
SMCLK
|
TCK
|
SMBus和JTAG端口引脚
|
54
|
HSOp(9)
|
地面
|
通道9传输数据,+和-
|
|
6
|
SMDAT
|
TDI
|
55
|
HSOn(9)
|
地面
|
|||
7
|
地面
|
TDO
|
56
|
地面
|
HSIp(9)
|
通道9接收数据,+和-
|
||
8
|
+3.3V
|
TMS
|
57
|
地面
|
HSIn(9)
|
|||
9
|
TRST#
|
+3.3V
|
58
|
HSOp(10)
|
地面
|
通道10传输数据,+和-
|
||
10
|
+3.3V aux
|
+3.3V
|
备用电源
|
59
|
HSOn(10)
|
地面
|
||
11
|
激活#
|
复位#
|
链接激活;复位
|
60
|
地面
|
HSIp(10)
|
通道10接收数据,+和-
|
|
关键的缺口
|
61
|
地面
|
HSIn(10)
|
|||||
12
|
CLKREQ#
|
地面
|
请求运行时钟
|
62
|
HSOp(11)
|
地面
|
通道11传输数据,+和-
|
|
13
|
地面
|
REFCLK+
|
参考时钟差分对
|
63
|
HSOn(11)
|
地面
|
||
14
|
HSOp(0)
|
REFCLK−
|
通道0传输数据,+和-
|
64
|
地面
|
HSIp(11)
|
通道11接收数据,+和-
|
|
15
|
HSOn(0)
|
地面
|
65
|
地面
|
HSIn(11)
|
|||
16
|
地面
|
HSIp(0)
|
通道0接收数据,+和-
|
66
|
HSOp(12)
|
地面
|
通道12传输数据,+和-
|
|
17
|
PRSNT2#
|
HSIn(0)
|
67
|
HSOn(12)
|
地面
|
|||
18
|
地面
|
地面
|
68
|
地面
|
HSIp(12)
|
通道12接收数据,+和-
|
||
PCI Express×1卡在引脚18处结束
|
69
|
地面
|
HSIn(12)
|
|||||
19
|
HSOp(1)
|
保留
|
通道1传输数据,+和-
|
70
|
HSOp(13)
|
地面
|
通道13传输数据,+和-
|
|
20
|
HSOn(1)
|
地面
|
71
|
HSOn(13)
|
地面
|
|||
21
|
地面
|
HSIp(1)
|
通道1接收数据,+和-
|
72
|
地面
|
HSIp(13)
|
通道13接收数据,+和-
|
|
22
|
地面
|
HSIn(1)
|
73
|
地面
|
HSIn(13)
|
|||
23
|
HSOp(2)
|
地面
|
通道2传输数据,+和-
|
74
|
HSOp(14)
|
地面
|
通道14传输数据,+和-
|
|
24
|
HSOn(2)
|
地面
|
75
|
HSOn(14)
|
地面
|
|||
25
|
地面
|
HSIp(2)
|
通道2接收数据,+和-
|
76
|
地面
|
HSIp(14)
|
通道14接收数据,+和-
|
|
26
|
地面
|
HSIn(2)
|
77
|
地面
|
HSIn(14)
|
|||
27
|
HSOp(3)
|
地面
|
通道3传输数据,+和-
|
78
|
HSOp(15)
|
地面
|
通道15传输数据,+和-
|
|
28
|
HSOn(3)
|
地面
|
79
|
HSOn(15)
|
地面
|
|||
29
|
地面
|
HSIp(3)
|
通道3接收数据,+和-
|
80
|
地面
|
HSIp(15)
|
通道15接收数据,+和-
|
|
30
|
保留
|
HSIn(3)
|
81
|
PRSNT2#
|
HSIn(15)
|
|||
31
|
PRSNT2#
|
地面
|
82
|
保留
|
地面
|
|||
32
|
地面
|
保留
|
||||||
PCI Express×4卡在引脚32处结束
|
||||||||
33
|
HSOp(4)
|
保留
|
通道4传输数据,+和-
|
|||||
34
|
HSOn(4)
|
地面
|
||||||
35
|
地面
|
HSIp(4)
|
通道4接收数据,+和-
|
|||||
36
|
地面
|
HSIn(4)
|
||||||
37
|
HSOp(5)
|
地面
|
通道5传输数据,+和-
|
|||||
38
|
HSOn(5)
|
地面
|
||||||
39
|
地面
|
HSIp(5)
|
通道5接收数据,+和-
|
|||||
40
|
地面
|
HSIn(5)
|
||||||
41
|
HSOp(6)
|
地面
|
通道6传输数据,+和-
|
|||||
42
|
HSOn(6)
|
地面
|
||||||
43
|
地面
|
HSIp(6)
|
通道6接收数据,+和-
|
Legend
|
||||
44
|
地面
|
HSIn(6)
|
接地引脚
|
零伏
|
||||
45
|
HSOp(7)
|
地面
|
通道7传输数据,+和-
|
电源引脚
|
为PCIe卡供电
|
|||
46
|
HSOn(7)
|
地面
|
卡到主机引脚
|
从卡到主板的信号
|
||||
47
|
地面
|
HSIp(7)
|
通道7接收数据,+和-
|
主机到卡引脚
|
从主板到卡的信号
|
|||
48
|
PRSNT2#
|
HSIn(7)
|
开漏
|
可能拉低或由多张卡感应
|
||||
49
|
地面
|
地面
|
感应针
|
绑在一张卡上
|
||||
PCI Express×8卡在引脚49处结束
|
保留
|
目前不使用,请勿链接
|
电源
电源
所有PCI Express卡在+ 3.3V(9.9W)可能消耗高达3A。它们可能消耗的+12V和总功率取决于卡的类型:
×1卡在+ 12V(6W)和10W组合时限制为0.5A。
×4和更宽的卡在+ 12V(25W)和25W组合时限制为2.1A。
在初始化和软件配置为“大功率设备”后,一个全尺寸×1卡可能会达到25 W限制。
在初始化和软件配置为“大功率设备”后,一个全尺寸×16显卡可以在+ 12V(66 W)和75 W组合后可能会达到5.5A限制。
可选连接器增加75 W(6引脚)或150 W(8引脚)+12 V电源,然后可以达到总共300 W(2×75 W + 1×150 W)。一些卡使用两个8针连接器,但这还没有标准化,因此这种卡不能携带官方的PCI Express标志。该配置允许总共375 W(1×75 W + 2×150 W),并且可能会通过PCI-SIG与PCI Express 4.0标准进行标准化。 8针PCI Express连接器可能与EPS12V连接器混淆,EPS12V连接器主要用于为SMP和多核系统供电。
PCI Express迷你卡
基于PCI Express的PCI Express迷你卡(也称为Mini PCI Express,Mini PCIe,Mini PCI-E,mPCIe和PEM)是Mini PCI外形尺寸的替代品。 它是由PCI-SIG开发的。 主机设备支持PCI Express和USB 2.0连接,每个卡都可以使用任一标准。 大多数笔记本电脑2005年之后构建使用PCI Express进行扩展卡; 然而,截至2015年,许多供应商正在为此目的使用较新的M.2外形尺寸。
由于尺寸不同,PCI Express迷你卡与标准全尺寸PCI Express插槽不兼容; 然而,存在允许它们在全尺寸插槽中使用的被动适配器。
1、物理尺寸
PCI Express迷你卡的尺寸为全迷你卡的30×50.95毫米(宽度×长度)。 有一个52针边缘连接器,由0.8 mm间距的两个交错行组成。 每行有八个触点,一个间隙相当于四个触点,然后另外18个触点。 板的厚度为1.0毫米,不包括部件。 还规定了“半迷你卡”(有时简称为HMC),其大约一半的物理长度为26.8毫米。
2、电接口
PCI Express迷你卡边缘连接器提供多种连接和总线:
PCI Express×1(带SMBus)
USB 2.0
用于诊断计算机机箱上无线网络LED(即Wi-Fi)状态的电线
用于GSM和WCDMA应用的SIM卡(规格为UIM信号)。
另一个PCIe通道的未来扩展
1.5 V和3.3 V电源
3、Mini-SATA(mSATA)变体
尽管共享Mini PCI Express外形,但是mSATA插槽不一定与Mini PCI Express兼容。因此,仅某些笔记本与mSATA驱动器兼容。大多数兼容系统都是基于英特尔的Sandy Bridge处理器架构,使用了Huron River平台。 2011年3月至4月发布的联想ThinkPad T,W和X系列笔记本电脑在WWAN卡槽中支持mSATA SSD卡。 ThinkPad Edge E220s / E420s以及Lenovo IdeaPad Y460 / Y560也支持mSATA。
一些笔记本电脑(特别是华硕Eee PC,苹果MacBook Air以及戴尔mini9和mini10)使用PCI Express迷你卡作为固态硬盘。该变体使用预留和几个非保留引脚来实现SATA和IDE接口直通,只保留USB,地面线,有时候还有核心PCIe×1总线保持不变。这使得“miniPCIe”闪存和固态驱动器出售上网本大部分与真正的PCI Express Mini实现不兼容。
此外,典型的华硕miniPCIe SSD长71毫米,导致戴尔51毫米的型号经常被错误地称为半长。 2009年宣布推出一款真正的51 mm Mini PCIe SSD,具有两个堆叠的PCB层,可以提供更高的存储容量。被宣布的设计中保留了PCIe接口,使其与标准的mini PCIe插槽兼容。目前还没有工业产品开发。
英特尔拥有众多台式机主板,其PCIe×1迷你卡插槽通常不支持mSATA SSD。在英特尔支持网站上提供了PCIe x1 Mini-Card插槽(通常与SATA端口复用)本机支持mSATA的台式机主板列表。
4、迷你PCIe v2
新版本的Mini PCI Express,M.2替代了mSATA标准。 通过M.2连接器提供的计算机总线接口是PCI Express 3.0(最多四个通道),Serial ATA 3.0和USB 3.0(后两者的单个逻辑端口)。 这取决于主机支持和设备类型的所需级别,由M.2主机或设备的制造商决定要支持哪些接口。
5、PCI Express外部布线
PCI Express外部电缆PCI Express外部布线(也称为外部PCI Express,电缆PCI Express或ePCIe)规格由PCI-SIG于2007年2月发布。
标准电缆和连接器已定义为×1,×4,×8和×16链路宽度,每个通道的传输速率为250 MB / s。 PCI-SIG也期望规范将演进到500 MB / s,如PCI Express 2.0。 最大电缆长度保持不变。 使用电缆PCI Express的一个例子是一个金属外壳,其中包含许多PCI插槽和PCI-to-ePCIe适配器电路。 如果没有ePCIe规范,此设备将无法实现。
衍生形式
其他几种类型的扩展卡来自PCIe,这些包括:
·高低卡
·ExpressCard:PC卡的后续版本(带×1个PCIe和USB 2.0;可热插拔)
·PCI Express ExpressModule:为服务器和工作站定义的热插拔模块化形式
·XQD卡:CompactFlash协会的基于PCI Express的闪存卡标准
·XMC:类似于CMC / PMC外形(VITA 42.3)
·AdvancedTCA:对更大应用的CompactPCI的补充;支持基于串行的背板拓扑
·AMC:对AdvancedTCA规范的补充;支持ATCA板上的处理器和I / O模块(×1,×2,×4或×8 PCIe)。
·FeaturePak:适用于嵌入式和小型应用的小型扩展卡格式(43×65 mm),可在高密度连接器以及USB,I2C和多达100个I / O点上实现两个1 PCIe连接
·通用IO:Super Micro Computer Inc的一款变体,专门用于低调机架式机箱。它的连接器支架相反,因此它不能装在普通的PCI Express插座中,但它是引脚兼容的,如果拆下支架,可以插入。
·Thunderbolt:Intel的一个变体,它结合了DisplayPort和PCIe协议,与Mini DisplayPort兼容。 Thunderbolt 3.0还结合了USB 3.1,并使用USB Type-C外形尺寸,而不是Mini DisplayPort。
·串行数字视频输出:一些9xx系列英特尔芯片组允许将集成视频的另一个输出添加到PCIe插槽(主要是专用和16通道)。
·M.2(以前称为NGFF)
·M-PCIe通过M-PHY物理层将PCIe 3.0带到移动设备(如平板电脑和智能手机)
·U.2(以前称为SFF-8639)
历史版本
编辑
播报
在早期开发中,PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O)。 名为阿拉帕霍工作组(AWG)的技术工作组制定了该标准。 对于初稿,特设工作组只包括英特尔工程师; 随后特设工作组扩大到包括行业伙伴。
PCI Express是一项不断发展和完善的技术。
截至2013年,PCI Express版本4已经起草,预计在2017年将达到最终规格。在2016年PCI SIG的年度开发者大会上和英特尔开发者论坛上,Synopsys展示了一款在PCIe 4.0上运行的系统,而Mellanox提供了一个合适的网卡。
PCI Express 版本
行代码
传输速率
吞吐量
×1
×4
×8
×16
1.0
8b/10b
2.5GT/s
250MB/s
1GB/s
2GB/s
4GB/s
2.0
8b/10b
5GT/s
500MB/s
2GB/s
4GB/s
8GB/s
3.0
128b/130b
8GT/s
984.6MB/s
3.938GB/s
7.877GB/s
15.754GB/s
4.0
128b/130b
16GT/s
1.969GB/s
7.877GB/s
15.754GB/s
31.508GB/s
5.0
128b/130b
32 or 25GT/s
3.9 or 3.08GB/s
15.8 or 12.3GB/s
31.5 or 24.6GB/s
63.0 or 49.2GB/s
PCIe 1.0a
2003年,PCI-SIG推出了PCIe 1.0a,每通道数据速率为250 MB / s,传输速率为每秒2.5 gigatransfer(GT / s)。 传输速率表示为每秒传输量,而不是每秒位数,因为传输量包括不提供额外吞吐量的开销位; PCIe 1.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。
PCIe 1.1
2005年,PCI-SIG推出了PCIe 1.1。 此更新的规范包括澄清和几项改进,但与PCI Express 1.0a完全兼容。 数据速率没有变化。
PCIe 2.0
PCI-SIG于2007年1月15日宣布推出PCI Express Base 2.0规范。PCIe 2.0标准将PCIe 1.0至5 GT / s的传输速率提高了一倍,每通道吞吐量从250 MB / s上升到500 MB / s。因此,32通道PCIe连接器(×32)可支持高达16 GB / s的总吞吐量。
PCIe 2.0主板插槽与PCIe v1.x卡完全向后兼容。 PCIe 2.0卡也通常使用PCI Express 1.1的可用带宽向下兼容PCIe 1.x主板。总体来说,为v2.0设计的显卡或主板将与另一个v1.1或v1.0a配合使用。
PCI-SIG还表示,PCIe 2.0具有对点对点数据传输协议及其软件架构的改进。
英特尔首款支持PCIe 2.0的芯片组是X38,截至2007年10月21日,各种厂商(Abit,Asus,Gigabyte)开始出货。AMD开始使用其AMD 700芯片组系列支持PCIe 2.0,nVidia从MCP72开始。Intel的所有芯片组,包括Intel P35芯片组,都支持PCIe 1.1或1.0a。
像1.x一样,PCIe 2.0使用8b / 10b编码方案,因此每通道提供5 GT / s原始数据速率的有效4 Gbit / s最大传输速率。
PCIe 2.1
PCI Express 2.1(其规范日期为2009年3月4日)支持计划在PCI Express 3.0中全面实施的大部分管理,支持和故障排除系统。 但是,速度与PCI Express 2.0相同。 不幸的是,插槽功率的增加打破了PCI Express 2.1卡和1.0 / 1.0a的一些较旧的主板之间的向后兼容性,但是大多数具有PCI Express 1.1连接器的主板都由厂商通过实用程序提供BIOS更新,以支持向后兼容性 的PCIe 2.1。
PCIe 3.0
PCI Express 3.0基本规范版本3.0在多个延迟之后于2010年11月提供。 2007年8月,PCI-SIG宣布PCI Express 3.0将以每秒8吉比特的速度(GT / s)进行比特率,并且将与现有的PCI Express实现向后兼容。当时还宣布,PCI Express 3.0的最终规范将延迟到2010年第二季度。PCI Express 3.0规范的新功能包括增强信令和数据完整性的一些优化,包括发射机和接收机均衡,PLL改进,时钟数据恢复和当前支持的拓扑的通道增强。
PCI-SIG的分析发现,在PCI-SIG互连带宽扩展的可行性方面进行了为期6个月的技术分析,发现每秒8个千兆传输速率可以在主流硅工艺技术中制造,并且可以部署在现有的低成本材料和基础设施上,同时保持对PCI Express协议栈的完全兼容性(可忽略不计的影响)。
PCI Express3.0将编码方案从之前的8b / 10b编码升级到128b / 130b,将带宽开销从PCI Express 2.0的20%降低到大约1.54%(= 2/130)。这通过称为“加扰”的技术来实现,该技术将已知的二进制多项式应用于反馈拓扑中的数据流。因为加扰多项式是已知的,所以可以通过使用反多项式的反馈拓扑运行数据来恢复数据。 PCI Express 3.0的8 GT / s比特率有效地提供每通道985 MB / s,实际上相对于PCI Express 2.0的通道带宽翻倍
2010年11月18日,PCI特别兴趣小组正式向其成员发布了完成的PCI Express 3.0规范,以便根据新版本的PCI Express构建设备。
PCIe 3.1
2013年9月,PCI Express 3.1规格已经宣布在2013年底或2014年初发布,在三个方面整合了PCI Express 3.0规范的各种改进:电源管理,性能和功能它于2014年11月发布。
PCIe 4.0
2011年11月29日,PCI-SIG宣布PCI Express 4.0提供16Gb / s比特率,使PCI Express 3.0提供的带宽增加一倍,同时保持软件支持和二手机械接口的向后兼容性。 PCI Express 4.0规格也将带来OCuLink-2,这是Thunderbolt连接器的替代品。 OCuLink版本2将具有高达16 GT / s(总共8GB / s×4通道),而Thunderbolt 3连接器的最大带宽为5GB / s。 另外,还要研究主动和空闲功率优化。 最终规格预计将于2017年发布。
在2016年8月,Synopsys在英特尔开发者论坛上展示了运行PCIe 4.0的测试机。 他们的知识产权已经授权给几家计划在2016年底提供其芯片和产品的公司。
PCIe 6.0
2022年1月12日,PCI-SIG 组织正式发布了 PCIe 6.0 标准,速度达到了 64 GT / s。 [5]
2022年1月27日,Rambus全球首个发布了完全符合PCIe 6.0的控制器,支持全部新特性,主要面向高性能计算、数据中心、人工智能与机器学习、汽车、物联网、国防、航空等高精尖领域。该控制器支持PCIe 6.0 64GT/s传输数据率,x1通道即可带来8GB/s的单向物理带宽(相当于PCIe 4.0 x4),x16则高达256GB/s,双向就是512GB/s。 [6]
PCIe 7.0
2022年6月22日,发布和维护 PCIe 标准的联盟 PCI-SIG 宣布推出最新一代 PCIe 规范 PCIe 7.0 或 PCIe Gen 7 。最新一代 PCIe 带宽翻了一番,在一条通道 (x1) 上单向实现 128GT / s 或 128Gbps 总吞吐量。综上所述,在 PCIe x16 插槽上,与独立显卡一样,双向总理论吞吐量为 512GB / s。同时,通常与 x4 PCIe 插槽配对的 NVMe SSD 可提供高达 64GB / s 的单向速度。最终规格将于 2025 年发布。 [7]
2023年6月,PCI-SIG敲定了 PCIe Gen7(PCIe 7.0)v0.3 版本的草案,按照设计,其带宽相比 PCIe 6.0 再次翻倍,速度从 64 GT/s 增加到 128 GT/s,同样采用 PAM4 调制信令,编码模式为 1b / 1b,向下兼容之前所有的 PCIe 版本。 [8]
PCI-E SD 7.0
2018年6月,SD协会已经基本完成了全新一代SD 7.0标准规范的制定工作,计划在2018年6月26-28日上海举办的MWC大会上正式公布。 [3]
扩展和未来方向
一些供应商提供PCIe光纤产品,但这些通常仅在特定情况下才能使用,其中透明PCIe桥接优于使用更主流的标准(如InfiniBand或以太网),可能需要额外的软件支持它当前的实现集中于距离而不是原始带宽,并且通常不实现全×16链路。
Thunderbolt由英特尔和苹果公司共同开发,作为将DisplayPort端口组合在一起的通用高速接口,最初旨在成为全光纤接口,但由于创建消费者友好的光纤互连大多数早期实现是混合铜纤维系统。一个显着的例外,Sony VAIO Z VPC-Z2使用带有光学组件的非标准USB端口连接到外置PCIe显示适配器。苹果一直是2011年Thunderbolt采用的主要动力,尽管其他几家供应商已经宣布推出具有Thunderbolt的新产品和系统。
移动PCIe规范(缩写为M-PCIe)允许PCI Express架构在MIPI Alliance的M-PHY物理层技术上运行。基于已经广泛采用的M-PHY及其低功耗设计,移动PCIe允许PCI Express在平板电脑和智能手机中使用。
OCuLink(代表“光铜链路”)是“电缆版PCI Express”的扩展,作为Thunderbolt接口版本3的竞争对手。将于2015年秋季发布的OCuLink版本1.0支持通过铜缆布线的PCIe 3.0 x4通道(8 GT / s,3.9 GB / s)光纤版可能会在将来出现。
硬件协议摘要
编辑
播报
PCIe链路是围绕称为通道的串行(1位)点对点连接的专用单向耦合的。 这与早期的PCI连接形成鲜明对比,PCI连接是基于总线的系统,其中所有设备共享相同的双向32位或64位并行总线。
PCI Express是一种分层协议,由事务层,数据链路层和物理层组成。 数据链路层被细分为包括媒体访问控制(MAC)子层。 物理层被细分为逻辑和电子子层。 物理逻辑子层包含物理编码子层(PCS)。 这些术语借鉴了IEEE 802网络协议模型。
物理层
PCIe物理层(PHY,PCIEPHY,PCI Express PHY或PCIe PHY)规范分为两个子层,对应于电气和逻辑规范。逻辑子层有时被进一步划分为MAC子层和PCS,尽管该划分不是PCIe规范的正式部分。英特尔公布的PCI Express(PIPE)PHY接口(58)定义了MAC / PCS功能分区以及这两个子层之间的接口。 PIPE规范还标识了物理介质连接(PMA)层,其中包括串行器/解串器(SerDes)和其他模拟电路;然而,由于SerDes实现在ASIC供应商之间差异很大,PIPE没有指定PCS和PMA之间的接口。
在电平上,每个通道由两个以2.5,5,8或16 Gbit / s为单位的单向LVDS对组成,具体取决于协商的能力。发送和接收是单独的差分对,每个通道总共有四条数据线。
任何两个PCIe设备之间的连接称为链路,并且由一个或多个通道的集合构建。所有设备必须最低限度地支持单通道(×1)链路。设备可以可选地支持由2,4,8,12,16或32个通道组成的更宽的链路。这样可以通过两种方式实现非常好的兼容性:
PCIe卡在任何至少与其一样大的插槽中物理适配(并且正常工作)(例如,x尺寸的卡将在任何大小的插槽中工作);
只要提供较大物理槽所需的地面连接,则物理尺寸较大(例如×16)的槽可以更少的通道连线(例如,×1,×4,×8或×12)尺寸。
在这两种情况下,PCIe协商最高相互支持的通道数。验证了许多显卡,主板和BIOS版本,以支持同一连接上的×1,×4,×8和×16连接。
尽管这两者将是信号兼容的,但通常不可能将一个物理上更大的PCIe卡(例如,×16尺寸的卡)放置在较小的插槽中 - 尽管如果PCIe插槽被更改或者使用了提升板,大多数主板会允许这个。 PCIe连接器的宽度为8.8 mm,高度为11.25 mm,长度可变。连接器的固定部分长度为11.65mm,包含两行11(总共22个),另一部分的长度根据通道数量而变化。引脚以1mm间隔隔开,进入连接器的卡的厚度为1.8mm。
数据传输
PCIe通过与数据相同的链接发送所有控制消息,包括中断。串行协议永远不会被阻止,所以延迟仍然与具有专用中断线的常规PCI相当。
在多通道链路上发送的数据被交织,这意味着每个连续的字节被连续通过。 PCIe规范将这种交织作为数据条带化。在需要大量硬件复杂性来同步(或去偏移)输入条带数据的同时,条带化可以显着减少链路上第n个字节的延迟。虽然通道没有紧密同步,但对于2.5 / 5/8 GT / s,通道偏差为20/8/6 ns,因此硬件缓冲区可以重新对齐条带数据。由于填充要求,条带化可能不一定会降低链路上的小数据包的等待时间。
与其他高数据速率串行传输协议一样,时钟嵌入在信号中。在物理层面上,PCI Express2.0使用8b / 10b编码方案来确保连续相同数字(零或1)的字符串的长度有限。该编码用于防止接收机丢失位边缘的位置。在这种编码方案中,每个八(未编码)有效载荷数据位被替换为发送数据的10(编码)比特,导致电带宽中的20%开销。为了提高可用带宽,PCI Express 3.0版代替使用128b / 130b编码加扰。 128b / 130b编码依赖于加扰来限制数据流中相同数字串的运行长度,并确保接收机保持同步到发射机。它还通过防止发送的数据流中的重复数据模式来降低电磁干扰(EMI)。
数据链路层
数据链路层为PCIe Express链路执行三个重要服务:
对由事务层生成的事务层数据包(TLP)进行排序,
通过确认协议(ACK和NAK信令)确保在两个端点之间可靠地传递TLP,这些确认协议明确要求重播未确认/不良TLP,初始化和管理流量控制信用
在发送侧,数据链路层为每个输出TLP生成递增序列号。它作为每个传输的TLP的唯一标识标签,并被插入到出站TLP的头部。 32位循环冗余校验码(在本上下文中称为链路CRC或LCRC)也附加到每个输出TLP的末尾。
在接收端,接收的TLP的LCRC和序列号都在链路层中被验证。如果LCRC检查失败(指示数据错误)或序列号超出范围(从上一次有效接收到的TLP不连续),则坏TLP以及在坏TLP之后接收的任何TLP,被认为是无效和被丢弃。接收方向无效TLP的序列号发送一个否定的确认消息(NAK),请求重新发送该序列号的所有TLP。如果接收的TLP通过LCRC检查并具有正确的序列号,则被视为有效。链路接收器增加序列号(跟踪最后接收的良好TLP),并将有效的TLP转发到接收者的事务层。 ACK消息被发送到远程发射机,指示TLP被成功地接收(并且扩展了所有具有过去序列号的TLP)。
如果发射机接收到NAK消息,或者在超时时间段到期之前没有接收到确认(NAK或ACK),则发射机必须重发所有缺少肯定确认(ACK)的TLP。除了设备或传输介质的持续故障之外,链路层提供与事务层的可靠连接,因为传输协议确保在不可靠介质上传送TLP。
除了发送和接收由事务层生成的TLP之外,数据链路层还生成并消耗DLLP,数据链路层数据包。 ACK和NAK信号通过DLLP进行通信,流控信用信息,一些电源管理消息和流控信用信息(代表事务层)也是如此。
实际上,链路上的未确认TLP的数量受到两个因素的限制:发射机的重播缓冲区的大小(必须存储所有发送的TLP的副本,直到远程接收机确认它们),以及流量控制接收机发给发射机的信用。 PCI Express要求所有接收者发出最少数量的信用,以保证一个链路允许发送PCIConfig TLP和消息TLP。
事务层
PCI Express实现拆分事务(具有请求和响应时间间隔的事务),允许链接携带其他流量,而目标设备收集响应的数据。
PCI Express使用基于信用的流量控制。在该方案中,设备在其事务层中为每个接收到的缓冲器通告初始信用量。链接相对端的设备在向该设备发送交易时,会计算每个TLP从其帐户中消耗的信用数量。发送设备只能在这样做时才传输TLP,使其消费的信用计数不超过其信用限额。当接收设备从其缓冲区完成TLP的处理时,它向发送设备发出信用回报信号,从而将信用额度增加了恢复的数量。信用计数器是模块化计数器,消费信用与信用限额的比较需要模数运算。这种方案的优点(与其他方法,如等待状态或基于握手的传输协议相比)是信用回报的延迟不会影响性能,前提是不会遇到信用额度。如果每个设备设计有足够的缓冲区大小,则通常满足这一假设。
经常引用PCIe 1.x,以支持每个方向每个通道250 MB / s的数据速率。这个数字是从物理信令速率(2.5千兆位)除以编码开销(每个字节10位)的计算。这意味着十六行(×16)PCIe卡理论上能够达到16×250 MB / s =每个方向4 GB / s。虽然这在数据字节方面是正确的,但更有意义的计算是基于可用的数据有效载荷速率,这取决于流量的简档,这是高级(软件)应用程序和中间协议级别的函数。
像其他高数据速率串行互连系统一样,由于附加的传输鲁棒性(CRC和确认),PCIe具有协议和处理开销。长时间连续的单向传输(例如高性能存储控制器中的那些)可以接近PCIe的原始(通道)数据速率的95%。这些转移也可以从增加通道数量(×2,×4等)中获得最大收益。但是在更典型的应用(如USB或以太网控制器)中,流量简档的特征是具有频繁强制确认的短数据包。由于分组解析和强制中断(在设备的主机接口或PC的CPU)中的开销,这种流量会降低链路的效率。作为连接到相同印刷电路板的设备的协议,它不需要与用于长距离通信的协议的传输错误相同的容限,因此这种效率的损失对于PCIe不是特别的。
|
注意:本文归作者所有,未经作者允许,不得转载