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 | ~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推理/训练卡