基本信息
概述
PCIe is Peripheral Component Interconnect Express。2003年,PCI-SIG发布1.0版本。PCIe 取代了并行的 PCI 总线,改为高速串行、点对点。用 lane 表示带宽:x1 是 1 条 lane,x4 / x8 / x16 是多条 lane 并行。每个 lane 由一对发送差分 + 一对接收差分组成,全双工。
工作原理(通俗理解)
像多条并行的「双向车道」:每个 lane 是一条独立的高速收发通道,x4 就是 4 条车道并行提速。点对点意味着每个设备独占通道,不用共享、不会冲突。
信号
一对TX或RX就是一组Lane。
| 信号 | 说明 |
|---|---|
| TX+ / TX- | 发送差分对(每 lane 一对) |
| RX+ / RX- | 接收差分对(每 lane 一对) |
| REFCLK+ / REFCLK- | 100MHz 参考时钟(差分) |
| PERST# | 复位(低有效) |
| CLKREQ# | 时钟请求(低功耗管理) |
速率(每 lane 每方向)
| 版本 | 速率 | 编码 | 有效速率 |
|---|---|---|---|
| Gen1 | 2.5 GT/s | 8b/10b | 250 MB/s |
| Gen2 | 5 GT/s | 8b/10b | 500 MB/s |
| Gen3 | 8 GT/s | 128b/130b | 约 985 MB/s |
| Gen4 | 16 GT/s | 128b/130b | 约 1969 MB/s |
| Gen5 | 32 GT/s | 128b/130b | 约 3938 MB/s |
PCIe的数据传输是有编码的,信号上传输的是编码数据,实际需要把编码位相关去除后,才是有效载荷。
上面的表格中的速率是单向的,实际PCIe是双向收发数据,需要把方向也计算上。
总带宽 = 单 lane 有效速率 × lane 数(每个方向各算一次)