Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:计算机组成原理:pcie

PCIe


介绍

  1. PCIe是数据传输通道,一端直接连接到CPU,另一端可以连接GPU、磁盘等。内存和CPU不是通过PCIe连接的,CPU 和内存(RAM)之间使用的是内存总线
  2. CPU端:一个主机内部可能有多个CPU,每个CPU都有自己的PCIe接口(这个端口是 Root 根端口),每个PCIe设备都是连接到某个CPU的Root(可能是直接连接,也可能是经过中转)
  3. PCIe的连接方式(拓扑):PCIe 通常呈树形结构(Root → Switch → Endpoint)
    1. PCIe Bridge(PCI Express 桥接器)是一种硬件组件,用于扩展 PCIe 总线,桥接不同的 PCIe 域或层级,起到连接和转发数据的作用。其本质是将一个 PCIe 链路划分成多个子链路,或者将多层 PCIe 层级结构连接起来
    2. 如果两个设备连接到同一个PCIe Bridge,那么它们之间做不经过Host的操作的时候速度会更快。拓扑结构上相隔更远,自然速度越慢、延迟越高。
  4. 设备端:有的设备可能是直接连接到CPU的根端口的,这样自然速度更快。有的设备和CPU之间是有中转的。
# 一个例子
CPU Root Port
├── PCIe Switch A
│   ├── GPU0
│   └── GPU1
└── PCIe Switch B
    ├── GPU2
    └── GPU3

# NUMA分组 和 CPU分组 是不同的
CPU Affinity: 0-9, 20-29
NUMA Affinity: 0

GPU之间的P2P传输

  1. 两个GPU都直接连接到同一个CPU Root:应该是可以的P2P的
  2. 单个 PCIe Switch 下的 GPU(PIX):一般支持 GPU 直接 P2P(不经过 Host Memory)
  3. 跨 PCIe Switch 的 GPU(NODE):可能允许
  4. 跨 NUMA(连接到不同CPU的GPU):也并不是强制必须经过 Host Memory。如果 P2P 支持跨 NUMA(较少见),数据走 CPU interconnect,但未必用 Host Memory

版本

版本 速率(GT/s) 单通道带宽(GB/s) 16通道带宽(GB/s)
PCIe 1.0 2.5 GT/s 0.25 GB/s 4 GB/s
PCIe 2.0 5.0 GT/s 0.5 GB/s 8 GB/s
PCIe 3.0 8.0 GT/s 0.985 GB/s 15.75 GB/s
PCIe 4.0 16 GT/s 1.969 GB/s 31.5 GB/s
PCIe 5.0 32 GT/s 3.938 GB/s 63 GB/s
PCIe 6.0 64 GT/s 7.877 GB/s(PAM4编码) 126 GB/s
PCIe 7.0 128 GT/s 15.754 GB/s(PAM4编码) 252 GB/s

通道

AI:PCIe 通道(Lane) 是指 一对差分信号线对,由一根负责发送(TX)和一根负责接收(RX)组成,用于数据双向传输。通俗理解:1个通道 = 1对接收线 + 1对发送线。每个通道都有固定的带宽(速率),多个通道可以并行工作,从而成倍提升总带宽。PCIe 插槽的长度通常反映了最大可支持的通道数量,但实际工作时的通道数不一定等于插槽长度所示的最大值。

插槽长度 通常表示 实际用途
最短 x1 简单扩展卡(网卡、USB扩展等)
较短 x4 固态硬盘(NVMe扩展)、部分存储卡
中等 x8 专业网卡、加速卡
最长 x16 显卡、AI加速卡、数据处理卡
/var/www/DokuWikiStick/dokuwiki/data/pages/程序/计算机组成原理/pcie.txt · Last modified: 2025/07/21 16:11 by zhonghui