1. PCIE基础入门知识

GT/s 是"每秒十亿次传输"

时间版本速率
2003Pcie 1.02.5GT/s
2006PCIE 2.05GT/s
2010PCIE 3.08GT/s
2017PCIE 4.016GT/s

高速接口:雷电接口(PCIEx4接口 ) PCIE接口

工作模式:Endpoint 和 Root Port。
Endpoint(终端)指的是 PCIe 总线中的最终设备,例如显卡、网卡等外部设备。Endpoint 是数据传输的最终目的地或来源,可以发送或接收数据。每个 Endpoint 都有一个唯一的地址,用于标识它在总线上的位置。
Root Port(根端口)是 PCIe 总线的起始点,通常是主板上的插槽,用于连接外部设备。Root Port 负责管理总线流量、路由数据以及与 Endpoint 通信。它是连接外部设备和计算机主机的桥梁,负责控制数据的发送和接收。
简而言之,Endpoint 是最终设备,Root Port 是连接外部设备和计算机主机的接口。数据从 Root Port 发送到 Endpoint 或从 Endpoint 接收到 Root Port。这些术语在 PCIe 架构中用于描述数据传输的起点和终点。

PCIE GEN1 GEN2 GEN3 与 x1 x2 x4 x16 的区别
PCI-E、PCI、PCI-X,以及×1、×4、×8、×16和Gen1、Gen2、Gen3的区别

| PCI Express
版本 | 推出 | Line
编码 | 原始
传输率[i] | 带宽(每个方向)[i] | | | | |
| — | — | — | — | — | — | — | — | — |
| | | | | ×1 | ×2 | ×4 | ×8 | ×16 |
| 1.0 | 2003 | 8b/10b | 2.5 GT
/s | 250 MB
/s | 0.50 GB/s | 1.0 GB
/s | 2.0 GB/s | 4.0 GB/s |
| 2.0 | 2007 | 8b/10b | 5.0 GT/s | 500 MB/s | 1.0 GB/s | 2.0 GB/s | 4.0 GB/s | 8.0 GB/s |
| 3.0 | 2010 | 128b/130b | 8.0 GT/s | 984.6 MB/s | 1.97 GB/s | 3.94 GB/s | 7.88 GB/s | 15.8 GB/s |
| 4.0 | 2017 | 128b/130b | 16.0 GT/s | 1969 MB/s | 3.94 GB/s | 7.88 GB/s | 15.75 GB/s | 31.5 GB/s |
| 5.0[5]
[6] | 2019[7]
[8] | NRZ 128b/130b | 32.0 GT/s[ii] | 3938 MB/s | 7.88 GB/s | 15.75 GB/s | 31.51 GB/s | 63.0 GB/s |
| 6.0 | 2021 | PAM4 & FEC FLIT 1b/1b | 64.0 GT/s | 7877 MB/s | 15.75 GB/s | 31.51 GB/s | 63.02 GB/s | 126.03 GB/s |

传输通道数脚Pin总数主接口区Pin数总长 度主接口区长度
x1361425 mm7.65 mm
x4644239 mm21.65 mm
x8987656 mm38.65 mm
x1616414289 mm71.65 mm

PCIE 2.0 传输特性:

  • 点对点传输(endpoint to root port)
  • 串行总线,使用更少的接口
  • 通道选择:x1 x2 x4 x8 x12 x16 x32
  • 全双工通信(rx 与 tx相互独立)
  • 基于数据包的协议传输
  • 2.5Gbps/5.0Gbps

image.png

TLP事务包的四种读写事务

地址空间事务类型用途
存储器读写传送数据 自/至系统存储器空间的一个单元
IO读写传送数据 自/至系统IO空间的一个单元
配置读写传送数据 自/至PCI兼容的、设备配置空间的一个单元
消息底线/厂商定义通常用于带内的消息传递和时间报告

TLP报具体的传输类型

