PCIe 速查表
开发调试常用数据一览
各代 PCIe 规格速查
| 版本 | 年份 | 单Lane速率 | 编码方式 | x1 有效带宽 | x16 有效带宽 | 差分阻抗 | 插入损耗 |
|---|---|---|---|---|---|---|---|
| Gen1 | 2003 | 2.5 GT/s | 8b/10b | ~250 MB/s | ~4 GB/s | 100Ω ±20% | — |
| Gen2 | 2007 | 5.0 GT/s | 8b/10b | ~500 MB/s | ~8 GB/s | 100Ω ±20% | — |
| Gen3 | 2010 | 8.0 GT/s | 128b/130b | ~985 MB/s | ~15.8 GB/s | 85Ω ±15% | 22 dB |
| Gen4 | 2017 | 16.0 GT/s | 128b/130b | ~1.97 GB/s | ~31.5 GB/s | 85Ω ±15% | 28 dB |
| Gen5 | 2019 | 32.0 GT/s | 128b/130b | ~3.94 GB/s | ~63.0 GB/s | 85Ω ±15% | 36-40 dB |
| Gen6 | 2022 | 64.0 GT/s | PAM4 + FLIT | ~7.56 GB/s | ~121.00 GB/s | 85Ω ±15% | 32-36 dB |
注:有效带宽 = 速率 × Lane数 ÷ 8 × 编码效率。Gen6 的 PAM4 每符号携带 2 bit,FLIT 模式采用 242b/256b 编码,效率约94.5%。
配置空间常用寄存器偏移
| 偏移 | 寄存器 | 位域 | 说明 |
|---|---|---|---|
0x00 | Device ID / Vendor ID | [31:16] / [15:0] | 设备/厂商标识 |
0x04 | Command | [15:0] | 命令寄存器(I/O/Memory/Bus Master使能) |
0x06 | Status | [15:0] | 状态寄存器 |
0x08 | Class Code / Revision | [31:8] / [7:0] | 设备类型代码 / 修订版本 |
0x0E | Header Type | [7:0] | 0=Type 0 (EP), 1=Type 1 (Bridge) |
0x10 | BAR0 | [31:0] | 基址寄存器0 |
0x18 | BAR2 / Primary Bus | Type 0: BAR2 / Type 1: [7:0] | Type 1 的上游总线号 |
0x19 | Secondary Bus | [7:0] | Type 1: 下游总线号 |
0x1A | Subordinate Bus | [7:0] | Type 1: 下游最大总线号 |
0x34 | Cap Pointer | [7:0] | 能力链表头指针 |
0x3C | Interrupt Line | [7:0] | INTx 中断线号 |
Capability ID 速查
标准 PCI 能力 (0x00-0xFF)
| ID | 名称 | 说明 |
|---|---|---|
| 0x05 | MSI | 消息信号中断 |
| 0x10 | PCI Express | PCIe 核心能力 |
| 0x11 | MSI-X | MSI 增强版(多中断向量) |
| 0x03 | VPD | 产品关键数据 |
PCIe 扩展能力 (0x100+)
| ID | 名称 | 说明 |
|---|---|---|
| 0x0001 | AER | 高级错误报告 |
| 0x0002 | VC | 虚拟通道 |
| 0x0003 | DSN | 设备序列号 |
| 0x000D | ACS | 访问控制服务 |
| 0x000E | ARI | 替代路由 ID 解释 |
| 0x000F | ATS | 地址翻译服务 |
| 0x0010 | SR-IOV | 单根 I/O 虚拟化 |
| 0x0013 | PRI | 页请求接口 |
| 0x0015 | Resizable BAR | 可调整大小的 BAR |
| 0x0017 | TPH Requester | TPH 请求者(路由提示) |
| 0x0018 | LTR | 延迟容忍报告 |
| 0x0019 | Secondary PCIe | 第二 PCIe 能力(RCiEP 专用) |
| 0x001B | PASID | 进程地址空间标识 |
| 0x001D | DPC | 下游端口遏制 |
| 0x001E | L1 PM Substates | L1 电源管理子状态(L1SS) |
| 0x001F | PTM | 精确时间测量 |
| 0x0023 | DVSEC | 指定厂商专用扩展能力 |
| 0x0026 | PL 16.0 GT/s | Gen4 物理层均衡 |
| 0x002A | PL 32.0 GT/s | Gen5 物理层均衡 |
完整能力 ID 与寄存器偏移的唯一数据源:js/pcie-spec-data.js(基准 linux pci_regs.h)。
lspci / setpci 常用命令
lspci # 列出所有PCI设备lspci -vvv # 详细信息(含配置空间、能力结构)lspci -nn # 显示Vendor:Device IDlspci -t # 显示总线拓扑树lspci -d ::0x0200 # 按Class Code筛选(以太网控制器)lspci -s 03:00.0 -vvv # 指定Bus:Dev.Func查看详情lspci -xxx -s 03:00.0 # dump配置空间前256字节lspci -xxxx -s 03:00.0 # dump完整4KB配置空间setpci -s 03:00.0 0x04.L # 读取Command寄存器setpci -s 03:00.0 0x04.w=0x0006 # 写入Command寄存器lspci -vms # 机器可读格式输出LTSSM 状态速查
| 状态 | 说明 | 关键超时 |
|---|---|---|
| Detect | 检测远端设备是否存在 | 12ms-24ms |
| Polling | 发送/接收TS序列,锁定位 | 24ms (Polling.Active) |
| Configuration | 链路宽度协商、Lane翻转、编号 | 56ms |
| L0 | 正常工作状态 | — |
| Recovery | 链路恢复/速度切换/均衡 | 48ms |
| L0s | 浅层省电状态(快速恢复) | — |
| L1 | 深层省电状态 | — |
| L2 | 辅助电源省电状态 | — |
| Hot Reset | 热复位 | 2ms |
| Disabled | 链路禁用 | — |
| Loopback | 回环测试模式 | — |
AER 常见错误码速查
可纠正错误 (Correctable)
| 位 | 错误名称 | 常见原因 |
|---|---|---|
| 0 | Receiver Error | 8b/10b 解码错误、弹性缓冲溢出 |
| 6 | Bad TLP | TLP 的 LCRC 校验失败 |
| 7 | Bad DLLP | DLLP 的 CRC 校验失败 |
| 8 | REPLAY_NUM Rollover | 重传计数器溢出 |
| 12 | Replay Timer Timeout | Ack 超时,触发重传 |
| 13 | Advisory Non-Fatal | 建议性非致命错误 |
不可纠正错误 (Uncorrectable)
| 位 | 错误名称 | 致命? | 常见原因 |
|---|---|---|---|
| 4 | Data Link Protocol Error | 致命 | 数据链路层协议错误 |
| 12 | Poisoned TLP Received | 非致命 | 收到带毒标记的 TLP |
| 13 | Completion Timeout | 非致命 | 请求超时未收到完成包 |
| 14 | Completer Abort | 非致命 | 完成方中止请求 |
| 15 | Unexpected Completion | 非致命 | 收到意外的完成包 |
| 16 | Receiver Overflow | 致命 | 接收缓冲区溢出 |
| 17 | Malformed TLP | 致命 | TLP 格式错误 |
| 18 | ECRC Check Failed | 非致命 | 端到端 CRC 校验失败 |
| 19 | Unsupported Request | 非致命 | 不支持的请求类型 |
| 20 | ACS Violation | 非致命 | 访问控制服务违规 |