pcie总线带宽

1 篇文章 0 订阅

总线带宽简介

在计算机系统中,总线的作用就好比是人体中的神经系统,它承担的是所有数据传输的职责,而各个子系统间都必须藉由总线才能通讯,例如,CPU和北桥间有前端总线、北桥与显卡间为AGP总线芯片组间有南北桥总线,各类扩展设备通过PCI、PCI-X总线与系统连接;主机外部设备的连接也是通过总线进行,如流行的USB 2.0、IEEE1394总线等等,一句话,在一部计算机系统内,所有数据交换的需求都必须通过总线来实现!

按照工作模式不同,总线可分为两种类型,一种是并行总线,它在同一时刻可以传输多位数据,好比是一条允许多辆车并排开的宽敞道路,而且它还有双向单向之分;另一种为串行总线,它在同一时刻只能传输一个数据,好比只容许一辆车行走的狭窄道路,数据必须一个接一个传输、看起来仿佛一个长长的数据串,故称为“串行”。

并行总线和串行总线的描述参数存在一定差别。对并行总线来说,描述的性能参数有以下三个:总线宽度、时钟频率、数据传输频率。其中,总线宽度就是该总线可同时传输数据的位数,好比是车道容许并排行走的车辆的数量;例如,16位总线在同一时刻传输的数据为16位,也就是2个字节;而32位总线可同时传输4个字节,64位总线可以同时传输8个字节......显然,总线的宽度越大,它在同一时刻就能够传输更多的数据。不过总线的位宽无法无限制增加。

总线的带宽指的是这条总线在单位时间内可以传输的数据总量,它等于总线位宽与工作频率的乘积。例如,对于64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s;32位、33MHz PCI总线的数据传输率就是32bit×33MHz÷8=132MB/s,等等,这项法则可以用于所有并行总线上面——看到这里,读者应该明白我们所说的总线带宽指的就是它的数据传输率。

对串行总线来说,带宽和工作频率的概念与并行总线完全相同,只是它改变了传统意义上的总线位宽的概念。在频率相同的情况下,并行总线比串行总线快得多,那么,为什么各类并行总线反而要被串行总线接替呢?原因在于并行总线虽然一次可以传输多位数据,但它存在并行传输信号间的干扰现象,频率越高、位宽越大,干扰就越严重,因此要大幅提高现有并行总线的带宽是非常困难的;而串行总线不存在这个问题,总线频率可以大幅向上提升,这样串行总线就可以凭借高频率的优势获得高带宽。

而为了弥补一次只能传送一位数据的不足,串行总线常常采用多条管线(或通道)的做法实现更高的速度——管线之间各自独立,多条管线组成一条总线系统,从表面看来它和并行总线很类似,但在内部它是以串行原理运作的。对这类总线,带宽的计算公式就等于“总线频率×管线数”,这方面的例子有PCI Express和HyperTransport,前者有×1、×2、×4、×8、×16和×32多个版本,在第一代PCI Express技术当中,单通道的单向信号频率可达2.5GHz,我们以×16举例,这里的16就代表16对双向总线,一共64条线路,每4条线路组成一个通道,二条接收,二条发送。这样可以换算出其总线的带宽为2.5GHz×16/10=4GB/s(单向)。除10是因为每字节采用10位编码。

GT/S与Gbps的定义

GT/s —— Giga Transmissionper second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率。

Gbps —— Giga Bits Per Second (千兆位/秒)。

GT/s 与Gbps 之间不存在成比例的换算关系。GT/s着重描述端口的速率属性,可以不和链路宽度等关联,这样来描述“可以进行链路宽度扩展”的高速串行接口更为合适一些。 需要结合具体的物理层通信协议来分析。

举例

例如:PCI-e2.0 协议支持 5.0 GT/s, 即每一条Lane 上支持每秒钟内传输 5G个bit;但这并不意味着 PCIe 2.0协议的每一条Lane支持 5Gbps 的速率。为什么这么说呢? 因为PCIe 2.0 的物理层协议中使用的是 8b/10b的编码机制。 即每传输8个bit,需要发送10个bit;这多出的2个bit并不是对上层有意义的信息。 那么, PCIe 2.0协议的每一条Lane支持 5 * 8 / 10 = 4Gbps 的速率。 以一个PCIe 2.0 x8的通道为例,x8的可用带宽为 4 * 8 = 32 Gbps。

例如:第二代PCI Express接口(简称 PCIe Gen2)的速率属性为5.0GTs,这样的描述主要说明的是每条PCIe Gen2的Lane(Serdes)每秒可以完成5.0G bit的数据传输这一属性,无论对于宽度为x1、x2、x4、x8的PCIe Gen2接口都是适用的。而如果笼统的说“PCIe Gen2的速率为5.0GT/s,则显得不太合适,因为对于一个x8的PCIe Gen2链路来说,它的8个Lane加在一起真正的数据传输能力实际可以达到40GT/s!同理,说PCIe Gen3接口的速率为8.0GT/S也是类似的意思。

pcie总线带宽

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‑1PCIe总线规范与总线频率和编码的关系

PCIe总线规范

总线频率[1]

单Lane的峰值带宽

编码方式

1.x

1.25GHz

2.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所示。

 4‑2PCIe总线的峰值带宽

PCIe总线的数据位宽

×1

×2

×4

×8

×12

×16

×32

峰值带宽(GT/s)

5

10

20

40

60

80

160

由上表所示,×32的PCIe链路可以提供160GT/s的链路带宽,远高于PCI/PCI-X总线所能提供的峰值带宽。而即将推出的PCIe V3.0规范使用4GHz的总线频率,将进一步提高PCIe链路的峰值带宽。

在PCIe总线中,使用GT(Gigatransfer)计算PCIe链路的峰值带宽。GT是在PCIe链路上传递的峰值带宽,其计算公式为总线频率×数据位宽×2。

 

 

 

 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCIe总线是一种高速串行接口协议,用于连接计算机内部的各种设备,如显卡、声卡、存储设备等。学习PCIe总线需要掌握以下几个方面的知识。 首先,应该了解PCIe总线的基本概念和工作原理。PCIe总线的传输速度非常快,具有高带宽和低延迟的特点。它采用点对点(Point-to-Point)连接方式,每个设备都有独立的通信通道,能够实现高效的数据传输。 其次,需要掌握PCIe总线的电气特性和信号传输方式。PCIe总线使用差分信号进行数据传输,可以有效抵抗噪声和干扰,提高传输质量。此外,还需要学习常用的PCIe接口类型和插槽规格,以便选择合适的设备和扩展卡进行扩展。 另外,了解PCIe总线的配置空间和寄存器编程也是很重要的。PCIe设备内部有一片配置空间,包含了设备的基本信息和寄存器,可以通过编程来访问和配置设备。掌握寄存器的编程方法可以实现对设备的控制和管理。 最后,需要了解PCIe总线在操作系统中的驱动程序开发。学习如何编写PCIe设备的驱动程序,可以实现与设备的交互和数据传输。对于开发人员而言,掌握PCIe总线的驱动开发技术,对于实现硬件设备的功能和性能优化至关重要。 总之,学习PCIe总线需要掌握其基本概念、工作原理、电气特性和信号传输方式、配置空间和寄存器编程,以及在操作系统中的驱动程序开发。这些知识将帮助我们了解和应用PCIe总线,提高计算机系统的性能和扩展能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值