当前位置: 首页 > news >正文

Chapter 12: Physical Layer - Logical (Gen3)

Chapter 12: Physical Layer - Logical (Gen3)

书籍: PCI Express Technology 3.0 (MindShare Press, 2012)
页码: Book Pages 407-438 | PDF Pages 449-479
学习日期: 2026-04-13


本章概要

本章描述 PCIe Gen3 (8 GT/s) 的 Physical Layer 逻辑部分,包括从 8b/10b 到 128b/130b 编码的转变、块编码 (Block Encoding)、Sync Header、Ordered Sets 以及高级信号均衡 (Equalization)。


12.1 Gen3 编码变化

Gen1/Gen2 vs Gen3

特性Gen1/Gen2Gen3
编码方式8b/10b128b/130b
效率80%~98.5%
数据率2.5/5.0 GT/s8.0 GT/s
单向带宽0.5/1 GB/s~1 GB/s

128b/130b 编码原理

  • 不再使用 8b/10b 编码
  • 每 128 bits 数据 + 2 bits Sync Header = 130 bits
  • 效率提升: 128/130 ≈ 98.5% (vs 80%)

为什么改用 128b/130b?

  • 8b/10b 开销太大: 20% 带宽浪费
  • 频率提升的信号完整性问题: 5 GT/s 以上 8b/10b 难以处理
  • 更高效的编码: 接近理论极限

12.2 块编码 (Block Encoding)

块结构

┌────────────┬─────────────────────────────────────┐ │ Sync Header │ 16 Bytes (128 bits) │ │ (2 bits) │ │ └────────────┴─────────────────────────────────────┘

Sync Header

含义
10bData Block
01bOrdered Set Block

块传输顺序

  • Sync Header LSB 先发送
  • 符号 LSB 先发送

Gen3 的帧结构

不再使用 STP/SDP/END 等 K 字符

  • 使用 Sync Header 标识块类型
  • 数据块和有序集块通过 Sync Header 区分

12.3 Ordered Sets in Gen3

Gen3 有序集

  • 有序集仍然存在
  • Sync Header = 01b 表示有序集块
  • 不再使用 COM/SKP 等 K 字符

Gen3 有序集类型

有序集用途
TS1/TS2链路训练
FTS快速训练序列
SKIP时钟补偿
Electrical Idle电气空闲

有序集特性

  • 所有 Lane 同时发送
  • 需要块对齐 (Block Alignment)

12.4 块对齐 (Block Alignment)

背景

  • Gen1/Gen2 使用 COM 字符进行 Lane De-skew
  • Gen3 没有 COM 字符
  • 需要新的对齐机制

对齐过程

  1. 检测有序集块: Sync Header = 01b
  2. Lane 同步: 所有 Lane 必须看到相同的块边界
  3. 跨 Lane 去偏斜: 基于对齐的有序集

块对齐状态

  • Unaligned Phase: 初始状态
  • Aligned Phase: 对齐完成
  • Locked Phase: 锁定,跟踪块边界

12.5 信号均衡 (Signal Equalization)

Gen3 的挑战

  • 8 GT/s 高频率
  • 码间干扰 (ISI) 更严重
  • 需要更复杂的均衡技术

发射机均衡 (Tx Equalization)

  • 预加重 (Pre-emphasis): 增强高频分量
  • 去加重 (De-emphasis): 降低低频分量
  • 可编程系数

接收机均衡 (Rx Equalization)

  • 连续时间线性均衡 (CTLE): 模拟均衡
  • 判决反馈均衡 (DFE): 数字均衡
  • 可选支持

Gen1/Gen2 对比

  • Gen1/Gen2: 固定 Tx 去加重
  • Gen3: 可编程 Tx/Rx 均衡

12.6 链路训练 Gen3

训练序列

  • TS1/TS2 有序集仍然使用
  • 增加了 Equalization Phase
  • 协商发射机/接收机均衡设置

训练阶段

  1. Polarity Detection
  2. Lane Reversal
  3. Link Width Negotiation
  4. Speed Negotiation
  5. Block Alignment
  6. Equalization(Gen3 only)
  7. Configuration

12.7 接收机时钟补偿逻辑

时钟频率差异

  • 发射机和接收机时钟独立
  • 存在容差
  • 需要时钟补偿机制

Gen3 补偿方法

  • 使用 SKIP 有序集块
  • 定期插入 SKIP
  • 接收方可以丢弃 SKIP 块

SKIP 块结构

Sync Header = 01b (Ordered Set) + 有序集内容

12.8 Lane-to-Lane De-skew

偏斜问题

  • 不同 Lane 信号到达时间不同
  • 走线长度差异
  • 制造容差

