PCIe学习笔记——1.基本概念及拓扑结构

发布网友

我来回答

1个回答

热心网友

PCI Express,作为第三代高性能I/O总线,其核心变革在于从并行总线转向串行总线,以及采用点对点连接方式。在并行总线结构中,总线由桥接设备连接的设备组成,而在PCIe中,每条链路包含一条或多条通路,每条通路由两对差分信号线组成,没有专门的数据、地址、控制和时钟线,通过数据包进行传输。点对点连接使得每个设备独享带宽,有效提升传输速率。

本专栏专注于PCIe协议研究,从基础知识到深入理解,记录学习过程,与大家共同进步。PCIe采用点到点通信模式,全双工工作,基于数据包传输。连接两个PCIe设备的称为链路,链路内可包含多个通道,通过增加通道数量来满足更高的带宽需求。物理层面采用差分信号,一条通道包括两组差分信号,共四根信号线,多个通道组成PCIe链路。

计算PCIe吞吐量,方法为传输速率乘以编码方案。例如,PCIe1.0传输速率为2.5Gb/s,使用8/10编码,其单通道带宽为2.5Gb/s * 8/10bit = 2Gb/s = 2000Mb/s = 250MB/s;PCIe2.0传输速率为5Gb/s,同样使用8/10编码,带宽为4Gb/s = 4000Mb/s = 500MB/s;PCIe3.0传输速率为8Gb/s,使用128/130编码,单通道带宽约为7.8769Gb/s = 7876.9Mb/s = 984.6MB/s。

MB/s表示每秒传输的比特位数,MB/s表示每秒传输的字节数,1MB/s等于8Mb/s。

PCIe的典型拓扑结构由根复杂、开关和端点等PCIe设备组成。根复杂(RC)是CPU与PCIe拓扑的接口,负责解析和生成PCIe报文,将CPU请求转换为配置、内存、I/O和消息四种请求。端点(EP)是PCIe终端设备,如网卡、显卡等。PCI Express-PCI桥接设备连接其他PCI总线、PCI-X、PCIe总线。开关是PCIe的转接器设备,提供路由和转发服务,其内部结构由PCI桥组成,记录下游PCIe端口连接设备的PCIe地址,根据目的地址和下游设备地址判断是否转发以及转发到哪个PCIe端口。

PCIe定义了三层结构:事务层、数据链路层和物理层。事务层负责封装与解封装TLP包,实现QoS、流控和排序功能。数据链路层负责DLLP包的封装与解封装,确保传输的可靠性和错误检测与校正,使用Ack/Nak协议。物理层处理所有数据的物理传输,通过各种编码、扰码等技术实现数据在物理介质上的高效传输。

PCIe传输的数据以packet形式进行,每包有固定的格式,包括事务层提供的Header和Data,事务层在末尾添加ECRC字段,构成TLP包;数据链路层在TLP中添加序列号、LCRC字段,形成DLLP包;物理层将DLLP包分解并分发到各Lane传输,通过编码、扰码等技术,确保数据在物理介质上的可靠传输。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com