PCIE扫盲贴

转帖:http://www.liusuping.com/it-tech/pci-e-pci-express-jieshao.html

什么是PCI Express

PCI-Express是当前主流的总线和接口标准,它原来的名称为“3GIO”,是由Intel提出的,很明显Intel的意思是它代表着下一代I/O接口标准。交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标准将全面取代现行的PCI和AGP,最终实现总线标准的统一,也就是说以后的主板接口没有所谓的显卡专用接口AGP了,所有的接口都是PCI-e接口了,不管是网卡还是显卡。

PCI Express的优势

PCI Express 作为目前主流的总线接口,采用了目前业内流行的点对点串行连接,每个设备都具有自己专用的连接接口。这比起曾经的PCI及更早期的计算机采用的共享并行架构来说,PCI Express并不需要向整个总线系统请求带宽可以把总线利用率充分发挥,将数据传输率提高到一个很高的频率,这样可以将带宽提高到前所未有的程度。而且PCI-Express总线能够在一个单位周期内实现双向连接和传输,这样使数据的传输质量更高更具有效率。

PCI Express的的种类

PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E X1能够提供250MB/s的传输速度,显卡用的PCI-E X16则达到了4GB/s,由于PCI-E总线可以在上下行同时传输数据,因此通常说PCI-E X16的带宽为8GB/s!

image

根据上面各个接口带宽的数据我们可以看到PCI-e X1的接口可以提供单向250MB/s的带宽,普通的千兆网卡用PCI-e X1接口就可以满足了,但是万兆网卡的就至少要PCI-e X4才能刚刚满足带宽需求,因此可以解释市场上见到的万兆网卡基本上都是PCI-e X8接口的,比如Intel PRO 10GBE XF LR(10千米,采用长波模块(LR)因此传输距离可以达到10公里,及 Intel PRO 10GBE XF SR(300米)采用的是短波(SR)模块,传输距离是300米。

图解PCIE带宽计算公式

PCI-E总线带宽公式(MB/s) = 串行总线时钟频率(MHz) * 串行总线位宽(bit/8 = B) * 串行总线管线 * 编码方式 * 每时钟传输几组数据(cycle)

PCI-E总线频率为2500MHZ(100MHZ基准频率下)

PCI-E带宽完整公式:2500MHz*1/8(bit)*n(条管数)*8/10(bit编码方式)*2(每时钟传输两组数据)

可以化简得:2500MHz*n/10*2,如果不太明白,我就拿PCI-E 16X做个例子吧:

PCI-E 16X=2500*16/10*2=8G/s=8000M/S =8G/s

图解PCI Express

先上图看一下有哪些PCI-e接口

还是看图说话,从上往下看,黄色的接口,上面两个是PCI-E X1,接着是个PCI-E X16,在下来是PCI桥接的AGP接口,最后两个绿色的接口是传统的PCI接口。

双PCE16X接口(上为SLI,下为CF),在打开SLI/CF模式时,接口的速度自动降为8X。但是在物理上这样的接口依旧是PCE16X,此时这样的接口应该称为PCI-E16X@8X。(此外,有一些SLI主板省略了SLI开关而直接把两个16X接口的速度做成8X,省去了切开关的麻烦。还有的就是NF4-4X主板,接口为16X但速度为4X。

PCI-E 2.0总线是可以向下兼容的,也就是说1.0接口的显卡可插在2.0插槽的主板上,但2.0接口的显卡无法在现有主板上使用。

PCI-E有向下兼容的特性。既16X的接口可以插1.4.8X接口的卡但是1X接口不能插4.8.16X接口的显卡。

### PCIe基础知识概述 #### 什么是PCIe? PCI Express(Peripheral Component Interconnect Express,简称PCIe)是一种高速串行计算机扩展总线标准,旨在替代旧式的并行总线架构。它通过点对点的拓扑结构提供更高的带宽和更低的延迟[^1]。 #### PCIe的核心概念 - **Lane**: PCIe的基本单位是一个lane,每个lane由一对差分信号线构成,支持全双工通信。例如,在PCIe 1.0中,单个lane能够以2.5 GT/s的速度运行,并采用8b/10b编码方式,实际有效带宽为250 MB/s per direction[^4]。 - **Generation (Gen)**: 随着技术的发展,PCIe经历了多个版本迭代,从最初的1.0到如今的最新版。每一代都显著提升了数据传输速率。比如,相较于第一代,后续各代次均实现了成倍增长的数据吞吐能力。 - **Topology**: 使用树状拓扑连接主机与外设之间形成独立通道,避免资源共享带来的瓶颈问题[^3]。 #### 数据包类型及其作用 在PCIe协议栈里存在不同类型的数据单元用于完成特定功能: - TLP(Transaction Layer Packet): 主要负责高层应用间的信息交换过程中的命令传递以及地址映射等功能; - PLP(Physical Layer Package)[^1]: 物理层专用的一些特殊序列用来维持链路状态正常运作如初始化训练模式等操作;两者虽然同属数据帧范畴但在具体实现机制上有明显区别。 #### 性能指标计算实例 假设我们讨论基于PCIe 3.0规格下的四条通道路况下理论最高I/O性能表现情况,则可得出如下结论:当忽略掉额外附加损耗因素影响之后,其峰值读取或者写入速度可达约4 GB/s水平线上下浮动范围较小。如果进一步细化考量针对固定尺寸区块请求场景——譬如常见的4 KB随机访问情形的话,则相应所能支撑的最大输入输出次数(IOPS)接近于一百万级别数量级即百万量级左右[^2]。 ```python # 计算PCIe 3.0 x4 的理论最大IOPS bandwidth_per_second = 4 * (1024 ** 3) # 单位字节 block_size = 4 * 1024 # 单位字节 max_iops = bandwidth_per_second / block_size print(f"Theoretical Max IOPS for PCIe Gen3 x4 is {int(max_iops)}") ``` 以上代码片段展示了如何依据给定条件推导出对应环境设定条件下可能达到的最佳效能数值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值