Gen3 去偏斜

  • 基于块对齐
  • 有序集在所有 Lane 同时发送
  • 可以测量并补偿偏斜

去偏斜能力

  • 接收机必须具有 Lane-to-Lane 去偏斜能力
  • 规范定义了最大偏斜容限

12.9 加扰 (Scrambling)

加扰目的

  • 减少电磁干扰 (EMI)
  • 防止重复模式
  • 改善时钟恢复

Gen3 加扰

  • 多项式加扰
  • 应用于数据块
  • 有序集块不扰码

12.10 Gen1/Gen2 vs Gen3 物理层对比

特性Gen1/Gen2Gen3
编码8b/10b128b/130b
帧字符K字符 (STP/END)Sync Header
有序集COM+SKP 字符有序集块
均衡固定 Tx可编程 Tx/Rx
Lane De-skewCOM 字符块对齐
加扰多项式多项式

关键知识点速记

  1. Gen3 编码: 128b/130b,效率 ~98.5%
  2. Sync Header: 10b=Data, 01b=Ordered Set
  3. 不再使用 K 字符作为帧分隔符
  4. 块对齐: Unaligned → Aligned → Locked
  5. Gen3 需要可编程均衡: Tx Pre-emphasis + Rx CTLE/DFE
  6. SKIP 有序集用于时钟补偿
  7. Lane-to-Lane 去偏斜基于块对齐
  8. 数据块加扰,有序集块不加扰
  9. Gen3 带宽: 8 GT/s ≈ 1 GB/s 单向
  10. Equalization Phase 是 Gen3 特有的训练阶段

思考题

  1. 为什么 Gen3 要从 8b/10b 改为 128b/130b 编码?这样做有什么代价?
  2. Gen3 不使用 STP/END 等 K 字符,如何知道数据块的开始和结束?
  3. 为什么 Gen3 需要更复杂的均衡技术?Gen1/Gen2 的固定去加重为什么不适用?
  4. 块对齐 (Block Alignment) 的过程是怎样的?为什么 Gen3 需要这个过程?
  5. 如果不同 Lane 的偏斜超过规范限制,会发生什么?

笔记结束

http://www.jsqmd.com/news/658367/

相关文章:

  • 迪普防火墙SNAT策略配置问题
  • AI编程革命:用Codex告别重复造轮子
  • 23种设计模式以及对应的三种分类——快速及仪表——自留用
  • 【和风天气】开始使用:天气API请求 城市编码API请求
  • 不同材质工件(塑胶/金属/镀锌件)喷漆加工的工艺差异
  • 基于STM32LXXX的无线收发芯片(SI4463-C2A-GMR)应用程序设计
  • 健康管理没有局外人!深圳国商联帮你把健康握在手里
  • 从代码孤岛到智能协同,揭秘头部科技公司如何用LLM+GitOps实现PR通过率提升67%、交付周期压缩42%,你团队缺的不是工具,而是这1套协作协议
  • 周红伟:RAG 与知识检索
  • 从零实现MDP:用Python代码拆解马尔可夫决策过程核心算法
  • AI编程全栈实战课:网站开发+多端封装+微信小程序+支付上线,零基础一站式学会落地
  • 基于STM32LXXX的无线收发芯片(CC2530F256RHAR)应用程序设计
  • 如何高效实现B站视频智能转文字:bili2text技术深度解析与实战指南
  • 7种RAG查询预处理方案详解:告别检索效果差,提升回复质量!
  • 腾讯AI 应用开发 面经,一次过
  • Unity游戏窗口自定义:实现标题栏与边框的动态控制
  • PyCharm里用pip装Seaborn总失败?试试这3种更稳的安装方式(含Anaconda对比)
  • 为什么会选择美国洛杉矶代理IP来做TikTok业务?
  • 超详细!Hermes Agent 一键部署全流程指南,轻松上手不踩坑
  • 接口返回blob,如何实现小程序下载
  • 告别Batch Size焦虑:用PyTorch手把手实现Group Normalization(附完整代码)
  • 如何获取并定制化订货系统源码以适应企业需求?
  • Java转大模型,8个月上岸
  • HPH构造一看就懂!核心部件和工作原理
  • 2026国产适合企业的Ai智能体平台选型推荐:架构师视角下的非侵入式集成与提效避坑指南
  • 一份就懂的PyOpenGL实战指南,从零到一构建3D小游戏!
  • ESP32编译固件内存信息解读
  • **剪枝模型实战:用Python实现轻量化神经网络优化,从理论到代码全解析**
  • OpenClaw为何疯狂“吃”Token?
  • 有赞对接金蝶云星空全链路技术解决方案