【IC每日一题:PCIE协议简介】


【博客首发于微信公众号《漫谈芯片与编程》,欢迎专注一下,多谢大家】
PCIE是高速串行计算机扩展总线标准,用于连接计算机内部的各种硬件设备,如显卡、网卡、存储设备等。

1 PCIE协议

1.1 PCIE总体架构

PCIE 总体框图:PCIE的架构主要有:Root Complex,PCIE Bus,EndPoint,Port and Bridge,Swith;


1.1.1 Root Complex

  • RC(Root Complext):Root Complext是整个PCIe设备树的根节点,CPU通过RC与PCIE的总线相连,并最终连接到所有的PCIe设备中;
    功能:
  • 初始化:负责初始化和配置整个 PCIe 拓扑结构。
  • 管理:管理和控制所有的 PCIe 设备,包括配置空间的访问、中断处理等。
  • 仲裁:处理多个设备之间的资源共享和访问仲裁。
  • 桥接:作为 PCIe 系统与其他系统总线(如 CPU 总线)之间的桥梁。

1.1.2 PCIe Bus

  • PCIE Bus:这个不是那种共享的数据总线,而是一个点对点的网络,表示一组连接路径;
    即当Root Complex或者PCIe上的设备之间需要通信的时候,它们会与对方直接连接或者通过交换电路进行点对点的信号传输。
    功能:
  • 数据传输:提供数据在不同设备之间传输的路径。
  • 地址空间:定义了 PCIe 系统中的地址空间,包括内存地址空间、I/O 地址空间和配置空间。
  • 事务管理:管理事务包(TLP)的生成、传输和解析。

1.1.3 Endpoint

  • Endpoint 是 PCIe 系统中的终端设备,如显卡、网卡、存储控制器等。
    功能:
  • 数据处理:处理来自 Root Complex 或其他设备的数据请求和响应。
  • 配置:通过配置空间进行设备配置和状态查询。
  • 中断:支持中断请求,通知 Root Complex 或其他设备有关事件的发生

1.1.4 Port and Bridge

Port and Bridge 是 PCIe 系统中的中间节点,用于连接不同的 PCIe 设备或子系统。
功能:

  • 桥接:将 PCIe 信号从一个域转换到另一个域,例如将 PCIe 信号转换为其他类型的总线信号。
  • 扩展:通过桥接器扩展 PCIe 系统的拓扑结构,增加更多的设备或子系统。
  • 路由:负责数据包的路由和转发,确保数据正确地到达目标设备。

1.1.5 Switch

Switch 是 PCIe 系统中的多端口设备,用于扩展 PCIe 拓扑结构,允许多个设备通过不同的链路连接到根复合体。
功能:

  • 多端口:支持多个 PCIe 端口,每个端口可以连接到不同的设备或子系统。
  • 路由:负责数据包的路由和转发,确保数据正确地到达目标设备。
  • 带宽管理:根据需要动态分配带宽,优化数据传输效率。
  • 配置:支持配置和管理多个端口和链路,提供灵活的拓扑结构。

一个典型的 PCIe 系统,包括以下组件:

  • Root Complex:位于主板上,由 CPU 和北桥芯片组组成。
  • Switch:用于扩展 PCIe 拓扑结构,连接多个设备。
  • Endpoints:包括显卡、网卡和 NVMe SSD。
  • Bridge:用于将 PCIe 信号转换为其他类型的总线信号,例如连接到 SATA 控制器。

1.2 PCIe的分层结构

PCIE协议也是分层结构:物理层、数据链路层和事务层;每个层次专门负责自己层次的职责;

1.2.1 事务层

功能

  • 事务包(TLP)生成与解析:事务层负责生成和解析事务包(Transaction Layer Packet, TLP),这些包包含了读写请求、配置请求、消息等。
  • 地址映射:将逻辑地址映射到物理地址,确保数据能够正确地传输到目标设备。
  • 事务管理:管理事务的状态,包括请求的发起、完成和重试机制。

常见事务类型

  • 内存读写(Memory Read/Write):用于访问内存地址空间的数据读写操作。
  • I/O
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值