image.png
image.png

TLP类型使用路由方法
MRd MRdlk MWr地址路由
IORd IOWr地址路由
CfgRd0 Cfgrd1 Cfgwr0 Cfgwr1ID路由
Msg MsgD地址路由、ID路由或隐含式路由
Cpl CpldID路由

理论带宽计算 基于Gen2 lan2

Gen2 的 理论传输速率为 5Gbps , 由于最后在并行转串行的过程中会有20%的开销,那么目前的速率为4Gbps, 转化为byte 则为 500MBps ,由于在TLP事务包中传输的数据是存在很多配置信息的所以实际传输的效率更低,我们使用的riffa的框架的转化效率也在80%,所以实际的传输效率在400MBps左右

浅谈PCIe体系结构 浅谈PCIe体系结构 - 1 - 目录 - 1 - 第I篇PCI体系结构概述 - 1 - 第1章PCI总线的基本知识 - 3 - 1.1 PCI总线的组成结构 - 6 - 1.1.1 HOST主桥 - 6 - 1.1.2 PCI总线 - 7 - 1.1.3 PCI设备 - 7 - 1.1.4 HOST处理器 - 8 - 1.1.5 PCI总线的负载 - 9 - 1.2 PCI总线的信号定义 - 10 - 1.2.1 地址和数据信号 - 10 - 1.2.2 接口控制信号 - 11 - 1.2.3 仲裁信号 - 13 - 1.2.4 中断请求等其他信号 - 14 - 1.3 PCI总线的存储器读写总线事务 - 15 - 1.3.1 PCI总线事务的时序 - 15 - 1.3.2 Posted和Non-Posted传送方式 - 16 - 1.3.3 HOST处理器访问PCI设备 - 17 - 1.3.4 PCI设备读写主存储器 - 19 - 1.3.5 Delayed传送方式 - 21 - 1.4 PCI总线的中断机制 - 23 - 1.4.1 中断信号与中断控制器的连接关系 - 23 - 1.4.2 中断信号与PCI总线的连接关系 - 24 - 1.4.3 中断请求的同步 - 25 - 1.5 PCI-X总线简介 - 28 - 1.5.1 Split总线事务 - 28 - 1.5.2 总线传送协议 - 28 - 1.5.3 基于数据块的突发传送 - 29 - 1.6 小结 - 29 - 第2章PCI总线的桥与配置 - 30 - 2.1 存储器域与PCI总线域 - 30 - 2.1.1 CPU域、DRAM域与存储器域 - 31 - 2.1.2 PCI总线域 - 32 - 2.1.3 处理器域 - 32 - 2.2 HOST主桥 - 34 - 2.2.1 PCI设备配置空间的访问机制 - 35 - 2.2.2 存储器域地址空间到PCI总线域地址空间的转换 - 37 - 2.2.3 PCI总线域地址空间到存储器域地址空间的转换 - 39 - 2.2.4 x86处理器的HOST主桥 - 42 - 2.3 PCI桥与PCI设备的配置空间 - 45 - 2.3.1 PCI桥 - 45 - 2.3.2 PCI Agent设备的配置空间 - 47 - 2.3.3 PCI桥的配置空间 - 50 - 2.4 PCI总线的配置 - 54 - 2.4.1 Type 01h和Type 00h配置请求 - 54 - 2.4.2 PCI总线配置请求的转换原则 - 56 - 2.4.3 PCI总线树Bus号的初始化 - 58 - 2.4.4 PCI总线Device号的分配 - 60 - 2.5 非透明PCI桥 - 62 - 2.5.1 Intel 21555中的配置寄存器 - 63 - 2.5.2 通过非透明桥片进行数据传递 - 65 - 2.6 小结 - 67 - 第3章PCI总线的数据交换 - 68 - 3.1 PCI设备BAR空间的初始化 - 68 - 3.1.1 存储器地址与PCI总线地址的转换 - 68 - 3.1.2 PCI设备BAR寄存器和PCI桥Base、Limit寄存器的初始化 - 70 - 3.2 PCI设备的数据传递 - 72 - 3.2.1 PCI设备的正向译码与负向译码 - 72 - 3.3.2 处理器到PCI设备的数据传送 - 74 - 3.2.3 PCI设备的DMA操作 - 74 - 3.2.4 PCI桥的Combining、Merging和Collapsing - 75 - 3.3 与Cache相关的PCI总线事务 - 77 - 3.3.1 Cache一致性的基本概念 - 77 - 3.3.2 PCI设备对不可Cache的存储器空间进行DMA读写 - 82 - 3.3.3 PCI设备对可Cache的存储器空间进行DMA读写 - 83 - 3.3.4 PCI设备进行DMA写时发生Cache命中 - 85 - 3.3.5 DMA写时发生Cache命中的优化 - 87 - 3.4 预读机制 - 89 - 3.4.1 Instruction Fetch - 89 - 3.4.2 数据预读 - 92 - 3.4.3 软件预读 - 94 - 3.4.4 硬件预读 - 96 - 3.4.5 PCI总线的预读机制 - 97 - 3.5 小结 - 101 - 第II篇PCI Express体系结构概述 - 102 - 第4章PCIe总线概述 - 104 - 4.1 PCIe总线的基础知识 - 104 - 4.1.1 端到端的数据传递 - 104 - 4.1.2 PCIe总线使用的信号 - 106 - 4.1.3 PCIe总线的层次结构 - 109 - 4.1.4 PCIe链路的扩展 - 111 - 4.2 PCIe体系结构的组成部件 - 114 - 4.2.1 基于PCIe架构的处理器系统 - 114 - 4.2.2 RC的组成结构 - 117 - 4.2.3 Switch - 118 - 4.2.4 VC和端口仲裁 - 120 - 4.2.5 PCIe-to-PCI/PCI-X桥片 - 122 - 4.3 PCIe设备的扩展配置空间 - 124 - 4.4 小结 - 125 - 第5章PCIe总线的事务层 - 126 - 5.1 TLP的格式 - 126 - 5.1.1 通用TLP头的Fmt字段和Type字段 - 127 - 5.1.2 TC字段 - 129 - 5.1.3 Attr字段 - 130 - 5.1.4 通用TLP头中的其他字段 - 131 - 5.2 TLP的路由 - 133 - 5.2.1 基于地址的路由 - 133 - 5.2.2 基于ID的路由 - 135 - 5.2.3 隐式路由 - 138 - 5.3 存储器、I/O和配置读写请求TLP - 139 - 5.3.1 存储器读写请求TLP - 139 - 5.3.2 完成报文 - 144 - 5.3.3 配置读写请求TLP - 146 - 5.3.4 消息请求报文 - 147 - 5.4 TLP中与数据负载相关的参数 - 148 - 5.4.1 Max_Payload_Size参数 - 148 - 5.4.2 Max_Read_Request_Size参数 - 149 - 5.4.3 RCB参数 - 149 - 5.5 小结 - 150 - 第6章 MSI和MSI-X中断机制 - 151 - 6.1 MSI/MSI-X Capability结构 - 152 - 6.1.1 MSI Capability结构 - 152 - 6.1.2 MSI-X Capability结构 - 154 - 6.2 PowerPC处理器如何处理MSI中断请求 - 158 - 6.2.1 MSI中断机制使用的寄存器 - 159 - 6.2.2 系统软件如何初始化PCIe设备的MSI Capability结构 - 162 - 6.3 x86处理器如何处理MSI-X中断请求 - 165 - 6.3.1 Message Address字段和Message Data字段的格式 - 165 - 6.3.2 FSB Interrupt Message总线事务 - 168 - 6.4 小结 - 169 - 结束语 - 170 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值