当前位置: 首页 > article >正文

一文读懂GPU 通信之PCIe

一、先说说计算机总线

想象一下繁忙的高速公路,它连接着城市的各个角落,让车辆(数据)能够快速地从一个地点(设备)移动到另一个地点(设备)。在计算机的世界里,总线就是这样一条高速公路,它连接着CPU中央处理器,相当于城市的中心)、内存、硬盘和其他外围设备。总线是计算机硬件之间的高速公路。

总线由三部分组成:数据总线、地址总线和控制总线。

  1. 数据总线: 这是数据传输的通道,就像高速公路上的车道,数据(车辆)通过这些车道在设备之间移动。数据总线的宽度(比如32位或64位)决定了一次可以传输多少数据。
  2. 地址总线:这相当于高速公路的出口指示牌,告诉数据应该去往哪个地址(设备)。地址总线的宽度决定了计算机可以访问的内存地址数量。
  3. 控制总线:这是交通指挥系统,控制着数据传输的方向和时序。就像交通信号灯和路标,确保数据顺利、有序地流动。

在这里插入图片描述

举个例子,当你打开一个文档时,CPU通过控制总线发出读取指令,地址总线指定了文档在内存中的地址,然后数据总线将文档的内容从内存传输到CPU进行处理。处理完成后,CPU可能还会通过总线将修改后的数据发送回内存,或者发送到打印机进行打印。

就像一个精心设计的交通系统,计算机总线确保了数据能够高效、准确地在计算机的各个部件之间流动,让整个系统运行得更加顺畅。

二、PCIe是一种数据总线

PCIe,全称是Peripheral Component Interconnect Express,即外围组件互连快速通道。PCIe是一种高速串行输入/输出(I/O)总线,用于计算机硬件设备之间的连接,如图形处理单元(GPU)、固态硬盘(SSD)、网络卡等。

PCIe总线具有以下特点:

  1. 高速串行传输:与传统的并行总线相比,PCIe采用串行传输方式,这可以减少信号干扰,提高数据传输速率。
  2. 可扩展性PCIe支持多个通道,每个通道可以独立传输数据,从而提高整体的带宽。
  3. 热插拔:用户可以在不重启计算机的情况下,插入或拔出PCIe设备。
  4. 电源管理PCIe支持电源管理功能,可以降低功耗,延长设备的使用寿命。

在这里插入图片描述

PCIe是数据总线的一种。在计算机的总线体系中,PCIe主要负责外围设备的连接和数据传输。它不是地址总线或控制总线,而是专门用于高速数据传输的通道。通过PCIeCPU可以快速地与各种外围设备交换数据,从而提高整个计算机系统的性能。

举个例子,当你使用计算机玩游戏时,GPU(图形处理单元)通过PCIe总线与CPU高速交换图像数据,确保游戏画面流畅。同时,PCIe还可以连接固态硬盘,提供快速的数据读写速度,加快游戏加载时间。

三、PCIe以前用什么总线

PCIe的起源可以追溯到ISAIndustry Standard Architecture总线和PCIPeripheral Component Interconnect总线。

ISA是最早的计算机总线之一,它在1980年代初期由IBM推出,并随着IBM PC/AT(Advanced Technology)计算机的发布而普及。ISA总线是开放标准,它允许第三方制造商生产兼容的硬件扩展卡,从而推动了个人计算机行业的发展。

PCI总线是在1990年代初期由英特尔公司推出,作为ISAEISA(Extended Industry Standard Architecture)总线的后续产品。PCI总线的设计目标是提供更高的数据传输速率和更好的系统性能,以满足日益增长的计算需求。PCI总线采用多总线桥(Multi-Bus Bridge)的设计思路,允许计算机系统中的不同总线连接起来,支持更高的数据传输速率和更复杂的系统架构。

在这里插入图片描述

PCI总线虽然在速度和性能上有所提升,但它仍然存在一些限制。PCI总线采用的是共享并行数据总线架构,这意味着多个设备需要共享总线资源,并就单独访问总线进行协商,这限制了系统的扩展性和性能。 随着技术的发展,特别是图形加速卡和其他高速设备的需求增加,PCI总线的这些限制变得日益明显。

PCIe作为PCI的后续产品,采用了串行点对点连接,而不是PCI的共享并行总线架构。这种设计大幅提高了数据传输速率,减少了信号干扰,并且允许更多的设备同时高效地工作,而不需要共享总线资源。 PCIe的推出是为了解决PCI总线的局限性,并满足未来计算机系统对更高带宽和更高性能的需求。

四、PCIe的代次及传输速度

PCIe的初始标准定义了七种链路宽度,对应七种不同的物理插槽规格。这七种链路规格的通道数量分别为1组、2组、4组、8组、12组、16组和32组,对应的标识分别采用x1、x2、x4、x8、x12、x16和x32,不同规格的链路也和相应长度的物理插槽规格相匹配。一般来说,x16插槽是最常见的插槽规格,它用于接驳显卡或者万兆网络、超高速SSD等高性能高带宽设备。x32的插槽不太多见,往往用于服务器或者特殊场合。

PCIe x16插槽是支持x16数据通道的插槽,通常用于显卡。它提供了较高的带宽,适合高性能的外围设备,如现代游戏、科学、工程和机器学习应用程序中使用的GPUPCIe x16插槽的优点包括提供高带宽、低延迟的数据传输,并且支持热插拔。在GPU中,PCIe x16插槽能够确保GPUCPU之间的数据交互高效、快速,从而提升整体的计算性能和图形处理能力。

在这里插入图片描述

2004Intel推出PCIe至今,PCIe已经演进了6代,如今普遍采用的是PCIe Gen4PCIe Gen5

在这里插入图片描述

PCIe平均每2年演进一次,这样的演进速度跟不上GPU显卡的迭代速度,所以NVIDIA研发了自己的卡间互联技术NVLink

http://www.lryc.cn/news/2415128.html

相关文章:

  • CRC 校验解释
  • 深入浅出话VC++——MFC的本质
  • 手把手教你利用 Scrapy 编写一个完整的爬虫
  • 性能揭秘:电脑跑分测试你的实力
  • Linear()参数以及用法
  • yml配置文件的编写
  • 什么是RISC-V
  • 在线拼图照片制作怎么开始?6步打造精美图片集
  • mybatis-plus中wrapper的用法(详细)
  • VPC 是什么
  • 软件测试用例经典方法 | 逻辑覆盖测试法及案例
  • Excel的VLOOKUP函数及其用法
  • suse linux 远程桌面,Xmanager 远程连接CentOS linux和SUSE linux
  • 前端学习究竟该学什么?要学哪些东西?(以Vue为例)
  • OpenGL 入门 6:GLM
  • 详细解释sprintf 函数(转)
  • 网络性能测试工具-Iperf
  • [前后端]JSP入门
  • 元素定位之XPath定位-学习
  • 【Nessus安装、使用】
  • Linux命令 | 常用命令之 find
  • 字符串函数---strstr()、memchr()、strchr()详解及实现
  • 【数据结构】树(一)—— 树的基础知识(C语言版)
  • CDSN文章转载方法
  • Git从入门到熟练第十讲 cloning
  • Mac安装brew,支持m芯片,5分钟安装成功亲测有效
  • 浅谈网络共享之samba服务
  • CSS预处理语言~~Less安装与使用
  • Java的byte类型详解
  • ICMP协议与ARP协议