PCIe学习记录

项目需求PCIe,坚持每天写一点,或多或少,或简单,或困难,逼自己写一写,当个学习记录了。有些来自spec,掺杂个人理解,如果有幸被业内人士过目,欢迎指正。

(主要参考PCIe 5.0以及6.0 spec)

PCIe概述

首先,GT/s用于指一秒钟内在Lane方向上传输的编码比特数。

下图为各版本PCIe数据速率、调制方式、编码方式、有效传输速率的对比。

Lane:一条链路必须至少支持一个Lane, 每个Lane代表一组差分信号对(一对用于发送,一对用于接收)。为了扩展带宽,一条链路可以聚合用xN表示的多个lane,其中N可以是任何支持的链路宽度。以2.5 GT/s数据速率运行的x8链路在每个方向上的原始带宽总计为20gb /s。(通常x1x2x4x8x16 Lane宽度)

该图为整体结构示例图。

RC

RC表示连接CPU/内存子系统I/O的I/O层次结构的根。一个RC可以支持一个或多个PCI Express Ports。每个接口定义一个单独的层次结构域。每个层次结构域可以由单个端点或包含一个或多个Switch组件和端点的子层次结构组成。

与SW的规则不同,当在层次域之间点对点路由事务时,RC通常允许将数据包拆分为更小的数据包(下面提到的情况除外),例如,将具有256字节有效载荷的单个数据包拆分为每个128字节有效载荷的两个数据包。拆分可以实现不同设备之间的数据传输,先统一数据长度格式再进行交互。但可能会影响性能。

RC必须支持作为请求者生成配置请求

允许RC作为请求者支持生成I/O请求

EP

EP可以是PCI Express事务的请求者或完成者,既可以代表自己,也可以代表不同的非PCI Express设备(PCI设备或主机CPU除外)。端点分为遗留、PCI Express或根复杂集成端点(RCiEPs)

SW

SW被定义为多个虚拟PCI-to-PCI Bridge设备的逻辑组装。如下图。

交换机不允许将数据包分成更小的数据包,例如,具有256字节有效载荷的单个数据包不得分成每个128字节有效载荷的两个数据包。

该图为PCIe层次结构示意图。

事务层(待补充)

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值