高速串行总线系列(6)PCI Express的带宽为什么可以这么大?

举报
李锐博恩 发表于 2021/07/15 00:06:32 2021/07/15
【摘要】 文章目录 前言PCI高速串行连接PCIe的lanesPCIe的连接速度 前言 PCI Express是一种高速串行连接,其运行方式更像是网络而不是总线。 PCI Express,通常简称为PCIe,它是由PCI演变而来的,下面一起认识认识。 PCI 外围组件互连(PCI)插槽是计算机体系结构不可或缺的一部分,大多数人都认为这是理所当然的。多...

前言

PCI Express是一种高速串行连接,其运行方式更像是网络而不是总线。

在这里插入图片描述

PCI Express,通常简称为PCIe,它是由PCI演变而来的,下面一起认识认识。

PCI

外围组件互连(PCI)插槽是计算机体系结构不可或缺的一部分,大多数人都认为这是理所当然的。多年来,PCI一直是一种将声音,视频和网卡连接到主板的通用功能方法。

但是PCI有一些缺点。随着处理器,视频卡,声卡和网络变得越来越快,功能越来越强大,PCI一直保持不变。它具有32 位的固定宽度,一次只能处理5个设备。较新的64位PCI-X总线提供了更大的带宽,但其更大的宽度又增加了PCI的其他一些问题。

一种称为PCI Express(PCIe)的新协议消除了这些缺点中的许多缺点,提供了更大的带宽并与现有的操作系​​统兼容。

高速串行连接

在计算的早期,大量的数据通过串行连接移动。计算机将数据分离成数据包,然后每次将数据包从一个地方传送到另一个地方。串行连接很可靠,但速度很慢,因此制造商开始使用并行连接来同时发送多个数据。

事实证明,随着速度越来越高,并行连接也有自己的问题–例如,电线会在电磁上相互干扰–所以现在钟摆又向高度优化的串行连接摆去。硬件的改进以及数据包的分割、标记和重新组装过程的改进导致了更快的串行连接,如USB 2.0和FireWire。

PCI Express是一种串行连接,其运行方式更像是网络而非总线。PCIe不是用一条总线来处理来自多个源的数据,而是用一个开关来控制多个点对点的串行连接。(详情请参见 LAN 交换机的工作原理。)这些连接从交换机中呈扇形分布,直接通向数据需要传送的设备。每个设备都有自己的专用连接,因此设备不再像在普通总线上那样共享带宽。我们将在下一节中查看这种情况是如何发生的。

PCIe的lanes

lanes翻译为通道,为PCIe的串行数据发送以及接收的通道。

在这里插入图片描述

当计算机启动时,PCIe会确定哪些设备被插入主板。然后,它识别设备之间的链接,创建一个流量走向的地图,并协商每个链接的宽度。这种设备和连接的识别与PCI使用的协议相同,因此PCIe不需要对软件或操作系统进行任何更改。

PCI Express连接的每条通道都包含两对导线–一条用于发送,一条用于接收。数据包以每周期一个比特的速度在通道上移动。x1连接是最小的PCIe连接,有一个由四根线组成的通道(差分)。它在每个方向上每周期传输一个比特。x2连接包含八根线,一次传输两个比特,x4连接传输四个比特,以此类推。其他配置有x12、x16和x32。

PCI Express适用于台式机和笔记本电脑。它的使用可能导致主板生产成本降低,因为它的连接包含的针脚比PCI连接少。它还具有支持许多设备的潜力,包括以太网卡、USB 2和视频卡。

但是,一个串行连接怎么可能比PCI的32线或PCIx的64线更快呢?在下一节中,我们将看看PCIe是如何以串行格式提供大量带宽的。

PCIe的连接速度

在这里插入图片描述

32位PCI总线的最高速度为33MHz,允许每秒通过总线的数据量最大为133MB。64位PCI-X总线的总线宽度是PCI的两倍。不同的PCI-X规格允许不同的数据传输速率,从每秒512 MB到1 GB的数据都有。

然而,单条PCI Express通道每秒可处理每个方向200 MB的流量。一个x16 PCIe连接器可以在每个方向上每秒传输6.4 GB的数据,速度惊人。在这种速度下,x1连接可以轻松处理千兆以太网连接以及音频和存储应用。一个x16连接可以轻松处理强大的图形适配器。

这怎么可能呢?一些简单的进步促成了串行连接速度的大幅提升。

  • 数据的优先级,使系统可以先移动最重要的数据,并帮助防止瓶颈的出现。
  • 依靠时间的(实时)数据传输
  • 改进用于连接的物理材料;
  • 更好的握手和错误检测
  • 更好的方法将数据分解成数据包,再将数据包组合起来。此外,由于每个设备都有自己与交换机的专用点对点连接,来自多个来源的信号不再需要通过同一总线工作。

在并行连接中,干扰和信号衰减是很常见的。劣质材料和来自附近电线的交叉信号会转化为噪声,从而降低连接速度。PCI-X总线的额外带宽意味着它可以承载更多的数据,从而产生更多的噪声。PCI协议也不会对数据进行优先级排序,因此更多重要的数据可能会被瓶颈所困扰。为显卡使用加速图形端口(AGP)插槽可以消除大量的流量,但不足以补偿更快的处理器和I/O设备。

注:以上内容仅仅为PC上的PCIe简介。更多的关于FPGA以及其他嵌入式设备上的PCIe后面可能会单独更新。

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/107889092

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。