PCIe 技术简介
什么是PCI Express?
什么是 PCI Express?
PCI Express(Peripheral Component Interconnect Express,简称PCIe)是一种高速串行计算机扩展总线标准,用于连接计算机内部的各种硬件设备。它由Intel等公司发起,由PCI-SIG组织制定和维护。
与传统并行总线(如PCI、PCI-X)不同,PCIe采用点对点串行架构,每个设备拥有独立的通信通道,避免了总线竞争问题,能够提供更高的带宽和更好的扩展性。
核心特性
点对点架构
每个设备独享链路带宽,无总线竞争
全双工通信
发送和接收同时进行,双向带宽独立
可扩展带宽
通过x1/x2/x4/x8/x16等链路宽度扩展带宽
向后兼容
新版本设备可在旧版本插槽工作(降速)
热插拔支持
支持运行时设备插拔
分层协议
事务层、数据链路层、物理层分层设计
代际演进
| 版本 | 发布年份 | 单Lane速率 | 编码方式 | x16单向带宽 |
|---|---|---|---|---|
| Gen1 | 2003 | 2.5 GT/s | 8b/10b | 4 GB/s |
| Gen2 | 2007 | 5.0 GT/s | 8b/10b | 8 GB/s |
| Gen3 | 2010 | 8.0 GT/s | 128b/130b | ~16 GB/s |
| Gen4 | 2017 | 16.0 GT/s | 128b/130b | ~32 GB/s |
| Gen5 | 2019 | 32.0 GT/s | 128b/130b | ~64 GB/s |
| Gen6 | 2022 | 64.0 GT/s | PAM4 + FLIT | ~128 GB/s |
协议栈架构
PCIe协议采用分层架构,由三个主要层组成:
事务层 (Transaction Layer)
负责TLP(事务层包)的组装和解包。处理Memory、I/O、Configuration等读写请求,管理虚拟通道和流量控制。
数据链路层 (Data Link Layer)
提供可靠的数据传输机制。通过序列号、LCRC校验和Ack/Nak协议实现错误检测和重传。管理流量控制信用。
物理层 (Physical Layer)
处理数据的编码和电气传输。包含逻辑子层(编码、扰码)和电气子层(SerDes、驱动器)。负责链路训练和状态管理。
常见应用
存储
NVMe SSD、RAID控制器
网络
高速网卡(10G/25G/100G/400G)
图形
独立显卡(GPU)
AI加速
TPU、AI推理/训练卡
下一步
理解检测
1. PCIe 采用点对点架构,以下哪个描述是正确的?
PCIe 采用点对点串行架构,每个设备拥有独立的通信通道(Link),独享带宽,不存在总线竞争问题。这与传统 PCI/PCI-X 的共享总线架构形成鲜明对比。点对点架构也支持热插拔。
2. 从 Gen3 开始,PCIe 为什么从 8b/10b 编码切换到 128b/130b 编码?
8b/10b 编码有 20% 的编码开销,在高速率下带宽浪费严重。128b/130b 仅添加 2 位同步头,编码开销降至 1.54%,大幅提升有效带宽。代价是直流平衡改由扰码器实现,对 CDR 电路要求更高。
3. PCIe 协议栈的正确分层顺序(从上到下)是?
PCIe 协议栈从上到下为:事务层(TLP 组装/解包)→ 数据链路层(序列号、LCRC、Ack/Nak)→ 物理层(编码、串行化、电气传输)。发送时自上而下加封装,接收时自下而上解封装。