首页 > 编程知识 正文

PCI总线,pcie速率与带宽

时间:2023-05-04 05:59:15 阅读:154864 作者:359

总线带宽概述

在计算机系统中,总线的作用就像人体中的神经系统,它负责所有的数据传输。 但是,各子系统之间必须能够通过总线进行通信。 例如,CPU和北桥之间有前端总线,北桥和显卡之间有AGP总线,芯片组之间有南北桥总线,各种扩展设备通过PCI、PCI-X总线连接到系统。 主机与外部设备的连接也通过总线进行。 例如,受欢迎的USB 2.0、IEEE1394总线等。 简而言之,在一个计算机系统内,所有的数据交换需求都必须通过总线来实现。

根据工作模式,总线分为两种类型。 一个是并行总线,可以同时传输多个位数据。 例如,一条可以有多辆车并排排列的宽阔道路,而且也有双向单向的区别。 另一个是串行总线,只能同时传输一个数据。 例如,就像只能走一辆车的狭窄道路一样,数据必须一个接一个地传输,看起来像一串长长的数据,所以称为“串行”。

并行总线和串行总线的描述参数存在一定的差异。 对于并行总线,描述的性能参数有三个:总线宽度、时钟频率和数据传输频率。 这里,总线宽度是指总线能够同时传输数据位数,是车道能够并行的车辆的数量; 例如,16位总线在同一时刻传输数据是16位,即2字节; 另一方面,32位总线可以同时传输4字节,64位总线可以同时传输8字节。 很明显,总线的宽度越大,可以同时传输越多的数据。 但是,总线的位宽不能无限制地增加。

总线带宽是指总线单位时间内可传输的数据总量,等于总线位宽与工作频率的乘积。 例如,在64位、800MHz前端总线的情况下,数据传输速率为64位800 MHz8 (byte )=6.4GB/s; 32位,33MHz PCI总线的数据传输速率为32bit33MHz8=132MB/s等。 该规律可以在所有并行总线上的——处看到,读者应当理解我们将总线带宽指的是其数据传输速率。

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

为了弥补一次只能传输1位的数据不足,串行总线往往采用多条流水线(或通道)的方法,实现更快的——流水线之间的独立。 多条管线组成一个总线系统,表面上与并行总线很相似,但内部按串行原理工作。 对于这种总线,带宽计算公式等于“总线频率流水线数”,这方面的例子有PCI Express和HyperTransport,前者有1、2、4、8、16和32版本10除外是因为采用了每字节10位的编码。

GT/S和Gbps的定义

gt/s ——千兆位传输/秒是每秒传输的次数。 重点是描述物理层通信协议的速度。

GPS——千兆位/秒。

GT/s和Gbps之间不存在比例的换算关系。 GT/s侧重于端口的速度特性,可以与链路宽度等无关地进行写入,因此,写入“可扩展链路宽度”的高速串行接口更为合适。 需要结合具体的物理层通信协议进行分析。

举个例子

例如,PCI-e2.0协议支持5.0 GT/s,这意味着每个Lane每秒支持5gb的传输。 但这并不意味着PCIe 2.0协议的每个Lane都支持5Gbps的速度。 为什么会这样呢? 因为PCIe 2.0的物理层协议使用了8b/10b的编码机制。 这意味着每传输8位,就需要发送10位; 这许多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.0GTs比特的数据传输的属性。 对于宽度x1、x2、x4、x8的pciegeg而言,也大致而言,“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、以及16

e链路。每一个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总线规范使用的总线频率并不相同,其使用的数据编码方式也不相同。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总线的峰值带宽

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

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

原文链接:https://blog.csdn.net/z1026544682/article/details/103366794

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。