手把手教你学PCIE(3.1)--PCIe 架构的系统架构图解

目录

PCIe 架构的系统架构图解

1. PCIe 系统架构图

2. 主要组件及其功能

2.1 Root Complex (RC)

2.2 Switch (SW)

2.3 Endpoint (EP)

3. 链路 (Link)

4. 配置空间 (Configuration Space)

5. 基地址寄存器 (Base Address Register, BAR)

6. 中断机制

7. 地址映射

8. 事务层包 (Transaction Layer Packet, TLP)

9. 数据链路层包 (Data Link Layer Packet, DLLP)

10. 流量控制 (Flow Control)

11. 链路训练 (Link Training)

12. 信号完整性管理

总结


PCIe 架构的系统架构图解

PCI Express (PCIe) 是一种高速串行计算机扩展总线标准,广泛应用于个人电脑、服务器和嵌入式系统中。理解 PCIe 的系统架构对于设计和调试 PCIe 系统至关重要。以下是 PCIe 架构的系统架构图解及其详细说明。

1. PCIe 系统架构图

 

深色版本

+-------------------+
|   Root Complex    |
|     (RC)          |
+-------------------+
       | Link x16
       v
+-------------------+
|     Switch        |
|     (SW)          |
+-------------------+
       | Link x8
       v
+-------------------+
|     Endpoint      |
|     (EP)          |
+-------------------+
       | Link x4
       v
+-------------------+
|     Endpoint      |
|     (EP)          |
+-------------------+
       | Link x1
       v
+-------------------+
|     Endpoint      |
|     (EP)          |
+-------------------+

2. 主要组件及其功能

2.1 Root Complex (RC)
  • 定义:PCIe 系统的起点,通常位于主板上,负责管理和配置整个 PCIe 拓扑。
  • 功能
    • 配置管理:提供配置空间,管理所有 PCIe 设备的配置信息。
    • 中断管理:处理和分发中断请求。
    • 事务管理:发起和处理事务,如读写操作。
    • 电源管理:管理 PCIe 设备的电源状态。
2.2 Switch (SW)
  • 定义:用于扩展 PCIe 拓扑,连接多个 Endpoint 或其他 Switch。
  • 功能
    • 路由管理:管理多个 lanes 的路由,确保数据正确传输。
    • 仲裁管理:处理多个请求的优先级,避免冲突。
    • 配置管理:提供配置空间,管理自身和连接设备的配置信息。
2.3 Endpoint (EP)
  • 定义:PCIe 系统中的终端设备,如网卡、显卡、存储控制器等。
  • 功能
    • 数据处理:执行特定的任务,如网络通信、图形渲染、数据存储。
    • 配置管理:提供配置空间,管理自身的配置信息。
    • 中断处理:处理和生成中断请求。
    • 事务处理:响应来自 Root Complex 或其他 Endpoint 的请求。

3. 链路 (Link)

  • 定义:由一个或多个 lanes 组成的连接,用于在两个 PCIe 设备之间传输数据。
  • 类型:常见的 link 宽度有 x1、x2、x4、x8、x16 等。
  • 功能
    • 数据传输:负责数据的高效传输。
    • 链路训练:初始化和建立链路,确保两端设备之间的通信质量。
    • 流量控制:管理数据流,防止接收方缓冲区溢出。

4. 配置空间 (Configuration Space)

  • 定义:每个 PCIe 设备都有一个配置空间,用于存储设备的配置信息。
  • 功能
    • 设备识别:包含设备 ID、厂商 ID 等信息。
    • 资源分配:包含基地址寄存器 (BAR)、中断线路等信息。
    • 状态管理:包含设备状态、错误状态等信息。

5. 基地址寄存器 (Base Address Register, BAR)

  • 定义:用于映射 PCIe 设备的内存和 I/O 空间。
  • 功能
    • 内存映射:允许 CPU 直接读写 PCIe 设备的内存空间。
    • I/O 映射:提供传统的 I/O 访问方式。

6. 中断机制

  • 定义:用于通知 PCIe 设备发生的事件,如数据到达、错误发生等。
  • 类型
    • 传统中断:使用中断线路,适用于简单设备。
    • 消息中断 (MSI):使用消息传递机制,适用于高性能设备。
    • 扩展消息中断 (MSI-X):支持更多中断向量,适用于复杂设备。

7. 地址映射

  • 定义:PCIe 系统中的地址映射机制,用于访问设备的内存和 I/O 空间。
  • 类型
    • 内存映射 I/O (MMIO):通过内存地址访问 PCIe 设备的寄存器。
    • I/O 映射:通过专用的 I/O 地址访问 PCIe 设备的寄存器。

8. 事务层包 (Transaction Layer Packet, TLP)

  • 定义:事务层传输的基本单位,包含请求和响应信息。
  • 类型
    • 读请求 (Read Request):请求从目标设备读取数据。
    • 写请求 (Write Request):请求向目标设备写入数据。
    • 配置读写请求 (Configuration Read/Write Request):请求读写配置空间。
    • 消息请求 (Message Request):请求传输控制信息和状态报告。

9. 数据链路层包 (Data Link Layer Packet, DLLP)

  • 定义:数据链路层传输的基本单位,用于链路管理和控制。
  • 类型
    • ACK:确认接收到的数据包。
    • NACK:否定接收到的数据包。
    • 更新 FC 信用:更新流量控制信用。

10. 流量控制 (Flow Control)

  • 定义:用于管理数据流,防止接收方缓冲区溢出。
  • 机制:通过信用机制,接收方通知发送方其可用缓冲区大小。

11. 链路训练 (Link Training)

  • 定义:初始化和建立链路的过程,确保两端设备之间的通信质量。
  • 阶段
    • 检测:发送方和接收方通过发送和接收特殊的训练序列来检测链路的存在。
    • 同步:通过发送同步序列,确保发送方和接收方的时钟同步。
    • 配置:通过发送配置序列,设置链路的参数,如宽度、速率等。
    • 均衡:通过发送均衡序列,调整发送和接收参数,优化信号质量。

12. 信号完整性管理

  • 定义:确保信号的完整性和可靠性,减少电磁干扰 (EMI) 和噪声。
  • 方法
    • 阻抗匹配:确保传输线的阻抗与发送方和接收方的阻抗匹配。
    • 端接电阻:在传输线的末端添加端接电阻,减少反射。
    • 屏蔽和隔离:使用屏蔽电缆和隔离措施,减少串扰和噪声。
    • 预加重和去加重:通过预加重和去加重技术,补偿信号衰减。

总结

PCIe 系统架构由 Root Complex、Switch、Endpoint 等主要组件组成,通过链路连接在一起,形成一个灵活且高效的拓扑结构。理解这些组件及其功能,可以帮助你更好地设计和调试 PCIe 系统。希望这些详细的解释和图解能够帮助你更好地理解和应用 PCIe 技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值